Function at 0x1401e3920
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 0x1401e39f3
inc r12
movzx eax, byte [r12 - 1]
movsx ecx, al
lea r8d, [rcx - 9]
cmp r8d, 5
jb 0x1401e39f0
cmp ecx, 0x2a
jg 0x1401e3a19
cmp ecx, 0x20
je 0x1401e39f0
test ecx, ecx
je 0x1401e3a87
jmp 0x1401e3a9b
cmp ecx, 0x2b
je 0x1401e3a2a
cmp ecx, 0x2d
jne 0x1401e3a9b
mov eax, 1
jmp 0x1401e3a2c
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], r12
movzx eax, byte [r12]
test al, al
je 0x1401e3a87
cmp al, 0x30
jne 0x1401e3aae
movsx ecx, byte [r12 + 1]
or ecx, 0x20
cmp ecx, 0x78
jne 0x1401e3bb8
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.1401f2e10
mov dword [rsp + 0x38], eax
cmp eax, 6
jne 0x1401e3c48
jmp 0x1401e3a8f
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], r13
xor edi, edi
jmp 0x1401e3c48
dec r12
mov qword [rsp + 0x48], r12
xor ecx, ecx
mov qword [rsp + 0x78], rcx
cmp al, 0x30
je 0x1401e3a43
mov r8d, eax
mov qword [rsp + 0x68], r15
lea ecx, [r8 - 0x30]
cmp cl, 9
ja 0x1401e3b0e
lea r9, [r12 + 1]
xor ecx, ecx
xor r14d, r14d
xor esi, esi
jmp 0x1401e3af4
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 0x1401e3b1a
movzx r8d, r8b
cmp esi, 8
jbe 0x1401e3ad0
cmp esi, 0xf
ja 0x1401e3adc
lea ecx, [rcx + rcx*4]
lea ecx, [r8 + rcx*2]
add ecx, 0xffffffd0
jmp 0x1401e3adc
xor esi, esi
xor r14d, r14d
xor ecx, ecx
mov r9, r12
jmp 0x1401e3b1d
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 0x1401e3b9c
movzx r10d, byte [rdi + 1]
mov r11d, 1
test r10b, r10b
je 0x1401e3b74
nop word [rax + rax]
cmp byte [r9 + r11], r10b
jne 0x1401e3b9c
movzx r10d, byte [rdi + r11 + 1]
inc r11
test r10b, r10b
jne 0x1401e3b60
mov r10d, r11d
lea rbx, [r9 + r10]
mov qword [rsp + 0x48], rbx
movsx r8d, byte [r9 + r10]
xor r11d, r11d
test esi, esi
je 0x1401e3be4
mov r15d, esi
xor r9d, r9d
mov qword [rsp + 0x70], r12
jmp 0x1401e3cf3
mov dl, 1
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x3c], 0
mov rbx, r9
mov r15d, esi
xor r9d, r9d
jmp 0x1401e3e1a
inc r12
nop dword [rax + rax]
mov qword [rsp + 0x48], r12
movzx r8d, byte [r12]
inc r12
cmp r8d, 0x30
je 0x1401e3bc0
test r8d, r8d
je 0x1401e51c9
dec r12
jmp 0x1401e3ab1
xor r15d, r15d
mov r11d, 0
cmp r8b, 0x30
jne 0x1401e3c18
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 0x1401e3c00
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 0x1401e3e1a
jmp 0x1401e3d04
test rbx, rbx
je 0x1401e3c55
mov rax, qword [rsp + 0x48]
mov qword [rbx], rax
test edi, edi
je 0x1401e3c5e
or byte [rsp + 0x38], 8
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x1401e3c83
mov rcx, rsi
mov edx, r15d
call fcn.1401f3840
mov rcx, qword [rsp + 0x90]
call fcn.1401f2110
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 0x1401e3e08
mov ebp, r9d
lea r9d, [rbp + 1]
add r8d, 0xffffffd0
je 0x1401e3d26
add r11d, r9d
test ebp, ebp
jle 0x1401e3dc8
cmp ebp, 1
jne 0x1401e3d2e
mov rdi, r15
mov r9d, r15d
jmp 0x1401e3d93
mov edx, r15d
jmp 0x1401e3def
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 0x1401e3d40
test bpl, 1
je 0x1401e3dc2
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 0x1401e3ddf
lea r9d, [r14 + r14*4]
lea r14d, [r8 + r9*2]
xor r9d, r9d
jmp 0x1401e3def
xor r9d, r9d
cmp r15d, 0xf
ja 0x1401e3def
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 0x1401e3cf3
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 0x1401e3e49
cmp al, 0x30
je 0x1401e3e87
test r15d, r15d
jne 0x1401e3e87
test r9d, r9d
jne 0x1401e3e87
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], r13
jmp 0x1401e4d43
mov rbx, r13
mov rdx, qword [rsp + 0xa0]
test r15d, r15d
je 0x1401e4bad
mov dword [rsp + 0x38], 1
mov eax, dword [rdx + 0xc]
and eax, 3
je 0x1401e3ec2
cmp eax, 3
je 0x1401e3eca
xor r8d, r8d
cmp eax, 2
jne 0x1401e3ed3
mov r8d, 2
sub r8d, dword [rsp + 0x78]
jmp 0x1401e3ed3
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 0x1401e400f
cmp r8d, 0x2d
mov rdx, qword [rsp + 0xa0]
jne 0x1401e4025
mov edi, 1
jmp 0x1401e4017
mov r8d, 1
jmp 0x1401e3ed3
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 0x1401e3f27
lea eax, [rbx - 9]
mov r8, qword [str.Po__]
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 0x1401e4101
cmp dword [rsp + 0x70], 0xf
jg 0x1401e4101
test ebp, ebp
je 0x1401e3fcb
jle 0x1401e40d3
cmp ebp, 0x16
ja 0x1401e40ed
mov ecx, ebp
lea r9, [0x140216620]
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 [str.Po__]
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 0x1401e4d25
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.1401e53c0
test eax, eax
jne 0x1401e4d43
jmp 0x1401e4d6b
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 0x1401e40c7
cmp r8d, 0x30
jne 0x1401e4055
inc r15
nop dword [rax]
mov qword [rsp + 0x48], r15
movsx r8d, byte [r15]
inc r15
cmp r8d, 0x30
je 0x1401e4040
dec r15
lea r10d, [r8 - 0x31]
xor ebp, ebp
cmp r10d, 8
ja 0x1401e4b9f
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 0x1401e4b66
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 0x1401e4090
lea r8d, [r8 + r10*2]
add rbp, 0xfffffffffffffffe
mov edi, edx
jmp 0x1401e4b69
mov qword [rsp + 0x48], rbx
xor ebp, ebp
jmp 0x1401e4b9f
cmp ebp, 0xffffffea
jb 0x1401e4101
mov eax, ebp
neg eax
mov rcx, qword [str.Po__]
divsd xmm6, qword [rcx + rax*8]
jmp 0x1401e4d02
mov eax, 0x25
mov rcx, qword [rsp + 0x70]
sub eax, ecx
cmp ebp, eax
jle 0x1401e4ce1
mov eax, ebp
mov rcx, qword [rsp + 0x70]
mov edx, ecx
sub edx, ebx
add edx, eax
jle 0x1401e4202
mov eax, edx
and eax, 0xf
je 0x1401e4138
mov eax, eax
mov rcx, qword [str.Po__]
mulsd xmm6, qword [rcx + rax*8]
movsd qword [rsp + 0x50], xmm6
movq r15, xmm6
shr r15, 0x20
xor ebx, ebx
cmp edx, 0x10
jb 0x1401e42fe
mov ecx, edx
shr ecx, 4
xor eax, eax
cmp edx, 0x100
jb 0x1401e41a7
mov rax, qword [0x140216680]
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 0x1401e4160
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 0x1401e42ef
mov r8, qword [0x140216680]
jmp 0x1401e41f6
mov r9d, ecx
shr r9d, 1
add r8, 8
cmp ecx, 2
mov ecx, r9d
jb 0x1401e42ef
test cl, 1
je 0x1401e41e0
mulsd xmm6, qword [r8]
jmp 0x1401e41e0
xor ebx, ebx
test edx, edx
jns 0x1401e42fe
neg edx
mov eax, edx
and eax, 0xf
je 0x1401e4232
mov eax, eax
mov rcx, qword [str.Po__]
divsd xmm6, qword [rcx + rax*8]
movsd qword [rsp + 0x50], xmm6
movq r15, xmm6
shr r15, 0x20
cmp edx, 0x10
jb 0x1401e42fe
mov ecx, edx
shr ecx, 4
xor eax, eax
cmp edx, 0x100
jb 0x1401e429f
mov rax, qword [str._o__]
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 0x1401e4258
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 0x1401e42ef
mov r8, qword [str._o__]
jmp 0x1401e42e3
mov r9d, ecx
shr r9d, 1
add r8, 8
cmp ecx, 2
mov ecx, r9d
jb 0x1401e42ef
test cl, 1
je 0x1401e42d1
mulsd xmm6, qword [r8]
jmp 0x1401e42d1
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.1401f2c20
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 0x1401e4350
mov rcx, r15
mov edx, ebp
call fcn.1401f39b0
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 0x1401e4387
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x1401e4efb
mov edi, dword [rdx + 4]
mov dword [rsp + 0x5c], r8d
cmp r8d, edi
jge 0x1401e43c6
sub ebx, edi
mov ebp, r13d
mov r15, qword [rsp + 0x70]
jle 0x1401e4b26
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.1401f2740
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x90], rax
add dword [rsp + 0x40], ebx
jmp 0x1401e5120
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.1401f3680
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 [0x1402165e8]
movsd xmm9, qword [0x1402165f0]
movsd xmm10, qword [0x1402165f8]
movapd xmm11, xmmword [0x140216600]
movsd xmm12, qword [0x1402165d0]
movsd xmm13, qword [0x1402165d8]
movsd xmm14, qword [0x1402165e0]
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 0x1401e44ee
ucomisd xmm6, xmm7
ja 0x1401e4b13
xor eax, eax
mov qword [rsp + 0x70], rax
cmp dword [rsp + 0x3c], 0
je 0x1401e4632
mov rcx, qword [rsp + 0xc0]
call fcn.1401f2110
mov rcx, r12
call fcn.1401f2110
mov rcx, rsi
call fcn.1401f2110
mov rcx, rdi
call fcn.1401f2110
mov rsi, qword [rsp + 0xe8]
mov ecx, dword [rsi + 8]
call fcn.1401f1f70
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.1401f1f70
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.1401f22f0
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 0x1401e45fd
mov rcx, rax
mov edx, r15d
call fcn.1401f24f0
mov rsi, rax
mov rcx, rax
mov rdx, rbx
call fcn.1401f23b0
mov r15, r12
mov r12, rax
mov rcx, rbx
call fcn.1401f2110
mov rcx, r12
mov r12, r15
jmp 0x1401e4603
mov rsi, rax
mov rcx, rbx
mov rax, qword [rsp + 0x70]
add eax, r14d
sub ebp, eax
test ebp, ebp
jle 0x1401e4624
mov edx, ebp
call fcn.1401f2740
mov rbp, rax
mov ebx, dword [rsp + 0x88]
jmp 0x1401e4650
mov ebx, dword [rsp + 0x88]
js 0x1401e4644
mov rbp, rcx
jmp 0x1401e4650
mov rcx, r14
call fcn.1401f3b00
mov qword [rsp + 0x70], rax
jmp 0x1401e44c9
neg ebp
mov edx, ebp
mov rbp, rcx
call fcn.1401f39b0
sub r13d, r14d
mov edx, dword [rsp + 0xc8]
test edx, edx
je 0x1401e4669
mov rcx, r12
call fcn.1401f24f0
mov r12, rax
sub edi, r14d
test r13d, r13d
jle 0x1401e467f
mov rcx, r12
mov edx, r13d
call fcn.1401f2740
mov r12, rax
mov r14, qword [rsp + 0x60]
test edi, edi
jle 0x1401e4695
mov rcx, rsi
mov edx, edi
call fcn.1401f2740
mov rsi, rax
mov rcx, rbp
mov rdx, r12
call fcn.1401f2960
mov rdi, rax
cmp dword [rax + 0x14], 1
jg 0x1401e46b3
cmp dword [rdi + 0x18], 0
je 0x1401e4b56
mov r13d, dword [rdi + 0x10]
mov dword [rdi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call fcn.1401f2900
test ebx, ebx
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xd0], r12
je 0x1401e4714
test eax, eax
jg 0x1401e4714
mov ebp, r13d
xor ebp, dword [rsp + 0xd8]
je 0x1401e4d72
test r13d, r13d
je 0x1401e47a4
mov r12b, 1
xor edx, edx
mov ecx, 0x20
mov dword [rsp + 0x8c], 0x21
jmp 0x1401e4864
test eax, eax
js 0x1401e4dd8
je 0x1401e4e3e
mov rcx, rdi
mov rdx, rsi
call fcn.1401f3760
xor ebp, ebp
ucomisd xmm12, xmm0
jae 0x1401e4798
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 0x1401e47e7
cvttsd2si edx, xmm6
cvttpd2dq xmm0, xmm6
cvtdq2pd xmm7, xmm0
subsd xmm6, xmm7
cmp ebx, 2
je 0x1401e481e
cmp ebx, 1
je 0x1401e4825
test ebx, ebx
jne 0x1401e486e
ucomisd xmm6, xmm13
jae 0x1401e4831
jmp 0x1401e486e
mov eax, dword [rsp + 0x8c]
jmp 0x1401e484a
mov dword [rsp + 0x8c], 0x11
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0xb8]
je 0x1401e49dc
mov rcx, qword [rsp + 0x68]
xor eax, eax
cmp ecx, 0x20
jl 0x1401e47ef
nop dword [rax]
cmp dword [r14 + rax*4 + 0x18], 0
jne 0x1401e4845
inc rax
lea edx, [rcx - 0x20]
cmp ecx, 0x3f
mov ecx, edx
jg 0x1401e47d0
jmp 0x1401e47f1
xor edx, edx
movapd xmm7, xmm6
jmp 0x1401e486e
mov edx, ecx
cmp edx, 2
jl 0x1401e50c8
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 0x1401e484a
jmp 0x1401e50c8
test r13d, r13d
jne 0x1401e482a
jmp 0x1401e486e
test r13d, r13d
jne 0x1401e486e
ucomisd xmm6, xmm15
jbe 0x1401e486e
inc edx
mov eax, 0x30
sub eax, ecx
xorps xmm7, xmm7
cvtsi2sd xmm7, edx
mov ecx, eax
jmp 0x1401e486e
mov eax, 0x11
test r13d, r13d
mov dword [rsp + 0x8c], eax
je 0x1401e49dc
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 0x1401e48b3
mov r14, qword [rsp + 0x68]
mov ebx, r14d
sub ebx, eax
jle 0x1401e48b3
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.1401f2740
mov r13, rax
sub dword [rsp + 0x44], ebx
mov dword [rsp + 0x40], r14d
jmp 0x1401e48b8
mov r13, qword [rsp + 0x60]
movapd xmm0, xmm7
lea rdx, [rsp + 0xe4]
lea r8, [rsp + 0xfc]
call fcn.1401f2c20
mov rbx, rax
mov edx, dword [rsp + 0xe4]
test edx, edx
js 0x1401e48ee
je 0x1401e48f8
mov rcx, rbx
call fcn.1401f2740
mov rbx, rax
jmp 0x1401e48f8
neg edx
mov rcx, rbx
call fcn.1401f39b0
mov rcx, r13
mov rdx, rbx
test r12b, r12b
je 0x1401e4966
call fcn.1401f3b40
mov r14, rax
mov qword [rsp + 0x90], rax
movsxd rdx, dword [rax + 0x14]
cmp edx, dword [r13 + 0x14]
mov r12, qword [rsp + 0xd0]
jg 0x1401e493f
bsr ecx, dword [r14 + rdx*4 + 0x14]
xor ecx, 0x1f
bsr eax, dword [r13 + rdx*4 + 0x14]
xor eax, 0x1f
cmp ecx, eax
jae 0x1401e4a90
cmp dword [rsp + 0x3c], 0
je 0x1401e4a0d
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 0x1401e4a90
call fcn.1401f2960
mov r14, rax
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0x3c], 0
mov dword [rsp + 0x3c], 1
mov r12, qword [rsp + 0xd0]
jne 0x1401e4a90
movsxd rdx, dword [r13 + 0x14]
cmp dword [r14 + 0x14], edx
jl 0x1401e49b5
bsr ecx, dword [r14 + rdx*4 + 0x14]
xor ecx, 0x1f
bsr eax, dword [r13 + rdx*4 + 0x14]
xor eax, 0x1f
cmp ecx, eax
jbe 0x1401e4a81
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x5c]
cmp edi, eax
jne 0x1401e4a46
dec dword [rsp + 0x40]
mov dword [rsp + 0x5c], eax
mov rdi, qword [rsp + 0x60]
jmp 0x1401e4a90
xor edx, edx
mov ecx, 0x10
cmp dword [rsp + 0x3c], 0
je 0x1401e4a34
movapd xmm6, xmm8
movapd xmm7, xmm8
mov r12d, 0
cmp dword [rsp + 0x84], 1
jg 0x1401e486e
jmp 0x1401e502e
mov rcx, r14
mov edx, 1
call fcn.1401f39b0
inc dword [rsp + 0x44]
inc dword [rsp + 0x5c]
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x70], 0
jmp 0x1401e4a90
movapd xmm6, xmm8
movapd xmm7, xmm8
xor r12d, r12d
jmp 0x1401e486e
mov rcx, r14
mov edx, 1
call fcn.1401f2740
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 0x1401e4a90
mov dword [rsp + 0x3c], 0
nop dword [rax]
mov rcx, rbx
call fcn.1401f2110
mov rcx, r13
call fcn.1401f2110
test ebp, ebp
jne 0x1401e4b4b
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 0x1401e44b7
cmp dword [rsp + 0x70], 0
je 0x1401e44b7
mulsd xmm7, xmm9
movapd xmm0, xmm6
addsd xmm0, xmm10
movapd xmm1, xmm7
xorpd xmm1, xmm11
ucomisd xmm1, xmm0
ja 0x1401e44ad
ucomisd xmm0, xmm7
jbe 0x1401e44b7
movapd xmm0, xmm8
subsd xmm0, xmm7
ucomisd xmm0, xmm6
jbe 0x1401e44b7
mov ebx, dword [rsp + 0x8c]
or ebx, dword [rsp + 0x84]
jmp 0x1401e4d80
jns 0x1401e5120
add eax, ebx
mov dword [rsp + 0x40], eax
jle 0x1401e5100
neg ebx
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.1401f39b0
jmp 0x1401e5120
mov rbp, qword [rsp + 0xc0]
mov rsi, r15
mov ebx, dword [rsp + 0x8c]
mov dword [rsp + 0x38], ebx
jmp 0x1401e4d8c
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 0x1401e3e5d
cmp al, 0x30
je 0x1401e4d43
test r9d, r9d
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
jne 0x1401e4ccc
cmp byte [rsp + 0x60], 0
je case.0x1401e4bef.74
add r8d, 0xffffffb7
cmp r8d, 0x25
ja case.0x1401e4bef.74
lea rax, [0x1401e531c]
movsxd rcx, dword [rax + r8*4]
add rcx, rax
jmp rcx
lea rdx, [0x140216610]
lea rcx, [rsp + 0x48]
call fcn.1401f37f0
test eax, eax
je case.0x1401e4bef.74
dec qword [rsp + 0x48]
lea rdx, str.inity
lea rcx, [rsp + 0x48]
call fcn.1401f37f0
test eax, eax
jne 0x1401e4c29
inc qword [rsp + 0x48]
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x3c], 0
mov ebx, 3
mov rdx, qword [rsp + 0xa0]
jmp 0x1401e4fee
lea rdx, [0x140216619]
lea rcx, [rsp + 0x48]
call fcn.1401f37f0
mov rdx, qword [rsp + 0xa0]
test eax, eax
je case.0x1401e4bef.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 0x1401e4fee
lea rcx, [rsp + 0x48]
mov r8, qword [rsp + 0x210]
call fcn.1401f3ca0
mov rdx, qword [rsp + 0xa0]
mov ebx, eax
mov dword [rsp + 0x38], eax
jmp 0x1401e4fee
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], rbx
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
jmp 0x1401e3c48
mov eax, 0xf
sub eax, ecx
mov ecx, ebp
sub ecx, eax
mov r8, qword [str.Po__]
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.1401e53c0
test eax, eax
je 0x1401e4d62
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
jmp 0x1401e3c48
movq r15, xmm6
shr r15, 0x20
xor eax, eax
jmp 0x1401e4103
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 0x1401e4ea6
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 0x1401e4ea0
test ebp, ebp
jle 0x1401e4e90
mov rcx, r14
mov edx, ebp
call fcn.1401f2740
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x1401e4e9c
xor ebx, ebx
test r13d, r13d
sete bl
shl ebx, 4
add ebx, 0x11
mov dword [rsp + 0x38], ebx
test r13d, r13d
jne 0x1401e4d8c
cmp dword [rsp + 0x84], 1
jg 0x1401e4d8c
cmp dword [rsp + 0x3c], 0
jne 0x1401e4d8c
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0xb8]
je 0x1401e4d97
mov rcx, rdi
mov edx, 1
call fcn.1401f2740
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call fcn.1401f2900
test eax, eax
jle 0x1401e4d97
lea rax, [r14 + 0x14]
mov ecx, 0x11
jmp 0x1401e5083
lea rax, [r14 + 0x14]
test r13d, r13d
je 0x1401e506b
mov ebx, 0x11
cmp dword [rsp + 0x3c], 0
je 0x1401e51fd
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 0x1401e51de
cmp dword [r8], 0xffffffff
lea r8, [r8 + 4]
je 0x1401e4e78
jmp 0x1401e51fd
mov edx, ebp
neg edx
mov rcx, r14
call fcn.1401f39b0
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.1401f2110
mov rcx, r12
call fcn.1401f2110
mov rcx, rsi
call fcn.1401f2110
mov rcx, qword [rsp + 0xe8]
call fcn.1401f2110
mov rcx, rdi
call fcn.1401f2110
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xa0]
cmp eax, dword [rcx + 8]
mov r15, qword [rsp + 0x68]
jle 0x1401e5000
mov rcx, r14
call fcn.1401f2110
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 0x1401e4fb9
cmp eax, 3
je 0x1401e4fb4
cmp eax, 2
jne 0x1401e4f52
test r9d, r9d
je 0x1401e4fb9
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 0x1401e4f97
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 0x1401e4ffd
mov cl, 0x20
sub cl, sil
mov rax, qword [rsp + 0x210]
shr dword [rax + rdi*4 - 4], cl
jmp 0x1401e4ffd
test r9d, r9d
je 0x1401e4f52
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 0x1401e51b9
cmp dword [rsp + 0xb4], 0
je 0x1401e518c
mov dword [r14 + 0x14], 0
mov dword [rsp + 0x38], 0x50
jmp 0x1401e51ae
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 0x1401e4d8c
mov ebx, 0x21
cmp dword [rsp + 0x84], 1
jne 0x1401e51fd
mov ecx, 1
mov ebx, ecx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x5c]
cmp ecx, dword [rsp + 0xb8]
jne 0x1401e5274
mov dword [rsp + 0x38], 0x21
cmp dword [rax], 1
jne 0x1401e526a
mov eax, dword [r14 + 0x18]
cmp eax, 1
mov ecx, dword [rsp + 0xb4]
cmove ecx, eax
mov dword [rsp + 0xb4], ecx
jmp 0x1401e526a
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.1401e3890
mov r14, rax
mov qword [rsp + 0x90], rax
mov ebx, 0x11
jmp 0x1401e4d84
cmp eax, 0xfffffffe
jle 0x1401e515d
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 0x1401e51d3
mov ecx, dword [rsp + 0x5c]
inc ecx
cmp ecx, edi
mov ecx, edi
mov dword [rsp + 0x5c], edi
jge 0x1401e43e5
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 0x1401e5019
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 0x1401e51b9
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 0x1401e3c48
mov ecx, edi
mov dword [rsp + 0x5c], edi
jmp 0x1401e43e5
and ecx, 0x1f
je 0x1401e5299
mov r9d, 0xffffffff
shl r9d, cl
or r9d, dword [r8]
cmp r9d, 0xffffffff
je 0x1401e5299
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x84]
cmp ecx, dword [rsp + 0x68]
jge 0x1401e5219
cmp dword [rsp + 0x3c], 0
je 0x1401e4d97
test byte [r14 + 0x18], 1
je 0x1401e4d8c
test r13d, r13d
je 0x1401e52d4
mov rcx, r14
call fcn.1401e37c0
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 0x1401e5262
inc eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 0x21
mov ebx, 0x21
jmp 0x1401e4d8c
mov rdx, qword [rsp + 0x68]
sub dword [rsp + 0x44], edx
mov dword [rsp + 0x40], edx
mov rcx, r14
call fcn.1401e3890
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x1401e4d8c
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 0x1401e4d97
cmp dword [rsp + 0x84], 1
je 0x1401e5047
lea rcx, [r14 + 0x18]
movsxd rax, dword [rax]
lea rax, [rcx + rax*4]
mov edx, dword [rcx]
test edx, edx
jne 0x1401e5304
mov dword [rcx], 0xffffffff
add rcx, 4
cmp rcx, rax
jb 0x1401e52ed
jmp 0x1401e5308
dec edx
mov dword [rcx], edx
mov dword [rsp + 0x38], 0x11
mov ebx, 0x11
jmp 0x1401e4d8c