Function at 0x402c4a
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x254
nop
mov eax, 0
mov byte [ebp - 0xc], al
mov eax, 3
push eax
mov eax, 0
push eax
lea eax, [ebp - 0xb]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 2
mov dword [ebp - 0x18], eax
mov eax, 0
mov dword [ebp - 0x50], eax
mov eax, 0x34
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x4c]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 1
mov byte [ebp - 0x5d], al
mov eax, 0xffffffff
mov dword [ebp - 0x240], eax
movsx eax, byte [0x406014]
cmp eax, 0
je 0x402cc7
mov eax, 0x406014
mov dword [ebp + 8], eax
mov eax, 0x406f6a
push eax
mov eax, dword [ebp + 8]
push eax
call sub.msvcrt.dll_fopen
add esp, 8
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 0
je 0x402ced
jmp 0x402d09
mov eax, dword [ebp + 8]
push eax
mov eax, str.100_ERROR:_Cant_open__s_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 1
jmp 0x4046e6
mov eax, 0x406f93
push eax
mov eax, 0x406f87
push eax
call sub.msvcrt.dll_fopen
add esp, 8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 0
je 0x402d31
jmp 0x402d4d
mov eax, dword [ebp + 8]
push eax
mov eax, str.2_ERROR:_Cant_open__s_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 2
jmp 0x4046e6
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov eax, 1
push eax
mov eax, 0x1dc
push eax
lea eax, [ebp - 0x23c]
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 2
jge 0x402ddd
jmp 0x402dc0
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x402da4
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xc]
add ecx, eax
push ecx
mov eax, 0x406fae
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
jmp 0x402db5
mov eax, 8
push eax
mov eax, 0x406fb1
push eax
lea eax, [ebp - 0x23c]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
cmp eax, 0
jne 0x402f65
mov eax, dword [0x406010]
cmp eax, 1
jne 0x402e22
mov eax, dword [ebp + 8]
push eax
mov eax, str._s_is_PS_X_EXE.__n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 2
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_ftell
add esp, 4
mov dword [ebp - 0x250], eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 0x250]
push eax
call sub.msvcrt.dll_malloc
add esp, 4
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
cmp eax, 0
jne 0x402eb8
mov eax, str.PS_X_EXE_binary_memory_failed_allocation_n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 3
jmp 0x4046e6
mov eax, dword [ebp - 0x250]
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 0x254]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x250]
push eax
mov eax, 1
push eax
mov eax, dword [ebp - 0x254]
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fflush
add esp, 4
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x250]
push eax
mov eax, 1
push eax
mov eax, dword [ebp - 0x254]
push eax
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fflush
add esp, 4
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fclose
add esp, 4
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fclose
add esp, 4
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call sub.msvcrt.dll_fflush
add esp, 4
mov eax, 0
jmp 0x4046e6
movsx eax, byte [ebp - 0x23c]
cmp eax, 0x43
jne 0x402fc4
movsx eax, byte [ebp - 0x23b]
cmp eax, 0x50
jne 0x402fc4
movsx eax, byte [ebp - 0x23a]
cmp eax, 0x45
jne 0x402fc4
mov eax, dword [ebp + 8]
push eax
mov eax, str.CRITICAL_ERROR_____is_a_CPE_binary_file_which_is_not_supported._n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, str.Create_a_PS_X_EXE_with_CPE2X_or_CPE2PSX_and_try_again._n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x6f
jmp 0x4046e6
movsx eax, byte [ebp - 0x23c]
cmp eax, 0x62
je 0x402fe9
movsx eax, byte [ebp - 0x23b]
cmp eax, 1
je 0x402fe9
jmp 0x403e64
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403038
movzx eax, word [ebp - 0x23a]
push eax
mov eax, str.ECOFF_NET_YAROZE_A.OUT_binary___sections:__d_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x218]
push eax
mov eax, 0x40709d
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x1f4]
push eax
mov eax, 0x4070bf
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx ecx, word [ebp - 0x23a]
cmp eax, ecx
jge 0x403dbd
jmp 0x403062
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x403040
mov eax, dword [0x406010]
cmp eax, 1
jne 0x4030a0
mov eax, dword [ebp - 0x10]
inc eax
mov ecx, dword [ebp - 0x10]
mov edx, 0x28
imul ecx, edx
lea edx, [ebp - 0x1f0]
add edx, ecx
push edx
movzx ecx, word [ebp - 0x23a]
push ecx
push eax
mov eax, str._nECOFF__sections:__d__d__s_n
push eax
call sub.msvcrt.dll_printf
add esp, 0x10
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
mov eax, str..text
push eax
push ecx
call sub.msvcrt.dll_strcmp
add esp, 8
cmp eax, 0
je 0x4030d0
jmp 0x4031f6
mov eax, 2
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 8
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403128
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x407101
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x40318f
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea edx, [ebp - 0x50]
add edx, eax
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, 0x407110
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x14
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x4031e8
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x407123
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
jmp 0x403db8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
mov eax, str..rdata
push eax
push ecx
call sub.msvcrt.dll_strcmp
add esp, 8
cmp eax, 0
je 0x403226
jmp 0x40334c
mov eax, 5
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 8
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x40327e
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x40713a
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x4032e5
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea edx, [ebp - 0x50]
add edx, eax
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, 0x407149
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x14
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x40333e
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x40715c
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
jmp 0x403db8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
mov eax, str..data
push eax
push ecx
call sub.msvcrt.dll_strcmp
add esp, 8
cmp eax, 0
je 0x40337c
jmp 0x4034a2
mov eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 8
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x4033d4
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, str.s_paddr:__X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x40343b
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea edx, [ebp - 0x50]
add edx, eax
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, 0x40717f
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x14
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403494
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x407192
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
jmp 0x403db8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
mov eax, str..sdata
push eax
push ecx
call sub.msvcrt.dll_strcmp
add esp, 8
cmp eax, 0
je 0x4034d2
jmp 0x4035f8
mov eax, 0xb
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 8
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x40352a
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x4071a9
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403591
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea edx, [ebp - 0x50]
add edx, eax
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, 0x4071b8
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x14
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x4035ea
mov eax, dword [ebp - 0x18]
shl eax, 2
lea ecx, [ebp - 0x50]
add ecx, eax
mov eax, dword [ecx]
push eax
mov eax, 0x4071cb
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc eax
mov dword [ebp - 0x18], eax
jmp 0x403db8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
mov eax, str..lit8
push eax
push ecx
call sub.msvcrt.dll_strstr
add esp, 8
cmp eax, 0
jbe 0x4038b3
mov eax, dword [0x406010]
cmp eax, 1
jne 0x4037be
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
push ecx
mov eax, 0x4071e1
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x40720f
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
push eax
mov eax, 0x40725d
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, 0x407287
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, 0x4072b4
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x40730b
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x40732e
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x40737d
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x4073b2
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x4073d3
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
push eax
mov eax, str..lit8:_s_paddr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, str..lit8:_s_size:_0x_X___d__n
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx]
push eax
mov eax, str..lit8:_s_scnptr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x407426
push eax
call sub.msvcrt.dll_printf
add esp, 4
jmp 0x4037fc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
push ecx
mov eax, 0x407428
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x407456
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, 0x407485
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
mov dword [ebp - 0x24c], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403847
mov eax, dword [ebp - 0x24c]
push eax
mov eax, 0x4074b7
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ecx]
mov dword [ebp - 0x248], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403890
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, 0x4074c6
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx]
mov dword [ebp - 0x244], eax
jmp 0x403db8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
mov eax, str..lit4
push eax
push ecx
call sub.msvcrt.dll_strstr
add esp, 8
cmp eax, 0
jbe 0x403d0d
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
push eax
mov eax, 0x4074df
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, 0x4074f7
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx]
push eax
mov eax, 0x407513
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x40752c
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x240]
push eax
mov eax, str.litPos_:__d_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x240]
cmp eax, 0xffffffff
jne 0x403c52
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x240], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403b42
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
push ecx
mov eax, 0x40753b
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, str.WARNING:_Conversion_with_this_section_is_buggy_and_may_crash_your_program____n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
push eax
mov eax, str.WARNING:_Address_space_in_question:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, str.WARNING:_Size_in_question:_0x_X___d__bytes__n
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, str.WARNING:_This_typically_happens_with_the_C:PSX3_compiler_when_using_software_floats._n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, str.WARNING:_If_your_program_crashes:_n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, str.WARNING:_1__Note_address_of_crash__check_mapfile__remove_floats_or_doubles.___n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, str.WARNING:_2__Use_a_different_compiler....._Sorry_:___n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, str.WARNING:_3__Fix_this_code___:___n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, str.WARNING:___n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
push eax
mov eax, str..lit4:_s_paddr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, str..lit4:_s_size:_0x_X___d__n
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx]
push eax
mov eax, str..lit4:_s_scnptr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x407780
push eax
call sub.msvcrt.dll_printf
add esp, 4
jmp 0x403b80
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
push ecx
mov eax, str._n_nWARNING:_Experimental_section_detected:__s_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, str.WARNING:_The_psx.exe_may_results_in_crashing._n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, str.WARNING:_Turn_verbose_on__v_to_see_full_message._n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
mov dword [ebp - 0x24c], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403bc2
mov eax, dword [ebp - 0x24c]
push eax
mov eax, 0x407811
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ecx]
mov dword [ebp - 0x248], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403c0b
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, 0x407820
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx]
mov dword [ebp - 0x244], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403c4d
mov eax, dword [ebp - 0x244]
push eax
mov eax, 0x407833
push eax
call sub.msvcrt.dll_printf
add esp, 8
jmp 0x403d08
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403c6f
mov eax, str..lit8_processed__now_adding_.lit4_size__n
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403c93
mov eax, dword [ebp - 0x24c]
push eax
mov eax, 0x40786c
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x248]
mov edx, dword [ecx]
add eax, edx
mov dword [ebp - 0x248], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403ce4
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, 0x40787b
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403d08
mov eax, dword [ebp - 0x244]
push eax
mov eax, 0x40788e
push eax
call sub.msvcrt.dll_printf
add esp, 8
jmp 0x403db8
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403db8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 8
mov eax, dword [ecx]
push eax
mov eax, str.Skipped:_s_paddr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x10
mov eax, dword [ebp - 0x10]
mov edx, 0x28
imul eax, edx
lea edx, [ebp - 0x1f0]
add edx, eax
add edx, 0x10
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
mov eax, str.Skipped:_s_size:_0x_X___d__n
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, 0x28
imul eax, ecx
lea ecx, [ebp - 0x1f0]
add ecx, eax
add ecx, 0x14
mov eax, dword [ecx]
push eax
mov eax, str.Skipped:_s_scnptr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x4078eb
push eax
call sub.msvcrt.dll_printf
add esp, 4
jmp 0x403057
mov eax, dword [ebp - 0x240]
cmp eax, 0
jle 0x403e64
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403e44
mov eax, dword [ebp - 0x240]
push eax
mov eax, str._nProcessing_litPos_was__d__n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x24c]
push eax
mov eax, str.s_paddr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, str.s_size:_0x_X___d__n
push eax
call sub.msvcrt.dll_printf
add esp, 0xc
mov eax, dword [ebp - 0x244]
push eax
mov eax, str.s_scnptr:_0x_X_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x40793b
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x248]
add eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
mov eax, 2
mov dword [ebp - 0x18], eax
mov eax, 0
push eax
mov eax, 0x24
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 4
jge 0x403ec5
jmp 0x403ea8
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x403e8c
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xc]
add ecx, eax
push ecx
mov eax, 0x40793d
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
jmp 0x403e9d
lea eax, [ebp - 0xc]
push eax
call fcn.00402848
add esp, 4
mov dword [ebp - 0x50], eax
mov eax, 0
push eax
mov eax, 0x48
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 4
jge 0x403f2d
jmp 0x403f10
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x403ef4
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xc]
add ecx, eax
push ecx
mov eax, 0x407940
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
jmp 0x403f05
lea eax, [ebp - 0xc]
push eax
call fcn.00402848
add esp, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x403f99
mov eax, dword [ebp - 0x218]
push eax
mov eax, str.ecoffHDR.ecoHDR.entry__pc__0x_X__n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x1f4]
push eax
mov eax, str.ecoffHDR.ecoHDR.gp_value_0x_X__n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x50]
push eax
mov eax, str.reread:_entry__pc__0x_X__n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x4c]
push eax
mov eax, str.reread:_gp_value_0x_X__n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x48]
sub eax, ecx
mov ecx, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x54], eax
movzx eax, byte [ebp - 0x5d]
cmp eax, 0
je 0x40401c
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x54]
add eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x54]
add eax, 0x10
mov dword [ebp - 0x54], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x404017
mov eax, dword [ebp - 0x54]
sub eax, 0x10
push eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, str.ECOFF_new_patched:_entry__pc__0x_X__PC_0x_X___size__d___n
push eax
call sub.msvcrt.dll_printf
add esp, 0x10
mov eax, dword [ebp - 0x54]
sub eax, 0x10
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, str.ECOFF_new_patched:_size___d__0x_X__0x_X_____d16___n
push eax
call sub.msvcrt.dll_printf
add esp, 0x14
jmp 0x404022
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x406010]
cmp eax, 1
jne 0x404043
mov eax, dword [ebp - 0x5c]
push eax
mov eax, str.ecoffHDR.ecoHDR.entry__pc__0x_n
push eax
call sub.msvcrt.dll_printf
add esp, 8
mov eax, 0x407a47
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 8
lea eax, [ebp - 0xc]
push eax
mov eax, 0
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a50
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a59
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a62
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, 0
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a6b
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a74
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x54]
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a7d
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, 0
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a86
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a8f
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407a98
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407aa1
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, 0x801fff00
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407aaa
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, 0
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407ab3
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x7c8
jge 0x4042e8
jmp 0x4042ce
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x4042af
mov eax, 0
push eax
mov eax, 0x407abc
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
jmp 0x4042c3
mov eax, 0
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x58], eax
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jae 0x404362
jmp 0x40432a
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x40430c
lea eax, [ebp - 0xc]
push eax
mov eax, 0x407abf
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407ac2
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x40431f
mov eax, 0
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
je 0x4043cd
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
ja 0x4043cd
jmp 0x4043aa
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x40438c
mov eax, 0
push eax
mov eax, 0x407ac5
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x40439f
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
jae 0x40442b
jmp 0x4043f3
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x4043d5
lea eax, [ebp - 0xc]
push eax
mov eax, 0x407ac8
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407acb
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x4043e8
mov eax, 0
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
je 0x404496
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
ja 0x404496
jmp 0x404473
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x404455
mov eax, 0
push eax
mov eax, 0x407ace
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x404468
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
cmp eax, ecx
jae 0x4044f4
jmp 0x4044bc
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x40449e
lea eax, [ebp - 0xc]
push eax
mov eax, 0x407ad1
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407ad4
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x4044b1
mov eax, 0
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fseek
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x24]
cmp eax, ecx
je 0x40455f
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
cmp eax, ecx
ja 0x40455f
jmp 0x40453c
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x40451e
mov eax, 0
push eax
mov eax, 0x407ad7
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x404531
mov eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jae 0x4045bd
jmp 0x404585
mov eax, dword [ebp - 0x10]
mov ecx, eax
inc eax
mov dword [ebp - 0x10], eax
jmp 0x404567
lea eax, [ebp - 0xc]
push eax
mov eax, 0x407ada
push eax
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fscanf
add esp, 0xc
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407add
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x40457a
movzx eax, byte [ebp - 0x5d]
cmp eax, 0
je 0x4046b7
lea eax, [ebp - 0xc]
push eax
mov eax, 0xc00400c
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407ae0
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, 0
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407ae9
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
mov eax, dword [ebp - 0x50]
and eax, 0x3ffffff
shr eax, 2
add eax, 0x8000000
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407af2
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
mov eax, 0
push eax
call fcn.00402884
add esp, 8
movzx eax, byte [ebp - 9]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx eax, byte [ebp - 0xb]
push eax
movzx eax, byte [ebp - 0xc]
push eax
mov eax, 0x407afb
push eax
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x18
mov eax, dword [ebp - 8]
push eax
call sub.msvcrt.dll_fclose
add esp, 4
mov eax, dword [ebp - 4]
push eax
call sub.msvcrt.dll_fclose
add esp, 4
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call sub.msvcrt.dll_fflush
add esp, 4
mov eax, 0
leave
ret