Function at 0x4153c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1008c
call fcn.005589e0
push ebx
push esi
push edi
push 0x38
lea eax, [esp + 0x1c]
mov ebx, edx
xorps xmm0, xmm0
mov dword [esp + 0x10], ebx
push 0
push eax
mov esi, ecx
movlpd qword [esp + 0x1c], xmm0
call fcn.0055a650
add esp, 0xc
lea eax, [esp + 0x50]
push 0x48
push 0
push eax
call fcn.0055a650
add esp, 0xc
lea ecx, [esp + 0x18]
mov edx, esi
call fcn.004172b0
test eax, eax
jne 0x415434
push str.dir_patch_check_hpatch_TFileStreamInput_open_oldFile_oldFileName_utf8__error__n
push 2
call fcn.00562462
add esp, 4
push eax
call fcn.00402c50
add esp, 8
xor ebx, ebx
jmp 0x41557b
test ebx, ebx
je 0x415459
push dword [esp + 0x24]
mov edx, ebx
lea ecx, [esp + 0x54]
push dword [esp + 0x24]
call fcn.00417780
add esp, 8
test eax, eax
jne 0x415459
push str.dir_patch_check_hpatch_TFileStreamOutput_open_newFile_newFileName_utf8_oldFile.base.streamSize__error__n
jmp 0x41541a
mov edx, dword [esp + 0x24]
test edx, edx
jb 0x41553a
mov ecx, dword [esp + 0x20]
ja 0x415473
test ecx, ecx
je 0x41553a
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
nop dword [eax + eax]
mov edi, 0x10000
mov eax, esi
add eax, edi
mov dword [esp + 0x10], eax
mov eax, ebx
adc eax, 0
cmp eax, edx
jb 0x4154a2
ja 0x41549e
cmp dword [esp + 0x10], ecx
jbe 0x4154a2
mov edi, ecx
sub edi, esi
lea eax, [esp + 0x98]
add eax, edi
push eax
lea eax, [esp + 0x9c]
push eax
push ebx
lea eax, [esp + 0x24]
push esi
push eax
call dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x41556c
cmp dword [esp + 0xc], 0
je 0x4154f5
lea eax, [esp + 0x98]
add eax, edi
push eax
lea eax, [esp + 0x9c]
push eax
push ebx
lea eax, [esp + 0x5c]
push esi
push eax
call dword [esp + 0x78]
add esp, 0x14
test eax, eax
je 0x415562
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x415517
lea eax, [esp + 0x98]
add eax, edi
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [ecx + 4]
push ecx
call eax
add esp, 0xc
mov edx, dword [esp + 0x24]
add esi, edi
adc ebx, 0
cmp ebx, edx
ja 0x415536
mov ecx, dword [esp + 0x20]
jb 0x415480
cmp esi, ecx
jb 0x415480
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x415576
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x58]
jne 0x415558
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x5c]
je 0x415576
push str.dir_patch_check_newFile.out_lengthnewFile.base.streamSize_error__n
jmp 0x41541a
push str.dir_patch_check_newFile.base.write_newFile.base_pos_temp_cache_temp_cachecopyLen__error__n
jmp 0x41541a
push str.dir_patch_check_oldFile.base.read_oldFile.base_pos_temp_cache_temp_cachecopyLen__error__n
jmp 0x41541a
mov ebx, 1
mov eax, dword [esp + 0x80]
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x41558d
xor ebx, ebx
mov dword [esi], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x415599
xor ebx, ebx
mov dword [esi], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x415614
push eax
mov dword [esp + 0x6c], 0
call fcn.0056428d
add esp, 4
test eax, eax
je 0x415614
call fcn.00562809
mov edi, dword [eax]
mov eax, dword [esp + 0x80]
cmp eax, edi
je 0x415602
test edi, edi
je 0x415602
test eax, eax
push edi
cmove eax, edi
mov dword [esp + 0x84], eax
call fcn.00562b53
add esp, 4
push eax
push edi
push str.call_import_system_api_error__errno:__d__errmsg:__s._n
push 2
call fcn.00562462
add esp, 4
push eax
call fcn.00402c50
mov eax, dword [esp + 0x90]
add esp, 0x10
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, eax
je 0x415614
test eax, eax
je 0x415614
test ecx, ecx
jne 0x415614
mov dword [esi], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x41568d
push eax
mov dword [esp + 0x34], 0
call fcn.0056428d
add esp, 4
test eax, eax
je 0x41568d
call fcn.00562809
mov edi, dword [eax]
mov eax, dword [esp + 0x48]
cmp eax, edi
je 0x415674
test edi, edi
je 0x415674
test eax, eax
push edi
cmove eax, edi
mov dword [esp + 0x4c], eax
call fcn.00562b53
add esp, 4
push eax
push edi
push str.call_import_system_api_error__errno:__d__errmsg:__s._n
push 2
call fcn.00562462
add esp, 4
push eax
call fcn.00402c50
mov eax, dword [esp + 0x58]
add esp, 0x10
mov ecx, dword [esi]
cmp ecx, eax
je 0x415684
test eax, eax
je 0x415684
test ecx, ecx
jne 0x415684
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret