Function at 0x401f60
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x180
mov eax, dword [0x41f060]
xor eax, esp
mov dword [esp + 0x17c], eax
mov eax, dword [0x4275c4]
push ebx
xor ebx, ebx
cmp eax, ebx
je 0x402269
cmp eax, 2
jne 0x40200d
push esi
mov esi, dword [0x42654c]
push 0x4264c0
call fcn.00401280
add esp, 4
cmp eax, 1
jne 0x401fb1
inc dword [0x426764]
mov dword [0x4275c4], eax
mov eax, dword [0x42654c]
sub eax, esi
add dword [0x4273a4], eax
pop esi
cmp dword [0x426758], ebx
je 0x401feb
fild dword [0x42675c]
fidiv dword [0x426758]
fmul qword [0x4192e0]
call fcn.0040a8d0
cmp eax, ebx
jge 0x401fe6
xor eax, eax
jmp 0x401ff0
cmp eax, 0x64
jle 0x401ff0
mov eax, 0x64
push eax
push 0x426654
push str._s_...__d__
push 0x4272a0
call fcn.0040a6c6
mov eax, dword [0x4275c4]
add esp, 0x10
cmp eax, 1
jne 0x402269
push 0x41524348
call fcn.004018d0
add esp, 4
test eax, eax
jne 0x402269
mov ecx, dword [0x426498]
push ecx
push 4
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.0040a459
mov eax, dword [0x426764]
add esp, 0x10
cmp eax, dword [esp + 0x14]
jne 0x4020ad
cmp dword [0x426a5c], ebx
je 0x40205b
call fcn.00401c80
cmp dword [0x426a60], ebx
je 0x402068
call fcn.00401970
mov ax, word [0x4192d0]
mov ecx, dword [str.Completed]
mov edx, dword [0x4192cc]
mov word [0x4272a8], ax
mov dword [0x4275c4], ebx
mov dword [0x4272a0], ecx
mov dword [0x4272a4], edx
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x17c]
xor ecx, esp
call fcn.0040a476
add esp, 0x180
ret
mov ecx, dword [0x426498]
push ecx
push 4
lea edx, [esp + 0xc]
push 1
push edx
call fcn.0040a459
mov eax, dword [0x426498]
mov ecx, dword [esp + 0x14]
push eax
push ecx
lea edx, [esp + 0x94]
push 1
push edx
call fcn.0040a459
mov ecx, dword [0x426498]
mov eax, dword [esp + 0x24]
push ecx
push 4
lea edx, [esp + 0x2c]
push 1
push edx
mov byte [esp + eax + 0xac], bl
call fcn.0040a459
mov eax, dword [0x426498]
mov ecx, dword [esp + 0x34]
push eax
push ecx
lea edx, [esp + 0x50]
push 1
push edx
call fcn.0040a459
mov ecx, dword [0x426498]
mov eax, dword [esp + 0x44]
add esp, 0x40
push ecx
push 4
lea edx, [esp + 0x14]
push 1
push edx
mov byte [esp + eax + 0x28], bl
call fcn.0040a459
mov eax, dword [0x426498]
push eax
push 4
lea ecx, [esp + 0x28]
push 1
push ecx
call fcn.0040a459
mov edx, dword [0x426498]
push edx
push 4
lea eax, [esp + 0x30]
push 1
push eax
call fcn.0040a459
add esp, 0x30
cmp dword [0x426764], ebx
je 0x402241
jmp 0x402170
mov ecx, dword [esp + 8]
mov edx, dword [0x426498]
push 1
push ecx
push edx
call fcn.00409d82
mov eax, dword [0x426498]
push eax
push 4
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.0040a459
mov edx, dword [0x426498]
mov eax, dword [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0xa0]
push 1
push ecx
call fcn.0040a459
mov eax, dword [0x426498]
mov edx, dword [esp + 0x30]
push eax
push 4
lea ecx, [esp + 0x38]
push 1
push ecx
mov byte [esp + edx + 0xb8], bl
call fcn.0040a459
mov edx, dword [0x426498]
mov eax, dword [esp + 0x40]
push edx
push eax
lea ecx, [esp + 0x5c]
push 1
push ecx
call fcn.0040a459
mov eax, dword [0x426498]
mov edx, dword [esp + 0x50]
add esp, 0x4c
push eax
push 4
lea ecx, [esp + 0x14]
push 1
push ecx
mov byte [esp + edx + 0x28], bl
call fcn.0040a459
mov edx, dword [0x426498]
push edx
push 4
lea eax, [esp + 0x28]
push 1
push eax
call fcn.0040a459
mov ecx, dword [0x426498]
push ecx
push 4
lea edx, [esp + 0x30]
push 1
push edx
call fcn.0040a459
add esp, 0x30
cmp dword [0x426764], ebx
jne 0x402170
mov eax, dword [esp + 8]
mov ecx, dword [0x426498]
push 0x426958
push eax
push ecx
push 0x4264c0
call fcn.00401130
add esp, 0x10
mov dword [0x4275c4], 2
mov ecx, dword [esp + 0x180]
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040a476
add esp, 0x180
ret