Function at 0x402fb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x770
push esi
push edi
push ecx
lea edi, [ebp - 0x770]
mov ecx, 0x1dc
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 4], ecx
cmp dword [ebp + 8], 0
jne 0x402fdf
xor eax, eax
jmp 0x403217
cmp dword [ebp + 0xc], 0
jne 0x402fec
xor eax, eax
jmp 0x403217
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
push ecx
push 1
push 1
lea edx, [ebp - 0x29]
push edx
call fcn.00616930
add esp, 0x10
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
push 0x200
push 0
lea ecx, [ebp - 0x240]
push ecx
call fcn.00614f30
add esp, 0xc
lea edx, [ebp - 0xc]
push edx
push str._02X
mov eax, dword [ebp - 0x20]
push eax
call fcn.00615b70
add esp, 0xc
test eax, eax
jle 0x40306f
cmp dword [ebp - 0x14], 0x200
jge 0x40306f
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0xc]
mov byte [ebp + ecx - 0x240], dl
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x20]
add ecx, 2
mov dword [ebp - 0x20], ecx
jmp 0x40302c
push 0x100
lea edx, [ebp - 0x240]
push edx
lea eax, [ebp - 0x768]
push eax
call fcn.00401920
add esp, 0xc
mov cl, byte [ebp + 0x14]
mov byte [ebp - 0x21], cl
mov dword [ebp - 0x1c], 0
jmp 0x4030a2
mov edx, dword [ebp - 0x1c]
add edx, 0x10
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
jge 0x403199
mov ecx, dword [ebp + 8]
push ecx
push 0x10
push 1
lea edx, [ebp - 0x648]
push edx
call fcn.00616930
add esp, 0x10
cmp eax, 0x10
je 0x40311a
mov esi, esp
push 0
push str.Error__
push str.Header_Version_Error__
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00614e40
push 0x400
push 0
lea eax, [ebp - 0x648]
push eax
call fcn.00614f30
add esp, 0xc
push 0x118
push 0
lea ecx, [ebp - 0x768]
push ecx
call fcn.00614f30
add esp, 0xc
xor eax, eax
jmp 0x403217
lea edx, [ebp - 0x648]
push edx
lea eax, [ebp - 0x648]
push eax
push 0
lea ecx, [ebp - 0x768]
push ecx
call fcn.00401ca0
add esp, 0x10
mov dword [ebp - 0x770], 0
jmp 0x403154
mov edx, dword [ebp - 0x770]
add edx, 1
mov dword [ebp - 0x770], edx
cmp dword [ebp - 0x770], 0x10
jge 0x403194
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x770]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x770]
mov dl, byte [ebp + edx - 0x648]
mov byte [ecx + eax], dl
movsx eax, byte [ebp - 0x21]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x770]
mov edx, dword [ebp + 0xc]
movsx ecx, byte [edx + ecx]
add eax, ecx
mov byte [ebp - 0x21], al
jmp 0x403145
jmp 0x403099
mov edx, dword [ebp + 8]
push edx
push 1
push 1
lea eax, [ebp - 0x35]
push eax
call fcn.00616930
add esp, 0x10
movsx ecx, byte [ebp - 0x29]
movsx edx, byte [ebp - 0x35]
cmp ecx, edx
jne 0x4031c5
movsx eax, byte [ebp - 0x29]
movsx ecx, byte [ebp - 0x21]
cmp eax, ecx
je 0x403212
mov esi, esp
push 0
push str.Error__
push str.Header_Version_Error__
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00614e40
push 0x400
push 0
lea edx, [ebp - 0x648]
push edx
call fcn.00614f30
add esp, 0xc
push 0x118
push 0
lea eax, [ebp - 0x768]
push eax
call fcn.00614f30
add esp, 0xc
xor eax, eax
jmp 0x403217
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x403240]
call fcn.00614e70
pop eax
pop edx
pop edi
pop esi
add esp, 0x770
cmp ebp, esp
call fcn.00614e40
mov esp, ebp
pop ebp
ret 0x10