Function at 0x434480
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x70]
push esi
mov esi, eax
xor ebx, ebx
push edi
test esi, esi
jne 0x43449e
lea eax, [esi - 0x66]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0xc]
mov ecx, dword [esi]
push 0
push eax
push ecx
call dword [sym.imp.MSVCR90.dll_fseek]
add esp, 0xc
test eax, eax
je 0x4344bc
or ebx, 0xffffffff
jmp 0x4344e3
mov edi, dword [esi]
lea edx, [esp + 0x14]
push edx
call fcn.00434050
add esp, 4
test eax, eax
je 0x4344d4
or ebx, 0xffffffff
jmp 0x4344e3
cmp dword [esp + 0x14], 0x2014b50
je 0x4344e3
mov ebx, 0xffffff99
mov edi, dword [esi]
lea eax, [esp + 0x18]
push eax
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x4344f9
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x43450f
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x20]
push edx
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x434525
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x24]
push eax
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x43453b
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x28]
push ecx
call fcn.00434050
add esp, 4
test eax, eax
je 0x434551
or ebx, 0xffffffff
mov ecx, dword [esp + 0x28]
mov edi, dword [esi]
mov eax, ecx
shr eax, 0x10
mov edx, eax
and edx, 0x1f
mov dword [esp + 0x5c], edx
mov edx, eax
shr eax, 9
and eax, 0x7f
shr edx, 5
add eax, 0x7bc
and edx, 0xf
mov dword [esp + 0x64], eax
dec edx
mov eax, ecx
mov dword [esp + 0x60], edx
shr eax, 0xb
mov edx, ecx
and eax, 0x1f
mov dword [esp + 0x58], eax
shr edx, 5
and ecx, 0x1f
lea eax, [esp + 0x2c]
and edx, 0x3f
add ecx, ecx
push eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
call fcn.00434050
add esp, 4
test eax, eax
je 0x4345b6
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x30]
push ecx
call fcn.00434050
add esp, 4
test eax, eax
je 0x4345cc
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x34]
push edx
call fcn.00434050
add esp, 4
test eax, eax
je 0x4345e2
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x38]
push eax
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x4345f8
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x3c]
push ecx
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x43460e
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x40]
push edx
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x434624
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x44]
push eax
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x43463a
or ebx, 0xffffffff
mov edi, dword [esi]
lea ecx, [esp + 0x48]
push ecx
call fcn.00433fc0
add esp, 4
test eax, eax
je 0x434650
or ebx, 0xffffffff
mov edi, dword [esi]
lea edx, [esp + 0x4c]
push edx
call fcn.00434050
add esp, 4
test eax, eax
je 0x434666
or ebx, 0xffffffff
mov edi, dword [esi]
lea eax, [esp + 0x14]
push eax
call fcn.00434050
add esp, 4
test eax, eax
je 0x434686
or ebx, 0xffffffff
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
test ebx, ebx
jne 0x4346e1
test ebp, ebp
je 0x4346c0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x7c]
cmp eax, edx
jae 0x4346a1
mov byte [eax + ebp], bl
mov ecx, eax
jmp 0x4346a3
mov ecx, edx
test eax, eax
jbe 0x4346c0
test edx, edx
jbe 0x4346c0
mov edx, dword [esi]
push edx
push 1
push ecx
push ebp
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x434679
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4346d3
mov ecx, 0x14
lea esi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4346e1
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x5c
ret