Function at 0x40205d
Capabilities:
Move file

Disassembly:
push ebp
xor eax, eax
mov ecx, 0x7c
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x608]
push ebx
sub esp, 0xa4c
mov esi, dword [ebp + 8]
mov byte [ebp - 0xa1d], 0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0xa18]
mov ecx, 0x40
mov dword [ebp - 0x60c], 0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x914]
mov ecx, 0x40
mov dword [ebp - 0xa1c], 0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x810]
mov ecx, 0x40
mov dword [ebp - 0x918], 0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x70c]
mov ecx, 0x40
mov dword [ebp - 0xa21], 0x6b61622e
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x414]
mov ecx, 0xff
mov dword [ebp - 0x814], 0
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xa1c]
mov dword [esp], esi
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov dword [ebp - 0x710], 0
mov dword [ebp - 0x418], 0
call fcn.00401dcb
test eax, eax
jns 0x402152
mov dword [esp + 0xc], 0
mov ebx, eax
mov dword [esp + 8], str.Hey_
mov dword [esp + 4], str.You_need_to_pick_a_file...
mov dword [esp], esi
call dword [sym.imp.USER32.dll_MessageBoxA]
sub esp, 0x10
jmp 0x4023f0
lea eax, [ebp - 0xa21]
mov dword [esp + 4], str._s_s
lea edi, [ebp - 0x814]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xa1c]
lea ebx, [ebp - 0x418]
mov dword [esp + 8], eax
lea eax, [ebp - 0x918]
mov dword [esp], eax
call fcn.00401618
lea eax, [ebp - 0xa1c]
lea edx, [ebp - 0x710]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
lea eax, [ebp - 0x60c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0x104
mov dword [esp], eax
call fcn.00401eae
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
lea edx, [ebp - 0x710]
mov dword [esp + 4], str.Name:___s_n
add eax, ebx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00401618
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 8], edi
add eax, ebx
mov dword [esp + 4], str.Dir:____s_n
mov dword [esp], eax
call fcn.00401618
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
lea edx, [ebp - 0xa1c]
mov dword [esp + 4], str.Path:___s_n
add eax, ebx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00401618
lea eax, [ebp - 0xa1c]
mov dword [esp], eax
call fcn.00401f60
mov edi, eax
test eax, eax
jne 0x402252
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Hey_
mov dword [esp + 4], str.Cant_access_file.
jmp 0x40229e
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 8], edi
add ebx, eax
mov dword [esp + 4], str.Size:___d_n
mov dword [esp], ebx
call fcn.00401618
mov dword [esp + 4], 1
mov dword [esp], edi
call sub.msvcrt.dll_calloc
mov ebx, eax
test eax, eax
jne 0x4022af
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Hey_
mov dword [esp + 4], str.Cant_allocate_memory_to_load_file.
mov dword [esp], esi
call dword [sym.imp.USER32.dll_MessageBoxA]
sub esp, 0x10
jmp 0x4023cb
lea eax, [ebp - 0xa1c]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00401fb7
test eax, eax
jns 0x4022e6
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Hey_
mov dword [esp + 4], str.Cant_load_file.
jmp 0x402378
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00401d91
test eax, eax
jns 0x402310
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Hey_
mov dword [esp + 4], str.Public_key_not_found._Nothing_was_patched_
jmp 0x402378
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [esp + 0xc], 0x24
mov dword [esp + 8], str.HEY_
mov dword [esp + 4], str.Do_you_want_to_make_a_backup_copy_of_the_file_s__before_applying_the_patch_
mov dword [esp], esi
mov dword [ebp - 0xa2c], eax
call dword [sym.imp.USER32.dll_MessageBoxA]
sub esp, 0x10
cmp eax, 6
jne 0x402383
lea eax, [ebp - 0x918]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa1c]
mov dword [esp], eax
call sub.msvcrt.dll_rename
test eax, eax
je 0x402383
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Hey_
mov dword [esp + 4], str.Unable_to_save_a_backup_copy_of_the_file.
mov dword [esp], esi
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4023c0
lea eax, [ebp - 0xa1c]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040200c
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Hey_
test eax, eax
jns 0x4023d0
mov dword [esp + 4], str.Unable_to_save_file._Make_sure_its_not_in_use_and_you_have_write_privileges.
mov eax, dword [ebp - 0xa2c]
mov dword [esp], esi
call eax
sub esp, 0x10
mov dword [esp], ebx
call sub.msvcrt.dll_free
or ebx, 0xffffffff
jmp 0x4023f0
mov dword [esp + 4], str.File_patched_successfully__n_nEnjoy_it_
mov eax, dword [ebp - 0xa2c]
mov dword [esp], esi
call eax
sub esp, 0x10
mov dword [esp], ebx
xor ebx, ebx
call sub.msvcrt.dll_free
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret