Function at 0x439b10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x22c
mov eax, dword [0x4a6074]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
push ebx
mov dword [esp + 0x10], ebx
mov eax, dword [edi + 0x10]
mov esi, dword [edi + 8]
sub esi, dword [eax]
sub esi, 8
sar esi, 3
dec esi
mov dword [esp + 0x18], esi
call fcn.00468feb
add esp, 4
mov ecx, edi
test esi, esi
jne 0x439bd1
push 1
mov edx, ebx
call fcn.004399c0
mov esi, dword [ebp + 8]
add esp, 4
mov ebx, eax
inc esi
push dword [esp + 0xc]
call fcn.00461dfe
add esp, 4
test eax, eax
je 0x439e48
call fcn.0045660b
mov esi, dword [eax]
mov eax, dword [edi + 8]
push esi
mov dword [eax + 4], 0x7ff7a500
add dword [edi + 8], 8
call fcn.00467612
add esp, 4
mov edx, eax
mov ecx, edi
call fcn.0041f130
mov eax, dword [edi + 8]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [eax], xmm0
mov eax, 3
add dword [edi + 8], 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x228]
xor ecx, esp
call fcn.0044b0c6
mov esp, ebp
pop ebp
ret
lea edx, [esi + 0x28]
call fcn.0041e520
test eax, eax
je 0x439e78
mov esi, dword [ebp + 8]
mov ebx, 1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], esi
dec eax
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x439b69
mov edx, esi
mov ecx, edi
call fcn.0041e900
mov edx, esi
mov ecx, edi
push 0
cmp eax, 3
jne 0x439cec
call fcn.0041ec50
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x439c99
mov ebx, dword [esp + 0xc]
push ebx
call fcn.00467567
add esp, 4
mov dword [esp + 0x10], eax
push ebx
push eax
call fcn.00469aea
mov ecx, dword [edi + 0xc]
add esp, 8
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x439c67
cmp byte [ecx + 0x37], 0
je 0x439c58
mov ecx, edi
call fcn.00429ad0
jmp 0x439c67
add eax, 0x640
mov dword [ecx + 0xc], 0xfffff9c0
add dword [ecx + 8], eax
push 0
xor edx, edx
mov ecx, edi
call fcn.0042ab20
mov ecx, dword [edi + 8]
xor ebx, ebx
add esp, 4
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x7ff7a540
mov dword [ecx + 4], eax
add dword [edi + 8], 8
cmp dword [esp + 0x10], 0xffffffff
setne bl
jmp 0x439e32
lea eax, [esp + 0x30]
mov dword [esp + 0x2c], edi
mov edx, ebx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x200
call fcn.00421090
push dword [esp + 0xc]
push ebx
push 1
push eax
call fcn.0046446b
add esp, 0x10
lea ecx, [esp + 0x20]
mov esi, eax
add dword [esp + 0x28], esi
call fcn.00421140
xor eax, eax
cmp eax, esi
sbb ebx, ebx
neg ebx
jmp 0x439e2e
call fcn.0041ee90
add esp, 4
test eax, eax
je 0x439ea1
cmp byte [eax], 0x2a
jne 0x439ea1
movsx eax, byte [eax + 1]
add eax, 0xffffffb4
cmp eax, 0x22
ja case.0x439d1c.77
movzx eax, byte [eax + 0x439ec4]
jmp dword [eax*4 + 0x439eb0]
lea eax, [esp + 0x18]
push eax
push 0x497dd8
push dword [esp + 0x14]
call fcn.00438b40
add esp, 0xc
cmp eax, 1
mov eax, dword [edi + 8]
jne 0x439d71
movsd xmm0, qword [esp + 0x18]
movsd qword [eax], xmm0
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 4]
and eax, 0x7fffff00
cmp eax, 0x7ff7a500
je 0x439e88
lea eax, [ecx + 8]
mov ebx, 1
mov dword [edi + 8], eax
jmp 0x439e32
mov dword [eax + 4], 0x7ff7a500
add dword [edi + 8], 8
xor ebx, ebx
jmp 0x439e32
mov edx, dword [esp + 0xc]
mov ecx, edi
push 1
call fcn.004399c0
add esp, 4
mov ebx, eax
jmp 0x439e32
mov edx, dword [esp + 0xc]
mov ecx, edi
push 0
call fcn.004399c0
add esp, 4
mov ebx, eax
jmp 0x439e32
mov esi, 0x200
mov dword [esp + 0x2c], edi
lea eax, [esp + 0x30]
mov dword [esp + 0x28], 0
mov edx, esi
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], esi
call fcn.00421090
mov ebx, dword [esp + 0xc]
push ebx
push esi
push 1
push eax
call fcn.0046446b
add dword [esp + 0x38], eax
add esp, 0x10
cmp eax, esi
jb 0x439e20
cmp esi, 0x3fffffff
lea eax, [esi + esi]
lea ecx, [esp + 0x20]
cmova eax, esi
mov esi, eax
mov edx, esi
call fcn.00421090
push ebx
push esi
push 1
push eax
call fcn.0046446b
add dword [esp + 0x38], eax
add esp, 0x10
cmp eax, esi
jae 0x439df2
lea ecx, [esp + 0x20]
call fcn.00421140
mov ebx, 1
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc esi
mov dword [esp + 0x10], esi
test eax, eax
jne 0x439bf1
jmp 0x439b69
test ebx, ebx
jne 0x439e5e
add dword [edi + 8], 0xfffffff8
mov eax, dword [edi + 8]
mov dword [eax + 4], 0x7ff7a500
add dword [edi + 8], 8
sub esi, dword [ebp + 8]
mov ecx, dword [esp + 0x234]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0044b0c6
mov esp, ebp
pop ebp
ret
push str.too_many_arguments
push str.stack_overflow___s_
push edi
call fcn.00420b60
push str.C_API___attempt_to_push_a_signaling_NaN
push edi
call fcn.00423500
push str.invalid_format
mov edx, esi
mov ecx, edi
call fcn.00420940
push str.invalid_option
mov edx, esi
mov ecx, edi
call fcn.00420940
nop
lcall 0x439d, 0xb100439d
add byte [ebx + 587219869], al
popfd
inc ebx
add byte [ebx + 0x439e], dl
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, byte [ebx + eax]
int3