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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1008c
call fcn.00559000
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.0055ab60
add esp, 0xc
lea eax, [esp + 0x50]
push 0x48
push 0
push eax
call fcn.0055ab60
add esp, 0xc
lea ecx, [esp + 0x18]
mov edx, esi
call fcn.00417650
test eax, eax
jne 0x4157c4
push str.dir_patch_check_hpatch_TFileStreamInput_open_oldFile_oldFileName_utf8__error__n
push 2
call fcn.00562942
add esp, 4
push eax
call fcn.00402c20
add esp, 8
xor ebx, ebx
jmp 0x41590b
test ebx, ebx
je 0x4157e9
push dword [esp + 0x24]
mov edx, ebx
lea ecx, [esp + 0x54]
push dword [esp + 0x24]
call fcn.00417b20
add esp, 8
test eax, eax
jne 0x4157e9
push str.dir_patch_check_hpatch_TFileStreamOutput_open_newFile_newFileName_utf8_oldFile.base.streamSize__error__n
jmp 0x4157aa
mov edx, dword [esp + 0x24]
test edx, edx
jb 0x4158ca
mov ecx, dword [esp + 0x20]
ja 0x415803
test ecx, ecx
je 0x4158ca
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 0x415832
ja 0x41582e
cmp dword [esp + 0x10], ecx
jbe 0x415832
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 0x4158fc
cmp dword [esp + 0xc], 0
je 0x415885
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 0x4158f2
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4158a7
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 0x4158c6
mov ecx, dword [esp + 0x20]
jb 0x415810
cmp esi, ecx
jb 0x415810
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x415906
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x58]
jne 0x4158e8
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x5c]
je 0x415906
push str.dir_patch_check_newFile.out_lengthnewFile.base.streamSize_error__n
jmp 0x4157aa
push str.dir_patch_check_newFile.base.write_newFile.base_pos_temp_cache_temp_cachecopyLen__error__n
jmp 0x4157aa
push str.dir_patch_check_oldFile.base.read_oldFile.base_pos_temp_cache_temp_cachecopyLen__error__n
jmp 0x4157aa
mov ebx, 1
mov eax, dword [esp + 0x80]
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x41591d
xor ebx, ebx
mov dword [esi], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x415929
xor ebx, ebx
mov dword [esi], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4159a4
push eax
mov dword [esp + 0x6c], 0
call fcn.0056464d
add esp, 4
test eax, eax
je 0x4159a4
call fcn.00562ce9
mov edi, dword [eax]
mov eax, dword [esp + 0x80]
cmp eax, edi
je 0x415992
test edi, edi
je 0x415992
test eax, eax
push edi
cmove eax, edi
mov dword [esp + 0x84], eax
call fcn.00563033
add esp, 4
push eax
push edi
push str.call_import_system_api_error__errno:__d__errmsg:__s._n
push 2
call fcn.00562942
add esp, 4
push eax
call fcn.00402c20
mov eax, dword [esp + 0x90]
add esp, 0x10
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, eax
je 0x4159a4
test eax, eax
je 0x4159a4
test ecx, ecx
jne 0x4159a4
mov dword [esi], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x415a1d
push eax
mov dword [esp + 0x34], 0
call fcn.0056464d
add esp, 4
test eax, eax
je 0x415a1d
call fcn.00562ce9
mov edi, dword [eax]
mov eax, dword [esp + 0x48]
cmp eax, edi
je 0x415a04
test edi, edi
je 0x415a04
test eax, eax
push edi
cmove eax, edi
mov dword [esp + 0x4c], eax
call fcn.00563033
add esp, 4
push eax
push edi
push str.call_import_system_api_error__errno:__d__errmsg:__s._n
push 2
call fcn.00562942
add esp, 4
push eax
call fcn.00402c20
mov eax, dword [esp + 0x58]
add esp, 0x10
mov ecx, dword [esi]
cmp ecx, eax
je 0x415a14
test eax, eax
je 0x415a14
test ecx, ecx
jne 0x415a14
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