rendered paste bodyseg000:004017E5 ; int __stdcall sub_4017E5(patchstruc_t *)
seg000:004017E5 sub_4017E5 proc near ; CODE XREF: sub_401113+213p
seg000:004017E5 ; sub_401113+228p ...
seg000:004017E5
seg000:004017E5 arg_0 = dword ptr 8
seg000:004017E5
seg000:004017E5 000 push ebp
seg000:004017E6 004 mov ebp, esp
seg000:004017E8 004 mov ebx, [ebp+patchstruc_t.p_buffer_0]
seg000:004017EB 004 cmp byte ptr [ebx+patchstruc_t.is_option_turned_on], 1
seg000:004017EF 004 jz short loc_401810
seg000:004017F1 004 mov byte ptr [ebx+patchstruc_t.is_option_turned_on], 1
seg000:004017F5 004 push offset NumberOfBytesWritten ; lpNumberOfBytesWritten
seg000:004017FA 008 push [ebx+patchstruc_t.size] ; nSize
seg000:004017FD 00C lea eax, [ebx+patchstruc_t.p_buffer_1]
seg000:00401800 00C push eax ; lpBuffer
seg000:00401801 010 push [ebx+patchstruc_t.baseaddress] ; lpBaseAddress
seg000:00401803 014 push ProcessInformation.hProcess ; hProcess
seg000:00401809 018 call WriteProcessMemory
seg000:0040180E 004 jmp short locret_40182D
seg000:00401810 ; ---------------------------------------------------------------------------
seg000:00401810
seg000:00401810 loc_401810: ; CODE XREF: sub_4017E5+Aj
seg000:00401810 004 mov byte ptr [ebx+patchstruc_t.is_option_turned_on], 0
seg000:00401814 004 push offset NumberOfBytesWritten ; lpNumberOfBytesWritten
seg000:00401819 008 push [ebx+patchstruc_t.size] ; nSize
seg000:0040181C 00C lea eax, [ebx+patchstruc_t.p_buffer_0]
seg000:0040181F 00C push eax ; lpBuffer
seg000:00401820 010 push [ebx+patchstruc_t.baseaddress] ; lpBaseAddress
seg000:00401822 014 push ProcessInformation.hProcess ; hProcess
seg000:00401828 018 call WriteProcessMemory
seg000:0040182D
seg000:0040182D locret_40182D: ; CODE XREF: sub_4017E5+29j
seg000:0040182D 004 leave
seg000:0040182E 000 retn 4
seg000:0040182E sub_4017E5 endp