Function at 0x1001d3d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x22c
mov eax, dword [0x100c520c]
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.10077ffb
add esp, 4
mov ecx, edi
test esi, esi
jne 0x1001d492
push 1
mov edx, ebx
call fcn.1001d280
mov esi, dword [ebp + 8]
add esp, 4
mov ebx, eax
inc esi
push dword [esp + 0xc]
call fcn.1007296a
add esp, 4
test eax, eax
je 0x1001d716
call fcn.10071623
mov esi, dword [eax]
mov eax, dword [edi + 8]
push esi
mov dword [eax + 4], 0x7ff7a500
add dword [edi + 8], 8
call fcn.10072b23
add esp, 4
push eax
push edi
call fcn.100022e0
mov eax, dword [edi + 8]
add esp, 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.10067217
mov esp, ebp
pop ebp
ret
lea edx, [esi + 0x28]
call fcn.10001880
test eax, eax
je 0x1001d746
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 0x1001d429
mov edx, esi
mov ecx, edi
call fcn.10001c70
push 0
cmp eax, 3
jne 0x1001d5ad
mov edx, esi
mov ecx, edi
call fcn.10001f10
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1001d55a
mov ebx, dword [esp + 0xc]
push ebx
call fcn.100707fd
add esp, 4
mov dword [esp + 0x10], eax
push ebx
push eax
call fcn.100714f3
mov ecx, dword [edi + 0xc]
add esp, 8
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x1001d528
cmp byte [ecx + 0x37], 0
je 0x1001d519
mov ecx, edi
call fcn.10008e40
jmp 0x1001d528
add eax, 0x640
mov dword [ecx + 0xc], 0xfffff9c0
add dword [ecx + 8], eax
push 0
xor edx, edx
mov ecx, edi
call fcn.100069a0
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 0x1001d700
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.10004590
push dword [esp + 0xc]
push ebx
push 1
push eax
call fcn.10070b5c
add esp, 0x10
lea ecx, [esp + 0x20]
mov esi, eax
add dword [esp + 0x28], esi
call fcn.10004640
xor eax, eax
cmp eax, esi
sbb ebx, ebx
neg ebx
jmp 0x1001d6fc
push esi
push edi
call fcn.10002080
add esp, 0xc
test eax, eax
je 0x1001d76f
cmp byte [eax], 0x2a
jne 0x1001d76f
movsx eax, byte [eax + 1]
add eax, 0xffffffb4
cmp eax, 0x22
ja case.0x1001d5df.77
movzx eax, byte [eax + 0x1001d794]
jmp dword [eax*4 + 0x1001d780]
lea eax, [esp + 0x18]
push eax
push 0x100b6788
push dword [esp + 0x14]
call fcn.1001c3b0
add esp, 0xc
cmp eax, 1
mov eax, dword [edi + 8]
jne 0x1001d634
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 0x1001d756
lea eax, [ecx + 8]
mov ebx, 1
mov dword [edi + 8], eax
jmp 0x1001d700
mov dword [eax + 4], 0x7ff7a500
add dword [edi + 8], 8
xor ebx, ebx
jmp 0x1001d700
mov edx, dword [esp + 0xc]
mov ecx, edi
push 1
call fcn.1001d280
add esp, 4
mov ebx, eax
jmp 0x1001d700
mov edx, dword [esp + 0xc]
mov ecx, edi
push 0
call fcn.1001d280
add esp, 4
mov ebx, eax
jmp 0x1001d700
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.10004590
mov ebx, dword [esp + 0xc]
push ebx
push esi
push 1
push eax
call fcn.10070b5c
add dword [esp + 0x38], eax
add esp, 0x10
cmp eax, esi
jb 0x1001d6ee
nop word [eax + eax]
cmp esi, 0x3fffffff
lea eax, [esi + esi]
lea ecx, [esp + 0x20]
cmova eax, esi
mov esi, eax
mov edx, esi
call fcn.10004590
push ebx
push esi
push 1
push eax
call fcn.10070b5c
add dword [esp + 0x38], eax
add esp, 0x10
cmp eax, esi
jae 0x1001d6c0
lea ecx, [esp + 0x20]
call fcn.10004640
mov ebx, 1
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc esi
mov dword [esp + 0x10], esi
test eax, eax
jne 0x1001d4b2
jmp 0x1001d429
test ebx, ebx
jne 0x1001d72c
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.10067217
mov esp, ebp
pop ebp
ret
push str.too_many_arguments
push str.stack_overflow___s_
push edi
call fcn.10004170
push str.C_API___attempt_to_push_a_signaling_NaN
push edi
call fcn.1000fcc0
push str.invalid_format
mov edx, esi
mov ecx, edi
call fcn.10003f50
push str.invalid_option
mov edx, esi
mov ecx, edi
call fcn.10003f50
nop dword [eax]
pop ebp
salc
add dword [eax], edx
je 0x1001d75c
add dword [eax], edx
inc esi
salc
add dword [eax], edx
out 0xd5, al
add dword [eax], edx
popal
xlatb
add dword [eax], edx
add byte [esp + eax], al
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