Function at 0x402c30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x102c
call fcn.00405160
mov eax, dword [0x408004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x1000
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1028], ecx
mov edi, edx
push 0
push eax
mov dword [ebp - 0x1020], edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1018], 0
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1014], 0
push 0x1004
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1018]
push 0x406190
push str.maps_and_delays.txt
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
add esp, 0xc
test eax, eax
jne 0x402cbe
cmp dword [ebp - 0x1018], eax
jne 0x402cdd
push str.maps_and_delays.txt
push str.FileHelper_couldnt_open__s_n
call fcn.00401010
add esp, 8
cmp dword [ebp - 0x1018], 0
je 0x402fcb
mov esi, dword [ebp - 0x1010]
xor al, al
mov edx, dword [ebp - 0x1014]
xor bl, bl
mov byte [ebp - 0x1019], al
mov bh, 1
xor eax, eax
mov dword [ebp - 0x1024], eax
nop dword [eax]
cmp eax, dword [edi + 0x3c]
jae 0x402ff4
mov eax, dword [ebp - 0x1020]
xor edi, edi
mov dword [ebp - 8], edi
cmp dword [eax + 0x40], edi
jbe 0x402dc1
nop dword [eax]
cmp edx, esi
jne 0x402d63
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x402dbf
mov eax, dword [ebp - 0x1020]
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
inc edx
mov byte [ebp - 0x102c], bl
mov dword [ebp - 0x1014], edx
cmp bl, 0x2f
je 0x402dc1
cmp bl, 0xa
je 0x402dc6
cmp bl, 0xd
je 0x402db4
push dword [ebp - 0x102c]
mov ecx, dword [ebp - 0x1028]
call fcn.004014a0
test al, al
je 0x402fcb
mov esi, dword [ebp - 0x1010]
inc edi
mov edx, dword [ebp - 0x1014]
mov eax, dword [ebp - 0x1020]
cmp edi, dword [eax + 0x40]
jb 0x402d20
jmp 0x402dd0
xor bh, bh
cmp bl, 0xa
jne 0x402dd9
test edi, edi
je 0x402fa2
nop
cmp bl, 0xa
je 0x402f0d
cmp bl, 0x30
jl 0x402de3
cmp bl, 0x39
jle 0x402e34
cmp edx, esi
jne 0x402e20
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x402e32
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
inc edx
mov dword [ebp - 0x1014], edx
jmp 0x402dd0
xor bh, bh
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x402eb7
mov ecx, dword [ebp - 8]
nop
lea ecx, [ecx + ecx*4]
movsx eax, bl
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
mov dword [ebp - 8], ecx
cmp ecx, 0xffffff
ja 0x402fbe
cmp edx, esi
jne 0x402e9b
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x402eb5
mov ecx, dword [ebp - 8]
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
mov al, bl
inc edx
sub al, 0x30
mov dword [ebp - 0x1014], edx
cmp al, 9
jbe 0x402e40
jmp 0x402eb7
xor bh, bh
cmp bl, 0xa
je 0x402f0d
cmp edx, esi
jne 0x402ef9
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x402f0b
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
inc edx
mov dword [ebp - 0x1014], edx
jmp 0x402eb7
xor bh, bh
test edi, edi
jne 0x402f2a
mov edi, dword [ebp - 0x1020]
mov cl, 1
mov eax, dword [ebp - 8]
mov byte [ebp - 0x1019], cl
mov dword [edi + 0x44], eax
jmp 0x402fae
mov esi, dword [ebp - 0x1020]
mov eax, dword [esi + 0x54]
sub eax, 4
cmp edi, eax
jae 0x402f5c
nop word [eax + eax]
mov ecx, dword [ebp - 0x1028]
push 0
call fcn.004014a0
test al, al
je 0x402fcb
mov eax, dword [esi + 0x54]
inc edi
sub eax, 4
cmp edi, eax
jb 0x402f40
xor esi, esi
nop
movzx eax, byte [ebp + esi - 8]
mov ecx, dword [ebp - 0x1028]
push eax
call fcn.004014a0
test al, al
je 0x402fcb
inc esi
cmp esi, 4
jb 0x402f60
mov eax, dword [ebp - 0x1024]
mov esi, dword [ebp - 0x1010]
inc eax
mov edx, dword [ebp - 0x1014]
mov edi, dword [ebp - 0x1020]
mov cl, byte [ebp - 0x1019]
mov dword [ebp - 0x1024], eax
jmp 0x402fb4
mov edi, dword [ebp - 0x1020]
mov cl, byte [ebp - 0x1019]
mov eax, dword [ebp - 0x1024]
test bh, bh
jne 0x402d00
jmp 0x402ffa
push str.map_delays_cant_be_more_than_0xffffff_n
call fcn.00401010
add esp, 4
xor bl, bl
mov eax, dword [ebp - 0x1018]
test eax, eax
je 0x402fe1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004044d2
mov esp, ebp
pop ebp
ret
mov cl, byte [ebp - 0x1019]
cmp byte [edi + 0xb0], 0
je 0x4031d4
test cl, cl
jne 0x4031d4
test bh, bh
je 0x4031d4
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp edx, esi
jne 0x403056
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call edi
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x403064
mov bl, byte [ebp + edx - 0x100c]
inc edx
mov dword [ebp - 0x1014], edx
cmp bl, 0x2f
je 0x4030cb
nop dword [eax]
cmp bl, 0xa
je 0x4031ba
cmp edx, esi
jne 0x4030b2
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call edi
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x4030c4
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
inc edx
mov dword [ebp - 0x1014], edx
jmp 0x403070
xor bh, bh
jmp 0x4031ba
mov byte [ebp - 0x1019], 1
cmp bl, 0xa
je 0x4031ba
cmp bl, 0x30
jl 0x4030e5
cmp bl, 0x39
jle 0x403132
cmp edx, esi
jne 0x40311e
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call edi
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x403130
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
inc edx
mov dword [ebp - 0x1014], edx
jmp 0x4030d2
xor bh, bh
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x4031ba
xor edi, edi
lea edi, [edi + edi*4]
movsx eax, bl
lea edi, [edi - 0x18]
lea edi, [eax + edi*2]
cmp edi, 0xffffff
ja 0x402fbe
cmp edx, esi
jne 0x403195
push dword [ebp - 0x1018]
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1014], 0
push 0x1000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edx, dword [ebp - 0x1014]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1010], esi
test esi, esi
je 0x4031af
mov bl, byte [ebp + edx - 0x100c]
mov bh, 1
mov al, bl
inc edx
sub al, 0x30
mov dword [ebp - 0x1014], edx
cmp al, 9
jbe 0x403140
jmp 0x4031b1
xor bh, bh
mov eax, dword [ebp - 0x1020]
mov dword [eax + 0x44], edi
mov edi, dword [ebp - 0x1020]
cmp byte [edi + 0xb0], 0
je 0x4031d4
mov cl, byte [ebp - 0x1019]
jmp 0x403007
mov bl, 1
jmp 0x402fcd