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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1008c
call fcn.00557630
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.005593b0
add esp, 0xc
lea eax, [esp + 0x50]
push 0x48
push 0
push eax
call fcn.005593b0
add esp, 0xc
lea ecx, [esp + 0x18]
mov edx, esi
call fcn.004162f0
test eax, eax
jne 0x414504
push str.dir_patch_check_hpatch_TFileStreamInput_open_oldFile_oldFileName_utf8__error__n
push 2
call fcn.0055f14d
add esp, 4
push eax
call fcn.00402b80
add esp, 8
xor ebx, ebx
jmp 0x41464b
test ebx, ebx
je 0x414529
push dword [esp + 0x24]
mov edx, ebx
lea ecx, [esp + 0x54]
push dword [esp + 0x24]
call fcn.004167d0
add esp, 8
test eax, eax
jne 0x414529
push str.dir_patch_check_hpatch_TFileStreamOutput_open_newFile_newFileName_utf8_oldFile.base.streamSize__error__n
jmp 0x4144ea
mov edx, dword [esp + 0x24]
test edx, edx
jb 0x41460a
mov ecx, dword [esp + 0x20]
ja 0x414543
test ecx, ecx
je 0x41460a
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 0x414572
ja 0x41456e
cmp dword [esp + 0x10], ecx
jbe 0x414572
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 0x41463c
cmp dword [esp + 0xc], 0
je 0x4145c5
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 0x414632
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4145e7
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 0x414606
mov ecx, dword [esp + 0x20]
jb 0x414550
cmp esi, ecx
jb 0x414550
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x414646
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x58]
jne 0x414628
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x5c]
je 0x414646
push str.dir_patch_check_newFile.out_lengthnewFile.base.streamSize_error__n
jmp 0x4144ea
push str.dir_patch_check_newFile.base.write_newFile.base_pos_temp_cache_temp_cachecopyLen__error__n
jmp 0x4144ea
push str.dir_patch_check_oldFile.base.read_oldFile.base_pos_temp_cache_temp_cachecopyLen__error__n
jmp 0x4144ea
mov ebx, 1
mov eax, dword [esp + 0x80]
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x41465d
xor ebx, ebx
mov dword [esi], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x414669
xor ebx, ebx
mov dword [esi], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4146e4
push eax
mov dword [esp + 0x6c], 0
call fcn.00560ba2
add esp, 4
test eax, eax
je 0x4146e4
call fcn.0055f457
mov edi, dword [eax]
mov eax, dword [esp + 0x80]
cmp eax, edi
je 0x4146d2
test edi, edi
je 0x4146d2
test eax, eax
push edi
cmove eax, edi
mov dword [esp + 0x84], eax
call fcn.0055f714
add esp, 4
push eax
push edi
push str.call_import_system_api_error__errno:__d__errmsg:__s._n
push 2
call fcn.0055f14d
add esp, 4
push eax
call fcn.00402b80
mov eax, dword [esp + 0x90]
add esp, 0x10
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, eax
je 0x4146e4
test eax, eax
je 0x4146e4
test ecx, ecx
jne 0x4146e4
mov dword [esi], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x41475d
push eax
mov dword [esp + 0x34], 0
call fcn.00560ba2
add esp, 4
test eax, eax
je 0x41475d
call fcn.0055f457
mov edi, dword [eax]
mov eax, dword [esp + 0x48]
cmp eax, edi
je 0x414744
test edi, edi
je 0x414744
test eax, eax
push edi
cmove eax, edi
mov dword [esp + 0x4c], eax
call fcn.0055f714
add esp, 4
push eax
push edi
push str.call_import_system_api_error__errno:__d__errmsg:__s._n
push 2
call fcn.0055f14d
add esp, 4
push eax
call fcn.00402b80
mov eax, dword [esp + 0x58]
add esp, 0x10
mov ecx, dword [esi]
cmp ecx, eax
je 0x414754
test eax, eax
je 0x414754
test ecx, ecx
jne 0x414754
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