Function at 0x407a80
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
push 0x429ec2
push dword [ebp + 8]
call fcn.00412000
add esp, 8
test eax, eax
je 0x407d18
mov esi, eax
push 2
push 0
push eax
call fcn.00412825
add esp, 0xc
mov ebx, 6
test eax, eax
jne 0x407d2a
push esi
call fcn.00412b02
add esp, 4
test eax, eax
jle 0x407d2a
mov edi, eax
inc eax
push eax
call fcn.0040a2b7
add esp, 4
mov dword [ebp - 0x10], eax
xor eax, eax
push eax
push eax
push esi
call fcn.00412825
add esp, 0xc
test eax, eax
jne 0x407d1f
push esi
push edi
push 1
push dword [ebp - 0x10]
call fcn.00412612
add esp, 0x10
cmp eax, edi
jne 0x407d1f
mov ecx, dword [ebp - 0x10]
mov byte [ecx + edi], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
mov ebx, ecx
mov dword [ebp - 0x18], esi
lea esi, [ebx + 1]
lea ecx, [ebx + 2]
lea eax, [ebx + 3]
mov dl, byte [ebx]
cmp dl, 0xa
je 0x407b38
cmp dl, 0xd
jne 0x407b3e
inc ebx
inc esi
inc ecx
inc eax
jmp 0x407b2c
mov edi, esi
mov dh, dl
test dl, dl
je 0x407d3d
cmp dh, 0xd
je 0x407b5f
cmp dh, 0xa
je 0x407b5f
mov dh, byte [edi]
inc edi
test dh, dh
jne 0x407b4a
xor ebx, ebx
jmp 0x407b67
mov byte [edi - 1], 0
mov dl, byte [ebx]
mov ebx, edi
cmp dl, 0x23
je 0x407c54
cmp dl, 0x3b
je 0x407c54
jmp 0x407b85
cmp dl, 0x20
jne 0x407b99
mov dl, byte [esi]
inc esi
inc ecx
inc eax
cmp dl, 0x1f
jg 0x407b7b
cmp dl, 9
je 0x407b80
test dl, dl
je 0x407c54
jmp 0x407baf
cmp dl, 0x5b
jne 0x407baf
mov dword [ebp - 0x14], ebx
mov edx, esi
mov bl, byte [edx]
cmp bl, 0x5d
jne 0x407bd1
inc edx
inc ecx
inc eax
jmp 0x407ba3
test byte [ebp - 0x1c], 1
je 0x407c54
mov dword [ebp - 0x14], ebx
lea eax, [esi - 1]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 0xc]
cmp dl, 0x3d
jne 0x407bef
mov dl, byte [eax + 1]
inc eax
inc esi
jmp 0x407bc5
test bl, bl
jne 0x407bde
mov dword [ebp - 0x1c], 0
jmp 0x407c51
cmp bl, 0x5d
je 0x407c07
mov bl, byte [edx + 1]
inc edx
inc ecx
inc eax
test bl, bl
jne 0x407bde
jmp 0x407c1e
test dl, dl
je 0x407d0d
cmp dl, 0x3d
je 0x407c67
mov dl, byte [esi]
inc esi
test dl, dl
jne 0x407bf7
xor esi, esi
jmp 0x407c6b
mov byte [edx], 0
mov dl, byte [ecx]
cmp dl, 9
je 0x407c16
cmp dl, 0x20
jne 0x407c1a
inc ecx
inc eax
jmp 0x407c0a
test dl, dl
jne 0x407c28
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x407c3b
push eax
jmp 0x407c40
cmp dl, 0x20
je 0x407ca2
cmp dl, 9
je 0x407ca2
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407c28
jmp 0x407bd5
push str.Strings
push esi
call fcn.00413170
add esp, 8
test eax, eax
sete al
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
test ebx, ebx
jne 0x407b23
jmp 0x407d43
mov byte [esi - 1], 0
test ebx, ebx
je 0x407d0d
cmp byte [ebx], 0
je 0x407d0d
xor edi, edi
push ebx
push dword [ebp - 0x20]
call fcn.00413170
add esp, 8
test eax, eax
je 0x407cab
push ebx
call fcn.00413300
add esp, 4
add ebx, eax
inc ebx
inc edi
cmp byte [ebx], 0
jne 0x407c7e
jmp 0x407d0d
mov byte [eax - 1], 0
jmp 0x407bd5
cmp edi, dword [ebp + 0x10]
jae 0x407d0d
mov ebx, edi
push esi
call fcn.00413300
add esp, 4
inc eax
mov dword [ebp - 0x28], eax
push eax
call fcn.0040a2b7
add esp, 4
mov dword [ebp - 0x20], eax
push dword [ebp - 0x28]
push 0
push eax
call fcn.0040cce0
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x20]
mov dword [ecx + edi*4], edx
test eax, eax
je 0x407cfe
push eax
call fcn.0040a5c8
add esp, 4
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x20], eax
push esi
push dword [ebp - 0x20]
call fcn.00413200
add esp, 8
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
jmp 0x407c57
mov ebx, 6
jmp 0x407d33
push dword [ebp - 0x10]
call fcn.0040a5c8
add esp, 4
push esi
call fcn.004120eb
add esp, 4
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
xor eax, eax
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp + 0x10]
setne al
lea ebx, [eax + eax*4]
push ecx
jmp 0x407d22