Function at 0x412b80
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x524
mov eax, dword [0x5053c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x524], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0
mov byte [ebp - 0x118], 0
xor eax, eax
mov dword [ebp - 0x117], eax
mov dword [ebp - 0x113], eax
mov dword [ebp - 0x10f], eax
mov dword [ebp - 0x10b], eax
mov dword [ebp - 0x107], eax
mov dword [ebp - 0x103], eax
mov dword [ebp - 0xff], eax
mov word [ebp - 0xfb], ax
mov byte [ebp - 0xf9], al
push 0xe0
push 0
lea ecx, [ebp - 0xf8]
push ecx
call fcn.00480360
add esp, 0xc
mov byte [ebp - 0x520], 0
push 0x3ff
push 0
lea edx, [ebp - 0x51f]
push edx
call fcn.00480360
add esp, 0xc
push 0x4d7ab0
mov eax, dword [ebp + 0xc]
push eax
call fcn.00480f2b
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x412c3b
xor eax, eax
jmp 0x412ecd
mov ecx, dword [ebp - 0x10]
push ecx
push 0x400
push 1
lea edx, [ebp - 0x520]
push edx
call fcn.00485de4
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jge 0x412c71
mov eax, dword [ebp - 0x10]
push eax
call fcn.00480c29
add esp, 4
xor eax, eax
jmp 0x412ecd
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x524]
call fcn.0041cbe0
test eax, eax
je 0x412cd1
lea edx, [ebp - 0x518]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x11c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx + 1]
shl eax, 8
add ecx, eax
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx + 2]
shl eax, 0x10
add ecx, eax
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
shl ecx, 2
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x10
mov dword [ebp - 4], edx
jmp 0x412e1b
push str.SP30
mov eax, dword [ebp + 8]
push eax
call fcn.004815f0
add esp, 8
test eax, eax
jne 0x412d59
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x11c]
movzx edx, byte [ecx + 1]
shl edx, 8
add eax, edx
mov ecx, dword [ebp - 0x11c]
movzx edx, byte [ecx + 2]
shl edx, 0x10
add eax, edx
mov ecx, dword [ebp - 0x11c]
movzx edx, byte [ecx + 3]
shl edx, 0x18
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
and eax, 0x3ffffff
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
shl ecx, 2
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x100000
jb 0x412d54
mov edx, dword [ebp - 4]
sub edx, 0x100000
mov dword [ebp - 4], edx
jmp 0x412e1b
push str.MT30
mov eax, dword [ebp + 8]
push eax
call fcn.004815f0
add esp, 8
test eax, eax
je 0x412dad
push str.D300
mov ecx, dword [ebp + 8]
push ecx
call fcn.004815f0
add esp, 8
test eax, eax
je 0x412dad
push str.D200
mov edx, dword [ebp + 8]
push edx
call fcn.004815f0
add esp, 8
test eax, eax
je 0x412dad
push str.D210
mov eax, dword [ebp + 8]
push eax
call fcn.004815f0
add esp, 8
test eax, eax
jne 0x412e1b
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x11c]
movzx edx, byte [ecx + 1]
shl edx, 8
add eax, edx
mov ecx, dword [ebp - 0x11c]
movzx edx, byte [ecx + 2]
shl edx, 0x10
add eax, edx
mov ecx, dword [ebp - 0x11c]
movzx edx, byte [ecx + 3]
shl edx, 0x18
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
and eax, 0x3ffffff
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
shl ecx, 2
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x1000000
jb 0x412e1b
mov edx, dword [ebp - 4]
sub edx, 0x1000000
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
jne 0x412e34
mov eax, dword [ebp - 0x10]
push eax
call fcn.00480c29
add esp, 4
xor eax, eax
jmp 0x412ecd
push 0
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call fcn.00485ae7
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x412e5f
mov eax, dword [ebp - 0x10]
push eax
call fcn.00480c29
add esp, 4
xor eax, eax
jmp 0x412ecd
mov ecx, dword [ebp - 0x10]
push ecx
push 1
push pe_nt_image_headers32
lea edx, [ebp - 0x118]
push edx
call fcn.00485de4
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jge 0x412e92
mov eax, dword [ebp - 0x10]
push eax
call fcn.00480c29
add esp, 4
xor eax, eax
jmp 0x412ecd
push 0x20
lea ecx, [ebp - 0x118]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00481150
add esp, 0xc
push 0x10
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00481150
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
call fcn.00480c29
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00480296
mov esp, ebp
pop ebp
ret 0x10