Function at 0x401b30
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
push str.Destinations.txt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x41c41c], eax
cmp eax, 0xffffffff
je 0x401fb2
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [0x41c454], eax
test eax, eax
je 0x401fa5
push 0
push 0x41c3bc
push eax
mov eax, dword [0x41c41c]
push 0x41d490
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [0x41c454]
xor ecx, ecx
cmp byte [0x41d490], 0x6b
mov dword [0x41c450], eax
sete cl
xor eax, eax
mov dword [0x41c1e0], eax
mov dword [0x41b20c], ecx
test edx, edx
jbe 0x401fa5
push ebx
mov bl, 0x5f
mov cl, 0xa
cmp byte [eax + 0x41d490], bl
jne 0x401bcc
test eax, eax
je 0x401be5
cmp byte [eax + 0x41d48f], cl
je 0x401be5
inc eax
cmp eax, edx
jb 0x401bb8
mov ecx, dword [0x41c41c]
pop ebx
push ecx
mov dword [0x41c1e0], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
ret
mov dword [0x41c1e0], eax
push esi
cmp eax, edx
jae 0x401eb1
mov bl, 0x2d
inc eax
cmp byte [eax + 0x41d48f], 0x20
jne 0x401c13
mov cl, byte [eax + 0x41d490]
cmp cl, bl
je 0x401c21
cmp cl, 0x30
jl 0x401c13
cmp cl, 0x39
jle 0x401c21
cmp eax, edx
jb 0x401bf5
mov dword [0x41c1e0], eax
jmp 0x401eb1
mov cl, byte [eax + 0x41d491]
mov dword [0x41c1e0], eax
mov esi, 2
cmp cl, bl
je 0x401c67
cmp byte [eax + 0x41d492], bl
je 0x401c67
cmp byte [eax + 0x41d493], bl
je 0x401c67
cmp byte [eax + 0x41d494], bl
je 0x401c67
lea edx, [eax + 0x41d490]
push edx
call fcn.00402d7d
fstp dword [0x41d474]
add esp, 4
jmp 0x401cfd
mov dword [0x41c450], 0
cmp cl, bl
jne 0x401c81
mov dword [0x41c450], 1
jmp 0x401cb7
cmp byte [eax + 0x41d492], bl
jne 0x401c91
mov dword [0x41c450], esi
jmp 0x401cb7
cmp byte [eax + 0x41d493], bl
jne 0x401ca5
mov dword [0x41c450], 3
jmp 0x401cb7
cmp byte [eax + 0x41d494], bl
jne 0x401cb7
mov dword [0x41c450], 4
lea eax, [eax + 0x41d490]
push eax
call fcn.00402d7d
fstp qword [0x41c1c8]
mov ecx, dword [0x41c450]
mov edx, dword [0x41c1e0]
lea eax, [edx + ecx + 0x41d491]
push eax
call fcn.00402d7d
fdiv qword [0x413570]
add esp, 8
fst qword [0x41c1f8]
fadd qword [0x41c1c8]
fstp dword [0x41d474]
fld dword [0x41d474]
mov eax, dword [0x41c1e0]
fld qword [0x41b200]
mov cl, byte [eax + 0x41d490]
mov edx, dword [0x41c454]
fmul st(1)
fstp qword [0x41e4a0]
cmp cl, 0x2c
je 0x401d41
cmp cl, 0x20
je 0x401d3c
cmp eax, edx
je 0x401d3c
mov cl, byte [eax + 0x41d491]
inc eax
cmp cl, 0x2c
jne 0x401d27
mov dword [0x41c1e0], eax
cmp byte [eax + 0x41d48f], 0x57
jne 0x401d54
fchs
fstp dword [0x41d474]
jmp 0x401d56
fstp st(0)
cmp eax, edx
jae 0x401eb1
mov cl, byte [eax + 0x41d490]
cmp cl, 0x2c
je 0x401d6e
cmp cl, 0x20
jne 0x401d83
mov cl, byte [eax + 0x41d491]
inc eax
cmp cl, bl
je 0x401d91
cmp cl, 0x30
jl 0x401d83
cmp cl, 0x39
jle 0x401d91
cmp eax, edx
jb 0x401d64
mov dword [0x41c1e0], eax
jmp 0x401eb1
mov cl, byte [eax + 0x41d491]
mov dword [0x41c1e0], eax
cmp cl, bl
je 0x401dd2
cmp byte [eax + 0x41d492], bl
je 0x401dd2
cmp byte [eax + 0x41d493], bl
je 0x401dd2
cmp byte [eax + 0x41d494], bl
je 0x401dd2
lea ecx, [eax + 0x41d490]
push ecx
call fcn.00402d7d
fstp dword [0x41c3e8]
add esp, 4
jmp 0x401e67
mov dword [0x41c450], 0
cmp cl, bl
jne 0x401dec
mov dword [0x41c450], 1
jmp 0x401e22
cmp byte [eax + 0x41d492], bl
jne 0x401dfc
mov dword [0x41c450], esi
jmp 0x401e22
cmp byte [eax + 0x41d493], bl
jne 0x401e10
mov dword [0x41c450], 3
jmp 0x401e22
cmp byte [eax + 0x41d494], bl
jne 0x401e22
mov dword [0x41c450], 4
lea edx, [eax + 0x41d490]
push edx
call fcn.00402d7d
fstp qword [0x41c1c8]
mov eax, dword [0x41c450]
mov ecx, dword [0x41c1e0]
lea edx, [ecx + eax + 0x41d491]
push edx
call fcn.00402d7d
fdiv qword [0x413570]
add esp, 8
fst qword [0x41c1f8]
fadd qword [0x41c1c8]
fstp dword [0x41c3e8]
mov eax, dword [0x41c1e0]
mov cl, byte [eax + 0x41d490]
cmp cl, 0x20
je 0x401e9a
mov edx, dword [0x41c454]
lea ecx, [ecx]
cmp cl, 0xd
je 0x401e95
cmp eax, edx
je 0x401e95
mov cl, byte [eax + 0x41d491]
inc eax
cmp cl, 0x20
jne 0x401e80
mov dword [0x41c1e0], eax
cmp byte [eax + 0x41d48f], 0x57
jne 0x401eb1
fld dword [0x41c3e8]
fchs
fstp dword [0x41c3e8]
mov cl, byte [eax + 0x41d490]
cmp cl, 0xd
jne 0x401ed6
mov ecx, dword [0x41c41c]
pop esi
pop ebx
push ecx
mov dword [0x41e680], 1
call dword [sym.imp.KERNEL32.dll_CloseHandle]
ret
cmp cl, 0x20
jne 0x401fa3
inc eax
mov dword [0x41c1e0], eax
lea eax, [eax + 0x41d490]
push eax
call fcn.00402a8f
mov esi, dword [0x41c454]
mov dword [0x41c3ec], eax
fild dword [0x41c3ec]
mov eax, dword [0x41c1e0]
mov cl, byte [eax + 0x41d490]
add esp, 4
fstp qword [0x41c3d0]
cmp cl, 0xd
je 0x401f3a
jmp 0x401f20
cmp cl, 0x20
je 0x401f35
cmp eax, esi
jae 0x401f35
mov cl, byte [eax + 0x41d491]
inc eax
cmp cl, 0xd
jne 0x401f20
mov dword [0x41c1e0], eax
cmp byte [eax + 0x41d490], 0x20
jne 0x401fa3
mov cl, byte [eax + 0x41d491]
inc eax
xor edx, edx
mov dword [0x41c1e0], eax
mov dword [0x41c450], edx
cmp cl, 0xd
je 0x401f87
lea esp, [esp]
cmp cl, 0x20
je 0x401f7c
cmp eax, esi
jae 0x401f7c
inc eax
mov byte [edx + 0x41c428], cl
mov cl, byte [eax + 0x41d490]
inc edx
cmp cl, 0xd
jne 0x401f60
mov dword [0x41c1e0], eax
mov dword [0x41c450], edx
push 0x41c428
call fcn.00402a8f
add esp, 4
mov dword [0x41e49c], eax
mov dword [0x41c204], 1
pop esi
pop ebx
mov ecx, dword [0x41c41c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
ret