Function at 0x409922
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x41eb54
mov edx, 0x40a15c
call fcn.00403780
mov eax, dword [0x41ebe0]
cmp eax, dword [0x41ebd8]
jbe 0x409934
mov eax, dword [0x41ebe0]
cmp eax, dword [ebp - 0xc]
jae 0x409934
mov eax, dword [ebp - 0xc]
mov dword [0x41ebe0], eax
mov al, byte [0x41eca9]
cmp al, 0x2f
ja 0x409947
and eax, 0x7f
bt dword [0x40a1f0], eax
jae 0x409992
mov eax, dword [0x41ebe0]
mov edx, dword [0x41ecac]
test edx, edx
je 0x40995d
cmp eax, dword [edx - 4]
jb 0x409962
call fcn.00402f14
mov al, byte [edx + eax]
and eax, 0xff
bt dword [0x41d1e0], eax
jae 0x409986
add byte [0x41eca9], 1
jae 0x409981
call fcn.00402f1c
jmp 0x409b87
mov byte [0x41eca9], 0
jmp 0x409b87
mov al, byte [0x41eca9]
cmp al, 0x2f
ja 0x4099a5
and eax, 0x7f
bt dword [0x40a1f8], eax
jae 0x4099e5
mov eax, dword [0x41ebe0]
mov edx, dword [0x41ecac]
test edx, edx
je 0x4099bb
cmp eax, dword [edx - 4]
jb 0x4099c0
call fcn.00402f14
cmp byte [edx + eax], 0x20
jne 0x4099d9
add byte [0x41eca9], 1
jae 0x4099d4
call fcn.00402f1c
jmp 0x409b87
mov byte [0x41eca9], 0
jmp 0x409b87
cmp byte [0x41eca9], 0x2e
jne 0x409b87
mov eax, dword [0x41ebe0]
mov edx, dword [0x41ecac]
test edx, edx
je 0x409a06
cmp eax, dword [edx - 4]
jb 0x409a0b
call fcn.00402f14
mov al, byte [edx + eax]
and eax, 0xff
bt dword [0x41d1e0], eax
jae 0x409b71
mov eax, dword [0x41ebe0]
add eax, 1
jae 0x409a2f
call fcn.00402f1c
mov edx, dword [0x41ecac]
test edx, edx
je 0x409a3e
cmp eax, dword [edx - 4]
jb 0x409a43
call fcn.00402f14
mov al, byte [edx + eax]
and eax, 0xff
bt dword [0x41d200], eax
jae 0x409b71
mov eax, dword [0x41ebe0]
sub eax, 0x2f
jae 0x409a67
call fcn.00402f1c
mov edx, dword [0x41ecac]
test edx, edx
je 0x409a76
cmp eax, dword [edx - 4]
jb 0x409a7b
call fcn.00402f14
mov al, byte [edx + eax]
and eax, 0xff
bt dword [0x41d200], eax
jae 0x409b71
xor eax, eax
mov al, byte [0x41eca9]
mov edx, dword [0x41ebe0]
sub edx, eax
jae 0x409aa6
call fcn.00402f1c
mov eax, dword [0x41ecac]
test eax, eax
je 0x409ab4
cmp edx, dword [eax - 4]
jb 0x409ab9
call fcn.00402f14
lea edx, [eax + edx]
mov eax, 0x41ec14
mov ecx, 0x2f
call fcn.0040381c
lea edx, [ebp - 0x34]
mov eax, dword [0x41ec14]
call fcn.00406668
mov edx, dword [ebp - 0x34]
mov eax, 0x41ec14
call fcn.00403780
mov eax, dword [0x41ec14]
call fcn.0040671c
test al, al
je 0x409b71
mov edx, dword [0x41ec00]
mov eax, dword [0x41ec14]
call fcn.00403b3c
test eax, eax
jne 0x409b71
push dword [0x41ec00]
push 0x40a10c
push 0x40a208
mov eax, dword [0x41ebec]
add eax, dword [0x41ebe0]
jae 0x409b29
call fcn.00402f1c
xor edx, edx
mov dl, byte [0x41eca9]
sub eax, edx
jae 0x409b3a
call fcn.00402f1c
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x38]
call fcn.00405168
push dword [ebp - 0x38]
push 0x40a100
push dword [0x41ec14]
mov eax, 0x41ec00
mov edx, 6
call fcn.00403964
add dword [0x41ebf4], 1
jae 0x409b71
call fcn.00402f1c
mov byte [0x41eca9], 0
mov eax, 0x41eb54
mov edx, 0x40a218
call fcn.00403780
add dword [0x41ebe0], 1
jae 0x409b95
call fcn.00402f1c
mov eax, 0x41eb54
mov edx, 0x40a230
call fcn.00403780
mov eax, dword [0x41ebe0]
cmp eax, dword [0x41ebe8]
jbe 0x409906
mov byte [0x41eca9], 0
inc dword [ebp - 0xc]
dec dword [ebp - 0x10]
jne 0x408d36
mov eax, dword [0x41ebd0]
add dword [0x41ebec], eax
jae 0x409bda
call fcn.00402f1c
push 0
push 0x41ebd0
push 0x100000
mov eax, 1
mov edx, dword [0x41ecac]
test edx, edx
je 0x409bfa
cmp eax, dword [edx - 4]
jb 0x409bff
call fcn.00402f14
lea eax, [edx + eax]
push eax
mov eax, dword [0x41ebcc]
push eax
call sub.kernel32.dll_ReadFile_1
test eax, eax
je 0x409c1f
cmp dword [0x41ebd0], 0
ja 0x408cca
cmp dword [0x41ebf0], 0
jbe 0x409c45
mov eax, dword [ebp - 8]
push dword [eax]
push dword [0x41ebfc]
push 0x409fe4
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.00403964
cmp dword [0x41ebf4], 0
jbe 0x409c6b
mov eax, dword [ebp - 8]
push dword [eax]
push dword [0x41ec00]
push 0x409fe4
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.00403964
cmp dword [0x41ebf8], 0
jbe 0x409c91
mov eax, dword [ebp - 8]
push dword [eax]
push dword [0x41ec04]
push 0x409fe4
mov eax, dword [ebp - 8]
mov edx, 3
add byte [eax], al
call fcn.00403964
mov eax, 0x41eb54
invalid
invalid
invalid
inc eax