Function at 0x412e38
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
push 0x42e0b2
push dword [ebp + 8]
call fcn.0041d3e8
add esp, 8
test eax, eax
je 0x4130d0
mov esi, eax
push 2
push 0
push eax
call fcn.0041dc0d
add esp, 0xc
mov ebx, 6
test eax, eax
jne 0x4130e2
push esi
call fcn.0041deea
add esp, 4
test eax, eax
jle 0x4130e2
mov edi, eax
inc eax
push eax
call fcn.0041566f
add esp, 4
mov dword [ebp - 0x10], eax
xor eax, eax
push eax
push eax
push esi
call fcn.0041dc0d
add esp, 0xc
test eax, eax
jne 0x4130d7
push esi
push edi
push 1
push dword [ebp - 0x10]
call fcn.0041d9fa
add esp, 0x10
cmp eax, edi
jne 0x4130d7
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 0x412ef0
cmp dl, 0xd
jne 0x412ef6
inc ebx
inc esi
inc ecx
inc eax
jmp 0x412ee4
mov edi, esi
mov dh, dl
test dl, dl
je 0x4130f5
cmp dh, 0xd
je 0x412f17
cmp dh, 0xa
je 0x412f17
mov dh, byte [edi]
inc edi
test dh, dh
jne 0x412f02
xor ebx, ebx
jmp 0x412f1f
mov byte [edi - 1], 0
mov dl, byte [ebx]
mov ebx, edi
cmp dl, 0x23
je 0x41300c
cmp dl, 0x3b
je 0x41300c
jmp 0x412f3d
cmp dl, 0x20
jne 0x412f51
mov dl, byte [esi]
inc esi
inc ecx
inc eax
cmp dl, 0x1f
jg 0x412f33
cmp dl, 9
je 0x412f38
test dl, dl
je 0x41300c
jmp 0x412f67
cmp dl, 0x5b
jne 0x412f67
mov dword [ebp - 0x14], ebx
mov edx, esi
mov bl, byte [edx]
cmp bl, 0x5d
jne 0x412f89
inc edx
inc ecx
inc eax
jmp 0x412f5b
test byte [ebp - 0x1c], 1
je 0x41300c
mov dword [ebp - 0x14], ebx
lea eax, [esi - 1]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp + 0xc]
cmp dl, 0x3d
jne 0x412fa7
mov dl, byte [eax + 1]
inc eax
inc esi
jmp 0x412f7d
test bl, bl
jne 0x412f96
mov dword [ebp - 0x1c], 0
jmp 0x413009
cmp bl, 0x5d
je 0x412fbf
mov bl, byte [edx + 1]
inc edx
inc ecx
inc eax
test bl, bl
jne 0x412f96
jmp 0x412fd6
test dl, dl
je 0x4130c5
cmp dl, 0x3d
je 0x41301f
mov dl, byte [esi]
inc esi
test dl, dl
jne 0x412faf
xor esi, esi
jmp 0x413023
mov byte [edx], 0
mov dl, byte [ecx]
cmp dl, 9
je 0x412fce
cmp dl, 0x20
jne 0x412fd2
inc ecx
inc eax
jmp 0x412fc2
test dl, dl
jne 0x412fe0
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x412ff3
push eax
jmp 0x412ff8
cmp dl, 0x20
je 0x41305a
cmp dl, 9
je 0x41305a
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x412fe0
jmp 0x412f8d
push 0x42b93e
push esi
call fcn.0041e558
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 0x412edb
jmp 0x4130fb
mov byte [esi - 1], 0
test ebx, ebx
je 0x4130c5
cmp byte [ebx], 0
je 0x4130c5
xor edi, edi
push ebx
push dword [ebp - 0x20]
call fcn.0041e558
add esp, 8
test eax, eax
je 0x413063
push ebx
call fcn.0041e6e8
add esp, 4
add ebx, eax
inc ebx
inc edi
cmp byte [ebx], 0
jne 0x413036
jmp 0x4130c5
mov byte [eax - 1], 0
jmp 0x412f8d
cmp edi, dword [ebp + 0x10]
jae 0x4130c5
mov ebx, edi
push esi
call fcn.0041e6e8
add esp, 4
inc eax
mov dword [ebp - 0x28], eax
push eax
call fcn.0041566f
add esp, 4
mov dword [ebp - 0x20], eax
push dword [ebp - 0x28]
push 0
push eax
call fcn.004180e8
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 0x4130b6
push eax
call fcn.00415980
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.0041e5e8
add esp, 8
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
jmp 0x41300f
mov ebx, 6
jmp 0x4130eb
push dword [ebp - 0x10]
call fcn.00415980
add esp, 4
push esi
call fcn.0041d4d3
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 0x4130da