Function at 0x140010380
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
movapd xmmword [rsp + 0x190], xmm15
movapd xmmword [rsp + 0x180], xmm14
movapd xmmword [rsp + 0x170], xmm13
movapd xmmword [rsp + 0x160], xmm12
movapd xmmword [rsp + 0x150], xmm11
movapd xmmword [rsp + 0x140], xmm10
movapd xmmword [rsp + 0x130], xmm9
movapd xmmword [rsp + 0x120], xmm8
movapd xmmword [rsp + 0x110], xmm7
movapd xmmword [rsp + 0x100], xmm6
mov qword [rsp + 0xa8], r9
mov r14, r8
mov rbx, rdx
mov r13, rcx
mov rsi, qword [rsp + 0x210]
call sub.msvcrt.dll_localeconv
mov rdi, qword [rax]
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov rdx, r14
mov r11, rax
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x90], 0
mov r15d, dword [r14]
lea r12, [r13 + 1]
jmp 0x140010453
inc r12
movzx eax, byte [r12 - 1]
movsx ecx, al
lea r8d, [rcx - 9]
cmp r8d, 5
jb 0x140010450
cmp ecx, 0x2a
jg 0x140010479
cmp ecx, 0x20
je 0x140010450
test ecx, ecx
je 0x1400104e7
jmp 0x1400104fb
cmp ecx, 0x2b
je 0x14001048a
cmp ecx, 0x2d
jne 0x1400104fb
mov eax, 1
jmp 0x14001048c
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], r12
movzx eax, byte [r12]
test al, al
je 0x1400104e7
cmp al, 0x30
jne 0x14001050e
movsx ecx, byte [r12 + 1]
or ecx, 0x20
cmp ecx, 0x78
jne 0x140010618
mov rdi, qword [rsp + 0x78]
mov dword [rsp + 0x20], edi
lea rcx, [rsp + 0x48]
lea r9, [rsp + 0x90]
mov r8, qword [rsp + 0xa8]
call fcn.14002dd40
mov dword [rsp + 0x38], eax
cmp eax, 6
jne 0x1400106a8
jmp 0x1400104ef
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], r13
xor edi, edi
jmp 0x1400106a8
dec r12
mov qword [rsp + 0x48], r12
xor ecx, ecx
mov qword [rsp + 0x78], rcx
cmp al, 0x30
je 0x1400104a3
mov r8d, eax
mov qword [rsp + 0x68], r15
lea ecx, [r8 - 0x30]
cmp cl, 9
ja 0x14001056e
lea r9, [r12 + 1]
xor ecx, ecx
xor r14d, r14d
xor esi, esi
jmp 0x140010554
lea r10d, [r14 + r14*4]
lea r14d, [r8 + r10*2]
add r14d, 0xffffffd0
inc esi
mov qword [rsp + 0x48], r9
movzx r8d, byte [r9]
lea r10d, [r8 - 0x30]
inc r9
cmp r10b, 0xa
jae 0x14001057a
movzx r8d, r8b
cmp esi, 8
jbe 0x140010530
cmp esi, 0xf
ja 0x14001053c
lea ecx, [rcx + rcx*4]
lea ecx, [r8 + rcx*2]
add ecx, 0xffffffd0
jmp 0x14001053c
xor esi, esi
xor r14d, r14d
xor ecx, ecx
mov r9, r12
jmp 0x14001057d
dec r9
mov r10d, dword [rdx + 0x10]
mov dword [rsp + 0xb4], r10d
movsx r8d, r8b
cmp r8b, byte [rdi]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xc8], r11
jne 0x1400105fc
movzx r10d, byte [rdi + 1]
mov r11d, 1
test r10b, r10b
je 0x1400105d4
nop word [rax + rax]
cmp byte [r9 + r11], r10b
jne 0x1400105fc
movzx r10d, byte [rdi + r11 + 1]
inc r11
test r10b, r10b
jne 0x1400105c0
mov r10d, r11d
lea rbx, [r9 + r10]
mov qword [rsp + 0x48], rbx
movsx r8d, byte [r9 + r10]
xor r11d, r11d
test esi, esi
je 0x140010644
mov r15d, esi
xor r9d, r9d
mov qword [rsp + 0x70], r12
jmp 0x140010753
mov dl, 1
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x3c], 0
mov rbx, r9
mov r15d, esi
xor r9d, r9d
jmp 0x14001087a
inc r12
nop dword [rax + rax]
mov qword [rsp + 0x48], r12
movzx r8d, byte [r12]
inc r12
cmp r8d, 0x30
je 0x140010620
test r8d, r8d
je 0x140011c29
dec r12
jmp 0x140010511
xor r15d, r15d
mov r11d, 0
cmp r8b, 0x30
jne 0x140010678
lea rbx, [r10 + r9]
inc rbx
xor r11d, r11d
nop dword [rax]
inc r11d
mov qword [rsp + 0x48], rbx
movsx r8d, byte [rbx]
inc rbx
cmp r8d, 0x30
je 0x140010660
dec rbx
lea r10d, [r8 - 0x31]
mov ebp, 0
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
mov r9d, r11d
cmp r10d, 9
jae 0x14001087a
jmp 0x140010764
test rbx, rbx
je 0x1400106b5
mov rax, qword [rsp + 0x48]
mov qword [rbx], rax
test edi, edi
je 0x1400106be
or byte [rsp + 0x38], 8
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x1400106e3
mov rcx, rsi
mov edx, r15d
call fcn.14002e770
mov rcx, qword [rsp + 0x90]
call fcn.14002d040
mov eax, dword [rsp + 0x38]
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm12, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0x180]
movaps xmm15, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r10d, [r8 - 0x30]
cmp r10d, 9
ja 0x140010868
mov ebp, r9d
lea r9d, [rbp + 1]
add r8d, 0xffffffd0
je 0x140010786
add r11d, r9d
test ebp, ebp
jle 0x140010828
cmp ebp, 1
jne 0x14001078e
mov rdi, r15
mov r9d, r15d
jmp 0x1400107f3
mov edx, r15d
jmp 0x14001084f
mov edx, ebp
and edx, 0xfffffffe
mov rdi, r15
mov r10d, r15d
nop dword [rax]
lea r9d, [r14 + r14]
lea r12d, [rcx + rcx]
cmp r10d, 0x10
lea r12d, [r12 + r12*4]
cmovge r12d, ecx
cmp r10d, 9
lea r15d, [r9 + r9*4]
cmovge r15d, r14d
cmovl r12d, ecx
lea r9d, [r10 + 2]
lea r14d, [r15 + r15]
lea ecx, [r12 + r12]
cmp r10d, 0xf
lea ecx, [rcx + rcx*4]
cmovge ecx, r12d
cmp r10d, 8
lea r14d, [r14 + r14*4]
cmovge r14d, r15d
cmovl ecx, r12d
mov r10d, r9d
add edx, 0xfffffffe
jne 0x1400107a0
test bpl, 1
je 0x140010822
lea edx, [r14 + r14]
lea r10d, [rcx + rcx]
cmp r9d, 0x10
lea r10d, [r10 + r10*4]
cmovge r10d, ecx
cmp r9d, 9
lea edx, [rdx + rdx*4]
cmovge edx, r14d
cmovl r10d, ecx
mov r14d, edx
mov ecx, r10d
mov r15, rdi
add r15d, ebp
lea edx, [r15 + 1]
cmp r15d, 8
jg 0x14001083f
lea r9d, [r14 + r14*4]
lea r14d, [r8 + r9*2]
xor r9d, r9d
jmp 0x14001084f
xor r9d, r9d
cmp r15d, 0xf
ja 0x14001084f
lea ecx, [rcx + rcx*4]
lea ecx, [r8 + rcx*2]
lea r10, [rbx + 1]
mov qword [rsp + 0x48], r10
movsx r8d, byte [rbx + 1]
mov rbx, r10
mov r15d, edx
jmp 0x140010753
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x60], 0
mov r12, qword [rsp + 0x70]
mov r10d, r8d
and r10d, 0xffffffdf
xor ebp, ebp
cmp r10d, 0x45
jne 0x1400108a9
cmp al, 0x30
je 0x1400108e7
test r15d, r15d
jne 0x1400108e7
test r9d, r9d
jne 0x1400108e7
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], r13
jmp 0x1400117a3
mov rbx, r13
mov rdx, qword [rsp + 0xa0]
test r15d, r15d
je 0x14001160d
mov dword [rsp + 0x38], 1
mov eax, dword [rdx + 0xc]
and eax, 3
je 0x140010922
cmp eax, 3
je 0x14001092a
xor r8d, r8d
cmp eax, 2
jne 0x140010933
mov r8d, 2
sub r8d, dword [rsp + 0x78]
jmp 0x140010933
mov qword [rsp + 0x70], r15
lea r15, [rbx + 1]
mov qword [rsp + 0x48], r15
movsx r8d, byte [rbx + 1]
xor edi, edi
cmp r8d, 0x2b
je 0x140010a6f
cmp r8d, 0x2d
mov rdx, qword [rsp + 0xa0]
jne 0x140010a85
mov edi, 1
jmp 0x140010a77
mov r8d, 1
jmp 0x140010933
mov rax, qword [rsp + 0x78]
lea r8d, [rax + 1]
mov dword [rsp + 0x88], r8d
test esi, esi
cmove esi, r15d
cmp r15d, 0x11
mov ebx, 0x11
cmovl ebx, r15d
mov eax, r14d
cvtsi2sd xmm6, rax
movsd qword [rsp + 0x50], xmm6
cmp ebx, 0xa
mov qword [rsp + 0x70], r15
jl 0x140010987
lea eax, [rbx - 9]
mov r8, qword [0x140031a08]
mov ecx, ecx
cvtsi2sd xmm0, rcx
mulsd xmm6, qword [r8 + rax*8]
addsd xmm6, xmm0
movsd qword [rsp + 0x50], xmm6
sub ebp, dword [rsp + 0x3c]
movq rax, xmm6
mov r15, rax
shr r15, 0x20
cmp dword [rsp + 0x68], 0x35
jg 0x140010b61
cmp dword [rsp + 0x70], 0xf
jg 0x140010b61
test ebp, ebp
je 0x140010a2b
jle 0x140010b33
cmp ebp, 0x16
ja 0x140010b4d
mov ecx, ebp
lea r9, [0x1400319a0]
or r15d, 0x100000
xor r8d, r8d
test eax, eax
setne r8b
cmovne r15d, eax
shl r8d, 5
add r8d, dword [r9 + rcx*4]
tzcnt eax, r15d
sub r8d, eax
add r8d, 0x15
xor eax, eax
cmp r8d, 0x36
setl al
mov r8, qword [0x140031a08]
mulsd xmm6, qword [r8 + rcx*8]
movsd qword [rsp + 0x50], xmm6
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
jmp 0x140011785
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0x50]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x210]
call fcn.140011e20
test eax, eax
jne 0x1400117a3
jmp 0x1400117cb
mov rdx, qword [rsp + 0xa0]
lea r15, [rbx + 2]
mov qword [rsp + 0x48], r15
movsx r8d, byte [rbx + 2]
lea r10d, [r8 - 0x30]
cmp r10d, 9
ja 0x140010b27
cmp r8d, 0x30
jne 0x140010ab5
inc r15
nop dword [rax]
mov qword [rsp + 0x48], r15
movsx r8d, byte [r15]
inc r15
cmp r8d, 0x30
je 0x140010aa0
dec r15
lea r10d, [r8 - 0x31]
xor ebp, ebp
cmp r10d, 8
ja 0x1400115ff
lea r13d, [r8 - 0x30]
lea r10, [r15 + 1]
mov qword [rsp + 0x48], r10
movzx r11d, byte [r15 + 1]
lea r10d, [r11 - 0x30]
cmp r10b, 9
ja 0x1400115c6
mov edx, edi
lea rbp, [r15 + 2]
nop dword [rax + rax]
movzx r8d, r11b
lea r10d, [r13 + r13*4]
lea r13d, [r8 + r10*2]
add r13d, 0xffffffd0
mov qword [rsp + 0x48], rbp
movzx r11d, byte [rbp]
lea edi, [r11 - 0x30]
inc rbp
cmp dil, 0xa
jb 0x140010af0
lea r8d, [r8 + r10*2]
add rbp, 0xfffffffffffffffe
mov edi, edx
jmp 0x1400115c9
mov qword [rsp + 0x48], rbx
xor ebp, ebp
jmp 0x1400115ff
cmp ebp, 0xffffffea
jb 0x140010b61
mov eax, ebp
neg eax
mov rcx, qword [0x140031a08]
divsd xmm6, qword [rcx + rax*8]
jmp 0x140011762
mov eax, 0x25
mov rcx, qword [rsp + 0x70]
sub eax, ecx
cmp ebp, eax
jle 0x140011741
mov eax, ebp
mov rcx, qword [rsp + 0x70]
mov edx, ecx
sub edx, ebx
add edx, eax
jle 0x140010c62
mov eax, edx
and eax, 0xf
je 0x140010b98
mov eax, eax
mov rcx, qword [0x140031a08]
mulsd xmm6, qword [rcx + rax*8]
movsd qword [rsp + 0x50], xmm6
movq r15, xmm6
shr r15, 0x20
xor ebx, ebx
cmp edx, 0x10
jb 0x140010d5e
mov ecx, edx
shr ecx, 4
xor eax, eax
cmp edx, 0x100
jb 0x140010c07
mov rax, qword [0x140031a00]
movsd xmm0, qword [rax + 0x20]
xor eax, eax
mov edx, r15d
shr edx, 0x14
and edx, 0x7ff
add eax, edx
add eax, 0xfffffc01
and r15d, 0x800fffff
or r15d, 0x3ff00000
mov dword [rsp + 0x54], r15d
movsd xmm1, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
add ecx, 0xfffffff0
movq r15, xmm1
shr r15, 0x20
cmp ecx, 0xf
ja 0x140010bc0
mov edx, r15d
shr edx, 0x14
and edx, 0x7ff
and r15d, 0x800fffff
or r15d, 0x3ff00000
mov dword [rsp + 0x54], r15d
movsd xmm6, qword [rsp + 0x50]
test ecx, ecx
je 0x140010d4f
mov r8, qword [0x140031a00]
jmp 0x140010c56
mov r9d, ecx
shr r9d, 1
add r8, 8
cmp ecx, 2
mov ecx, r9d
jb 0x140010d4f
test cl, 1
je 0x140010c40
mulsd xmm6, qword [r8]
jmp 0x140010c40
xor ebx, ebx
test edx, edx
jns 0x140010d5e
neg edx
mov eax, edx
and eax, 0xf
je 0x140010c92
mov eax, eax
mov rcx, qword [0x140031a08]
divsd xmm6, qword [rcx + rax*8]
movsd qword [rsp + 0x50], xmm6
movq r15, xmm6
shr r15, 0x20
cmp edx, 0x10
jb 0x140010d5e
mov ecx, edx
shr ecx, 4
xor eax, eax
cmp edx, 0x100
jb 0x140010cff
mov rax, qword [0x140031a10]
movsd xmm0, qword [rax + 0x20]
xor eax, eax
mov edx, r15d
shr edx, 0x14
and edx, 0x7ff
add eax, edx
add eax, 0xfffffc01
and r15d, 0x800fffff
or r15d, 0x3ff00000
mov dword [rsp + 0x54], r15d
movsd xmm1, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
add ecx, 0xfffffff0
movq r15, xmm1
shr r15, 0x20
cmp ecx, 0xf
ja 0x140010cb8
mov edx, r15d
shr edx, 0x14
and edx, 0x7ff
and r15d, 0x800fffff
or r15d, 0x3ff00000
mov dword [rsp + 0x54], r15d
movsd xmm6, qword [rsp + 0x50]
test ecx, ecx
je 0x140010d4f
mov r8, qword [0x140031a10]
jmp 0x140010d43
mov r9d, ecx
shr r9d, 1
add r8, 8
cmp ecx, 2
mov ecx, r9d
jb 0x140010d4f
test cl, 1
je 0x140010d31
mulsd xmm6, qword [r8]
jmp 0x140010d31
lea ebx, [rax + rdx]
add ebx, 0xfffffc01
movsd qword [rsp + 0x50], xmm6
mov r13d, ebp
lea rdx, [rsp + 0x44]
lea r8, [rsp + 0x40]
movapd xmm0, xmm6
call fcn.14002db50
mov r15, rax
mov qword [rsp + 0x90], rax
add ebx, dword [rsp + 0x44]
mov dword [rsp + 0x44], ebx
mov eax, dword [rsp + 0x40]
mov ebp, eax
mov rdi, qword [rsp + 0x68]
sub ebp, edi
jle 0x140010db0
mov rcx, r15
mov edx, ebp
call fcn.14002e8e0
add ebp, dword [rsp + 0x44]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x44], ebp
mov eax, edi
mov ebx, ebp
mov qword [rsp + 0x60], r15
mov r8d, ebx
sub r8d, edi
add r8d, eax
mov rdx, qword [rsp + 0xa0]
mov ecx, dword [rdx + 8]
inc ecx
mov dword [rsp + 0x3c], 0
cmp r8d, ecx
jle 0x140010de7
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x14001195b
mov edi, dword [rdx + 4]
mov dword [rsp + 0x5c], r8d
cmp r8d, edi
jge 0x140010e26
sub ebx, edi
mov ebp, r13d
mov r15, qword [rsp + 0x70]
jle 0x140011586
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.14002d670
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x90], rax
add dword [rsp + 0x40], ebx
jmp 0x140011b80
mov dword [rsp + 0x3c], 0
mov ebp, r13d
mov ebx, dword [rsp + 0x88]
mov rax, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0x20], eax
mov rcx, r12
mov edx, esi
mov r8d, r15d
mov r9d, r14d
call fcn.14002e5b0
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x8c], ecx
mov qword [rsp + 0xe8], rax
add rax, 0x10
mov qword [rsp + 0xf0], rax
mov r15d, ebp
neg r15d
test ebp, ebp
mov eax, 0
cmovs ebp, eax
cmovns r15d, eax
mov rax, qword [rsp + 0x68]
inc eax
mov dword [rsp + 0xe0], eax
and ebx, 1
mov dword [rsp + 0xd8], ebx
movsd xmm8, qword [0x140031968]
movsd xmm9, qword [0x140031970]
movsd xmm10, qword [0x140031978]
movapd xmm11, xmmword [0x140031980]
movsd xmm12, qword [0x140031950]
movsd xmm13, qword [0x140031958]
movsd xmm14, qword [0x140031960]
xorpd xmm15, xmm15
xor eax, eax
mov qword [rsp + 0x70], rax
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0xdc], r15d
mov dword [rsp + 0xc8], ebp
jmp 0x140010f4e
ucomisd xmm6, xmm7
ja 0x140011573
xor eax, eax
mov qword [rsp + 0x70], rax
cmp dword [rsp + 0x3c], 0
je 0x140011092
mov rcx, qword [rsp + 0xc0]
call fcn.14002d040
mov rcx, r12
call fcn.14002d040
mov rcx, rsi
call fcn.14002d040
mov rcx, rdi
call fcn.14002d040
mov rsi, qword [rsp + 0xe8]
mov ecx, dword [rsi + 8]
call fcn.14002cea0
mov r12, rax
lea rcx, [rax + 0x10]
movsxd rax, dword [rsi + 0x14]
lea r8, [rax*4 + 8]
mov rdx, qword [rsp + 0xf0]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 8]
call fcn.14002cea0
mov rbx, rax
lea rcx, [rax + 0x10]
lea rdx, [r14 + 0x10]
mov qword [rsp + 0x60], r14
movsxd rax, dword [r14 + 0x14]
lea r8, [rax*4 + 8]
call sub.msvcrt.dll_memcpy
mov r13d, dword [rsp + 0x40]
mov esi, r13d
mov rax, qword [rsp + 0x70]
sub esi, eax
mov r14d, dword [rsp + 0x44]
lea edi, [r14 + rax]
mov ecx, 1
call fcn.14002d220
test edi, edi
mov ecx, edi
mov r8d, 0
cmovns ecx, r8d
cmovs edi, r8d
mov edx, ebp
sub edx, ecx
add edi, r15d
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + 0x84], esi
sub ecx, esi
sub r13d, dword [rsp + 0x68]
add r13d, r14d
sub r13d, dword [rsp + 0xb8]
cmovge r13d, r8d
add r13d, ecx
lea ebp, [rdi + r13]
add r13d, edx
cmp ebp, r13d
mov r14d, r13d
cmovl r14d, ebp
cmp r14d, edi
cmovge r14d, edi
test r14d, r14d
cmovle r14d, r8d
test r15d, r15d
jle 0x14001105d
mov rcx, rax
mov edx, r15d
call fcn.14002d420
mov rsi, rax
mov rcx, rax
mov rdx, rbx
call fcn.14002d2e0
mov r15, r12
mov r12, rax
mov rcx, rbx
call fcn.14002d040
mov rcx, r12
mov r12, r15
jmp 0x140011063
mov rsi, rax
mov rcx, rbx
mov rax, qword [rsp + 0x70]
add eax, r14d
sub ebp, eax
test ebp, ebp
jle 0x140011084
mov edx, ebp
call fcn.14002d670
mov rbp, rax
mov ebx, dword [rsp + 0x88]
jmp 0x1400110b0
mov ebx, dword [rsp + 0x88]
js 0x1400110a4
mov rbp, rcx
jmp 0x1400110b0
mov rcx, r14
call fcn.14002ea30
mov qword [rsp + 0x70], rax
jmp 0x140010f29
neg ebp
mov edx, ebp
mov rbp, rcx
call fcn.14002e8e0
sub r13d, r14d
mov edx, dword [rsp + 0xc8]
test edx, edx
je 0x1400110c9
mov rcx, r12
call fcn.14002d420
mov r12, rax
sub edi, r14d
test r13d, r13d
jle 0x1400110df
mov rcx, r12
mov edx, r13d
call fcn.14002d670
mov r12, rax
mov r14, qword [rsp + 0x60]
test edi, edi
jle 0x1400110f5
mov rcx, rsi
mov edx, edi
call fcn.14002d670
mov rsi, rax
mov rcx, rbp
mov rdx, r12
call fcn.14002d890
mov rdi, rax
cmp dword [rax + 0x14], 1
jg 0x140011113
cmp dword [rdi + 0x18], 0
je 0x1400115b6
mov r13d, dword [rdi + 0x10]
mov dword [rdi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call fcn.14002d830
test ebx, ebx
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xd0], r12
je 0x140011174
test eax, eax
jg 0x140011174
mov ebp, r13d
xor ebp, dword [rsp + 0xd8]
je 0x1400117d2
test r13d, r13d
je 0x140011204
mov r12b, 1
xor edx, edx
mov ecx, 0x20
mov dword [rsp + 0x8c], 0x21
jmp 0x1400112c4
test eax, eax
js 0x140011838
je 0x14001189e
mov rcx, rdi
mov rdx, rsi
call fcn.14002e690
xor ebp, ebp
ucomisd xmm12, xmm0
jae 0x1400111f8
movapd xmm6, xmm0
mulsd xmm6, xmm13
xor ecx, ecx
test r13d, r13d
setne r12b
sete cl
shl ecx, 4
add ecx, 0x10
xor ebp, ebp
ucomisd xmm14, xmm6
jbe 0x140011247
cvttsd2si edx, xmm6
cvttpd2dq xmm0, xmm6
cvtdq2pd xmm7, xmm0
subsd xmm6, xmm7
cmp ebx, 2
je 0x14001127e
cmp ebx, 1
je 0x140011285
test ebx, ebx
jne 0x1400112ce
ucomisd xmm6, xmm13
jae 0x140011291
jmp 0x1400112ce
mov eax, dword [rsp + 0x8c]
jmp 0x1400112aa
mov dword [rsp + 0x8c], 0x11
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0xb8]
je 0x14001143c
mov rcx, qword [rsp + 0x68]
xor eax, eax
cmp ecx, 0x20
jl 0x14001124f
nop dword [rax]
cmp dword [r14 + rax*4 + 0x18], 0
jne 0x1400112a5
inc rax
lea edx, [rcx - 0x20]
cmp ecx, 0x3f
mov ecx, edx
jg 0x140011230
jmp 0x140011251
xor edx, edx
movapd xmm7, xmm6
jmp 0x1400112ce
mov edx, ecx
cmp edx, 2
jl 0x140011b28
mov eax, eax
mov r8d, dword [r14 + rax*4 + 0x18]
tzcnt ecx, r8d
shr r8d, cl
mov dword [r14 + rax*4 + 0x18], r8d
dec edx
mov eax, 0x11
cmp ecx, edx
jb 0x1400112aa
jmp 0x140011b28
test r13d, r13d
jne 0x14001128a
jmp 0x1400112ce
test r13d, r13d
jne 0x1400112ce
ucomisd xmm6, xmm15
jbe 0x1400112ce
inc edx
mov eax, 0x30
sub eax, ecx
xorps xmm7, xmm7
cvtsi2sd xmm7, edx
mov ecx, eax
jmp 0x1400112ce
mov eax, 0x11
test r13d, r13d
mov dword [rsp + 0x8c], eax
je 0x14001143c
mov r12b, 1
xor edx, edx
mov ecx, 0x20
movapd xmm6, xmm8
movapd xmm7, xmm8
mov dword [rsp + 0x84], ecx
mov r15, rsi
mov eax, dword [rsp + 0x40]
mov esi, dword [rsp + 0x44]
add esi, eax
cmp dword [rsp + 0x3c], 0
mov dword [rsp + 0x70], edx
jne 0x140011313
mov r14, qword [rsp + 0x68]
mov ebx, r14d
sub ebx, eax
jle 0x140011313
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.14002d670
mov r13, rax
sub dword [rsp + 0x44], ebx
mov dword [rsp + 0x40], r14d
jmp 0x140011318
mov r13, qword [rsp + 0x60]
movapd xmm0, xmm7
lea rdx, [rsp + 0xe4]
lea r8, [rsp + 0xfc]
call fcn.14002db50
mov rbx, rax
mov edx, dword [rsp + 0xe4]
test edx, edx
js 0x14001134e
je 0x140011358
mov rcx, rbx
call fcn.14002d670
mov rbx, rax
jmp 0x140011358
neg edx
mov rcx, rbx
call fcn.14002e8e0
mov rcx, r13
mov rdx, rbx
test r12b, r12b
je 0x1400113c6
call fcn.14002ea70
mov r14, rax
mov qword [rsp + 0x90], rax
movsxd rdx, dword [rax + 0x14]
cmp edx, dword [r13 + 0x14]
mov r12, qword [rsp + 0xd0]
jg 0x14001139f
bsr ecx, dword [r14 + rdx*4 + 0x14]
xor ecx, 0x1f
bsr eax, dword [r13 + rdx*4 + 0x14]
xor eax, 0x1f
cmp ecx, eax
jae 0x1400114f0
cmp dword [rsp + 0x3c], 0
je 0x14001146d
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
xor ecx, ecx
cmp eax, dword [rsp + 0x68]
setne cl
mov dword [rsp + 0x3c], ecx
jmp 0x1400114f0
call fcn.14002d890
mov r14, rax
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0x3c], 0
mov dword [rsp + 0x3c], 1
mov r12, qword [rsp + 0xd0]
jne 0x1400114f0
movsxd rdx, dword [r13 + 0x14]
cmp dword [r14 + 0x14], edx
jl 0x140011415
bsr ecx, dword [r14 + rdx*4 + 0x14]
xor ecx, 0x1f
bsr eax, dword [r13 + rdx*4 + 0x14]
xor eax, 0x1f
cmp ecx, eax
jbe 0x1400114e1
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x5c]
cmp edi, eax
jne 0x1400114a6
dec dword [rsp + 0x40]
mov dword [rsp + 0x5c], eax
mov rdi, qword [rsp + 0x60]
jmp 0x1400114f0
xor edx, edx
mov ecx, 0x10
cmp dword [rsp + 0x3c], 0
je 0x140011494
movapd xmm6, xmm8
movapd xmm7, xmm8
mov r12d, 0
cmp dword [rsp + 0x84], 1
jg 0x1400112ce
jmp 0x140011a8e
mov rcx, r14
mov edx, 1
call fcn.14002e8e0
inc dword [rsp + 0x44]
inc dword [rsp + 0x5c]
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x70], 0
jmp 0x1400114f0
movapd xmm6, xmm8
movapd xmm7, xmm8
xor r12d, r12d
jmp 0x1400112ce
mov rcx, r14
mov edx, 1
call fcn.14002d670
mov r14, rax
mov qword [rsp + 0x90], rax
dec dword [rsp + 0x44]
dec edi
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x3c], 0
xor ebp, ebp
mov dword [rsp + 0x70], 0
mov rdi, qword [rsp + 0x60]
jmp 0x1400114f0
mov dword [rsp + 0x3c], 0
nop dword [rax]
mov rcx, rbx
call fcn.14002d040
mov rcx, r13
call fcn.14002d040
test ebp, ebp
jne 0x1400115ab
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x44]
cmp esi, eax
mov ebp, dword [rsp + 0xc8]
mov rsi, r15
mov r15d, dword [rsp + 0xdc]
jne 0x140010f17
cmp dword [rsp + 0x70], 0
je 0x140010f17
mulsd xmm7, xmm9
movapd xmm0, xmm6
addsd xmm0, xmm10
movapd xmm1, xmm7
xorpd xmm1, xmm11
ucomisd xmm1, xmm0
ja 0x140010f0d
ucomisd xmm0, xmm7
jbe 0x140010f17
movapd xmm0, xmm8
subsd xmm0, xmm7
ucomisd xmm0, xmm6
jbe 0x140010f17
mov ebx, dword [rsp + 0x8c]
or ebx, dword [rsp + 0x84]
jmp 0x1400117e0
jns 0x140011b80
add eax, ebx
mov dword [rsp + 0x40], eax
jle 0x140011b60
neg ebx
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.14002e8e0
jmp 0x140011b80
mov rbp, qword [rsp + 0xc0]
mov rsi, r15
mov ebx, dword [rsp + 0x8c]
mov dword [rsp + 0x38], ebx
jmp 0x1400117ec
mov rbp, r15
sub rbp, r15
inc rbp
cmp r8d, 0x4e50
movsx r8d, r11b
mov r10d, 0x4e1f
cmovge r13d, r10d
cmp rbp, 9
cmovge r13d, r10d
mov ebp, r13d
neg ebp
test edi, edi
cmove ebp, r13d
mov rdx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x70]
test r15d, r15d
jne 0x1400108bd
cmp al, 0x30
je 0x1400117a3
test r9d, r9d
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
jne 0x14001172c
cmp byte [rsp + 0x60], 0
je case.0x14001164f.74
add r8d, 0xffffffb7
cmp r8d, 0x25
ja case.0x14001164f.74
lea rax, [0x140011d7c]
movsxd rcx, dword [rax + r8*4]
add rcx, rax
jmp rcx
lea rdx, [0x140031990]
lea rcx, [rsp + 0x48]
call fcn.14002e720
test eax, eax
je case.0x14001164f.74
dec qword [rsp + 0x48]
lea rdx, str.inity
lea rcx, [rsp + 0x48]
call fcn.14002e720
test eax, eax
jne 0x140011689
inc qword [rsp + 0x48]
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x3c], 0
mov ebx, 3
mov rdx, qword [rsp + 0xa0]
jmp 0x140011a4e
lea rdx, [0x140031999]
lea rcx, [rsp + 0x48]
call fcn.14002e720
mov rdx, qword [rsp + 0xa0]
test eax, eax
je case.0x14001164f.74
mov dword [rsp + 0x38], 4
mov eax, dword [rdx + 8]
inc eax
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x3c], 0
mov ebx, 4
cmp byte [rax], 0x28
jne 0x140011a4e
lea rcx, [rsp + 0x48]
mov r8, qword [rsp + 0x210]
call fcn.14002ebd0
mov rdx, qword [rsp + 0xa0]
mov ebx, eax
mov dword [rsp + 0x38], eax
jmp 0x140011a4e
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], rbx
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
jmp 0x1400106a8
mov eax, 0xf
sub eax, ecx
mov ecx, ebp
sub ecx, eax
mov r8, qword [0x140031a08]
mulsd xmm6, qword [r8 + rax*8]
movsxd rax, ecx
mulsd xmm6, qword [r8 + rax*8]
movsd qword [rsp + 0x50], xmm6
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x50]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x210]
call fcn.140011e20
test eax, eax
je 0x1400117c2
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
jmp 0x1400106a8
movq r15, xmm6
shr r15, 0x20
xor eax, eax
jmp 0x140010b63
xor ebx, ebx
test r13d, r13d
sete bl
shl ebx, 4
add ebx, 0x11
mov dword [rsp + 0x38], ebx
mov rbp, qword [rsp + 0xc0]
cmp dword [rsp + 0x3c], 0
jne 0x140011906
mov r15, rsi
mov rsi, rbp
mov dword [rsp + 0x3c], 0
mov rax, qword [rsp + 0x68]
mov ebp, eax
sub ebp, dword [rsp + 0x40]
je 0x140011900
test ebp, ebp
jle 0x1400118f0
mov rcx, r14
mov edx, ebp
call fcn.14002d670
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x1400118fc
xor ebx, ebx
test r13d, r13d
sete bl
shl ebx, 4
add ebx, 0x11
mov dword [rsp + 0x38], ebx
test r13d, r13d
jne 0x1400117ec
cmp dword [rsp + 0x84], 1
jg 0x1400117ec
cmp dword [rsp + 0x3c], 0
jne 0x1400117ec
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0xb8]
je 0x1400117f7
mov rcx, rdi
mov edx, 1
call fcn.14002d670
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call fcn.14002d830
test eax, eax
jle 0x1400117f7
lea rax, [r14 + 0x14]
mov ecx, 0x11
jmp 0x140011ae3
lea rax, [r14 + 0x14]
test r13d, r13d
je 0x140011acb
mov ebx, 0x11
cmp dword [rsp + 0x3c], 0
je 0x140011c5d
mov ecx, dword [rsp + 0x40]
lea rdx, [r14 + 0x18]
mov r8d, ecx
sar r8d, 5
movsxd r8, r8d
lea r9, [r14 + r8*4]
add r9, 0x18
mov r8, rdx
cmp r8, r9
jae 0x140011c3e
cmp dword [r8], 0xffffffff
lea r8, [r8 + 4]
je 0x1400118d8
jmp 0x140011c5d
mov edx, ebp
neg edx
mov rcx, r14
call fcn.14002e8e0
sub dword [rsp + 0x44], ebp
mov rbp, rsi
mov rsi, r15
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
mov rcx, rbp
call fcn.14002d040
mov rcx, r12
call fcn.14002d040
mov rcx, rsi
call fcn.14002d040
mov rcx, qword [rsp + 0xe8]
call fcn.14002d040
mov rcx, rdi
call fcn.14002d040
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xa0]
cmp eax, dword [rcx + 8]
mov r15, qword [rsp + 0x68]
jle 0x140011a60
mov rcx, r14
call fcn.14002d040
mov qword [rsp + 0x90], 0
call sub.msvcrt.dll__errno
mov r8, qword [rsp + 0xa0]
mov dword [rax], 0x22
mov eax, dword [r8 + 0xc]
and eax, 3
cmp eax, 1
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x78]
je 0x140011a19
cmp eax, 3
je 0x140011a14
cmp eax, 2
jne 0x1400119b2
test r9d, r9d
je 0x140011a19
mov dword [rsp + 0x38], 0x11
mov eax, dword [r8 + 8]
mov dword [rdx], eax
mov esi, dword [r8]
lea eax, [rsi + 0x1f]
sar eax, 5
movsxd rdi, eax
test esi, esi
jle 0x1400119f7
lea rax, [rcx + rdi*4]
lea rdx, [rcx + 4]
cmp rax, rdx
cmova rdx, rax
mov r8, rcx
not r8
add r8, rdx
and r8, 0xfffffffffffffffc
add r8, 4
mov dl, 0xff
call sub.msvcrt.dll_memset
mov ebx, 0x11
and esi, 0x1f
je 0x140011a5d
mov cl, 0x20
sub cl, sil
mov rax, qword [rsp + 0x210]
shr dword [rax + rdi*4 - 4], cl
jmp 0x140011a5d
test r9d, r9d
je 0x1400119b2
mov dword [rsp + 0x38], 0xa3
mov eax, r15d
sar eax, 5
mov edx, r15d
and edx, 0x1f
cmp edx, 1
sbb eax, 0xffffffff
movsxd r8, eax
shl r8, 2
xor edx, edx
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0xa0]
mov ebx, 0xa3
mov eax, dword [rdx + 8]
inc eax
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
xor r14d, r14d
cmp dword [rsp + 0x3c], 0
je 0x140011c19
cmp dword [rsp + 0xb4], 0
je 0x140011bec
mov dword [r14 + 0x14], 0
mov dword [rsp + 0x38], 0x50
jmp 0x140011c0e
mov r14, qword [rsp + 0x60]
lea rax, [r14 + 0x14]
mov r12, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc0]
mov dword [rax], 0
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x38], 0x50
mov ebx, 0x50
jmp 0x1400117ec
mov ebx, 0x21
cmp dword [rsp + 0x84], 1
jne 0x140011c5d
mov ecx, 1
mov ebx, ecx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x5c]
cmp ecx, dword [rsp + 0xb8]
jne 0x140011cd4
mov dword [rsp + 0x38], 0x21
cmp dword [rax], 1
jne 0x140011cca
mov eax, dword [r14 + 0x18]
cmp eax, 1
mov ecx, dword [rsp + 0xb4]
cmove ecx, eax
mov dword [rsp + 0xb4], ecx
jmp 0x140011cca
mov dword [rsp + 0x38], 0x11
mov eax, dword [rsp + 0x5c]
dec eax
mov dword [rsp + 0x44], eax
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x40], edx
mov rcx, r14
call fcn.1400102f0
mov r14, rax
mov qword [rsp + 0x90], rax
mov ebx, 0x11
jmp 0x1400117e4
cmp eax, 0xfffffffe
jle 0x140011bbd
mov dword [rsp + 0x40], 1
movabs rax, 0x100000001
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x14], rax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x3c], 1
cmp dword [rsp + 0xb4], 0
mov ebx, dword [rsp + 0x88]
mov rax, qword [rsp + 0xc8]
je 0x140011c33
mov ecx, dword [rsp + 0x5c]
inc ecx
cmp ecx, edi
mov ecx, edi
mov dword [rsp + 0x5c], edi
jge 0x140010e45
mov r14, qword [rsp + 0x60]
mov qword [r14 + 0x14], 0
mov rax, qword [rsp + 0xa8]
mov dword [rax], edi
mov ebx, 0x50
mov r15, qword [rsp + 0x68]
cmp dword [rsp + 0xb4], 0
jne 0x140011a79
mov eax, ebx
and eax, 0xfffffff8
xor ecx, ecx
cmp dword [r14 + 0x14], 0
setg cl
lea eax, [rax + rcx*2]
mov dword [rsp + 0x38], eax
test bl, 0x30
je 0x140011c19
or eax, 0x40
mov dword [rsp + 0x38], eax
call sub.msvcrt.dll__errno
mov dword [rax], 0x22
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
jmp 0x1400106a8
mov ecx, edi
mov dword [rsp + 0x5c], edi
jmp 0x140010e45
and ecx, 0x1f
je 0x140011cf9
mov r9d, 0xffffffff
shl r9d, cl
or r9d, dword [r8]
cmp r9d, 0xffffffff
je 0x140011cf9
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x84]
cmp ecx, dword [rsp + 0x68]
jge 0x140011c79
cmp dword [rsp + 0x3c], 0
je 0x1400117f7
test byte [r14 + 0x18], 1
je 0x1400117ec
test r13d, r13d
je 0x140011d34
mov rcx, r14
call fcn.140010220
mov r14, rax
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x40]
mov ecx, eax
neg ecx
and ecx, 0x1f
movsxd rdx, dword [r14 + 0x14]
bsr edx, dword [r14 + rdx*4 + 0x14]
xor edx, 0x1f
cmp edx, ecx
je 0x140011cc2
inc eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 0x21
mov ebx, 0x21
jmp 0x1400117ec
mov rdx, qword [rsp + 0x68]
sub dword [rsp + 0x44], edx
mov dword [rsp + 0x40], edx
mov rcx, r14
call fcn.1400102f0
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x1400117ec
mov dword [rax], 1
mov dword [rdx], 1
mov dword [rsp + 0x40], 1
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb8]
lea eax, [rax + rcx - 1]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x38], 0x21
mov ebx, 0x21
jmp 0x1400117f7
cmp dword [rsp + 0x84], 1
je 0x140011aa7
lea rcx, [r14 + 0x18]
movsxd rax, dword [rax]
lea rax, [rcx + rax*4]
mov edx, dword [rcx]
test edx, edx
jne 0x140011d64
mov dword [rcx], 0xffffffff
add rcx, 4
cmp rcx, rax
jb 0x140011d4d
jmp 0x140011d68
dec edx
mov dword [rcx], edx
mov dword [rsp + 0x38], 0x11
mov ebx, 0x11
jmp 0x1400117ec