Function at 0x140231b80
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 0x140231c53
inc r12
movzx eax, byte [r12 - 1]
movsx ecx, al
lea r8d, [rcx - 9]
cmp r8d, 5
jb 0x140231c50
cmp ecx, 0x2a
jg 0x140231c79
cmp ecx, 0x20
je 0x140231c50
test ecx, ecx
je 0x140231ce7
jmp 0x140231cfb
cmp ecx, 0x2b
je 0x140231c8a
cmp ecx, 0x2d
jne 0x140231cfb
mov eax, 1
jmp 0x140231c8c
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], r12
movzx eax, byte [r12]
test al, al
je 0x140231ce7
cmp al, 0x30
jne 0x140231d0e
movsx ecx, byte [r12 + 1]
or ecx, 0x20
cmp ecx, 0x78
jne 0x140231e18
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.14024f380
mov dword [rsp + 0x38], eax
cmp eax, 6
jne 0x140231ea8
jmp 0x140231cef
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], r13
xor edi, edi
jmp 0x140231ea8
dec r12
mov qword [rsp + 0x48], r12
xor ecx, ecx
mov qword [rsp + 0x78], rcx
cmp al, 0x30
je 0x140231ca3
mov r8d, eax
mov qword [rsp + 0x68], r15
lea ecx, [r8 - 0x30]
cmp cl, 9
ja 0x140231d6e
lea r9, [r12 + 1]
xor ecx, ecx
xor r14d, r14d
xor esi, esi
jmp 0x140231d54
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 0x140231d7a
movzx r8d, r8b
cmp esi, 8
jbe 0x140231d30
cmp esi, 0xf
ja 0x140231d3c
lea ecx, [rcx + rcx*4]
lea ecx, [r8 + rcx*2]
add ecx, 0xffffffd0
jmp 0x140231d3c
xor esi, esi
xor r14d, r14d
xor ecx, ecx
mov r9, r12
jmp 0x140231d7d
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 0x140231dfc
movzx r10d, byte [rdi + 1]
mov r11d, 1
test r10b, r10b
je 0x140231dd4
nop word [rax + rax]
cmp byte [r9 + r11], r10b
jne 0x140231dfc
movzx r10d, byte [rdi + r11 + 1]
inc r11
test r10b, r10b
jne 0x140231dc0
mov r10d, r11d
lea rbx, [r9 + r10]
mov qword [rsp + 0x48], rbx
movsx r8d, byte [r9 + r10]
xor r11d, r11d
test esi, esi
je 0x140231e44
mov r15d, esi
xor r9d, r9d
mov qword [rsp + 0x70], r12
jmp 0x140231f53
mov dl, 1
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x3c], 0
mov rbx, r9
mov r15d, esi
xor r9d, r9d
jmp 0x14023207a
inc r12
nop dword [rax + rax]
mov qword [rsp + 0x48], r12
movzx r8d, byte [r12]
inc r12
cmp r8d, 0x30
je 0x140231e20
test r8d, r8d
je 0x140233429
dec r12
jmp 0x140231d11
xor r15d, r15d
mov r11d, 0
cmp r8b, 0x30
jne 0x140231e78
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 0x140231e60
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 0x14023207a
jmp 0x140231f64
test rbx, rbx
je 0x140231eb5
mov rax, qword [rsp + 0x48]
mov qword [rbx], rax
test edi, edi
je 0x140231ebe
or byte [rsp + 0x38], 8
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x140231ee3
mov rcx, rsi
mov edx, r15d
call fcn.14024fdb0
mov rcx, qword [rsp + 0x90]
call fcn.14024e680
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 0x140232068
mov ebp, r9d
lea r9d, [rbp + 1]
add r8d, 0xffffffd0
je 0x140231f86
add r11d, r9d
test ebp, ebp
jle 0x140232028
cmp ebp, 1
jne 0x140231f8e
mov rdi, r15
mov r9d, r15d
jmp 0x140231ff3
mov edx, r15d
jmp 0x14023204f
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 0x140231fa0
test bpl, 1
je 0x140232022
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 0x14023203f
lea r9d, [r14 + r14*4]
lea r14d, [r8 + r9*2]
xor r9d, r9d
jmp 0x14023204f
xor r9d, r9d
cmp r15d, 0xf
ja 0x14023204f
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 0x140231f53
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 0x1402320a9
cmp al, 0x30
je 0x1402320e7
test r15d, r15d
jne 0x1402320e7
test r9d, r9d
jne 0x1402320e7
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], r13
jmp 0x140232fa3
mov rbx, r13
mov rdx, qword [rsp + 0xa0]
test r15d, r15d
je 0x140232e0d
mov dword [rsp + 0x38], 1
mov eax, dword [rdx + 0xc]
and eax, 3
je 0x140232122
cmp eax, 3
je 0x14023212a
xor r8d, r8d
cmp eax, 2
jne 0x140232133
mov r8d, 2
sub r8d, dword [rsp + 0x78]
jmp 0x140232133
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 0x14023226f
cmp r8d, 0x2d
mov rdx, qword [rsp + 0xa0]
jne 0x140232285
mov edi, 1
jmp 0x140232277
mov r8d, 1
jmp 0x140232133
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 0x140232187
lea eax, [rbx - 9]
mov r8, qword [0x140284988]
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 0x140232361
cmp dword [rsp + 0x70], 0xf
jg 0x140232361
test ebp, ebp
je 0x14023222b
jle 0x140232333
cmp ebp, 0x16
ja 0x14023234d
mov ecx, ebp
lea r9, [0x140284920]
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 [0x140284988]
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 0x140232f85
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.140233620
test eax, eax
jne 0x140232fa3
jmp 0x140232fcb
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 0x140232327
cmp r8d, 0x30
jne 0x1402322b5
inc r15
nop dword [rax]
mov qword [rsp + 0x48], r15
movsx r8d, byte [r15]
inc r15
cmp r8d, 0x30
je 0x1402322a0
dec r15
lea r10d, [r8 - 0x31]
xor ebp, ebp
cmp r10d, 8
ja 0x140232dff
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 0x140232dc6
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 0x1402322f0
lea r8d, [r8 + r10*2]
add rbp, 0xfffffffffffffffe
mov edi, edx
jmp 0x140232dc9
mov qword [rsp + 0x48], rbx
xor ebp, ebp
jmp 0x140232dff
cmp ebp, 0xffffffea
jb 0x140232361
mov eax, ebp
neg eax
mov rcx, qword [0x140284988]
divsd xmm6, qword [rcx + rax*8]
jmp 0x140232f62
mov eax, 0x25
mov rcx, qword [rsp + 0x70]
sub eax, ecx
cmp ebp, eax
jle 0x140232f41
mov eax, ebp
mov rcx, qword [rsp + 0x70]
mov edx, ecx
sub edx, ebx
add edx, eax
jle 0x140232462
mov eax, edx
and eax, 0xf
je 0x140232398
mov eax, eax
mov rcx, qword [0x140284988]
mulsd xmm6, qword [rcx + rax*8]
movsd qword [rsp + 0x50], xmm6
movq r15, xmm6
shr r15, 0x20
xor ebx, ebx
cmp edx, 0x10
jb 0x14023255e
mov ecx, edx
shr ecx, 4
xor eax, eax
cmp edx, 0x100
jb 0x140232407
mov rax, qword [str._s__]
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 0x1402323c0
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 0x14023254f
mov r8, qword [str._s__]
jmp 0x140232456
mov r9d, ecx
shr r9d, 1
add r8, 8
cmp ecx, 2
mov ecx, r9d
jb 0x14023254f
test cl, 1
je 0x140232440
mulsd xmm6, qword [r8]
jmp 0x140232440
xor ebx, ebx
test edx, edx
jns 0x14023255e
neg edx
mov eax, edx
and eax, 0xf
je 0x140232492
mov eax, eax
mov rcx, qword [0x140284988]
divsd xmm6, qword [rcx + rax*8]
movsd qword [rsp + 0x50], xmm6
movq r15, xmm6
shr r15, 0x20
cmp edx, 0x10
jb 0x14023255e
mov ecx, edx
shr ecx, 4
xor eax, eax
cmp edx, 0x100
jb 0x1402324ff
mov rax, qword [0x140284990]
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 0x1402324b8
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 0x14023254f
mov r8, qword [0x140284990]
jmp 0x140232543
mov r9d, ecx
shr r9d, 1
add r8, 8
cmp ecx, 2
mov ecx, r9d
jb 0x14023254f
test cl, 1
je 0x140232531
mulsd xmm6, qword [r8]
jmp 0x140232531
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.14024f190
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 0x1402325b0
mov rcx, r15
mov edx, ebp
call fcn.14024ff20
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 0x1402325e7
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x14023315b
mov edi, dword [rdx + 4]
mov dword [rsp + 0x5c], r8d
cmp r8d, edi
jge 0x140232626
sub ebx, edi
mov ebp, r13d
mov r15, qword [rsp + 0x70]
jle 0x140232d86
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.14024ecb0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x90], rax
add dword [rsp + 0x40], ebx
jmp 0x140233380
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.14024fbf0
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 [0x1402848e8]
movsd xmm9, qword [0x1402848f0]
movsd xmm10, qword [0x1402848f8]
movapd xmm11, xmmword [0x140284900]
movsd xmm12, qword [0x1402848d0]
movsd xmm13, qword [0x1402848d8]
movsd xmm14, qword [0x1402848e0]
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 0x14023274e
ucomisd xmm6, xmm7
ja 0x140232d73
xor eax, eax
mov qword [rsp + 0x70], rax
cmp dword [rsp + 0x3c], 0
je 0x140232892
mov rcx, qword [rsp + 0xc0]
call fcn.14024e680
mov rcx, r12
call fcn.14024e680
mov rcx, rsi
call fcn.14024e680
mov rcx, rdi
call fcn.14024e680
mov rsi, qword [rsp + 0xe8]
mov ecx, dword [rsi + 8]
call fcn.14024e4e0
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.14024e4e0
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.14024e860
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 0x14023285d
mov rcx, rax
mov edx, r15d
call fcn.14024ea60
mov rsi, rax
mov rcx, rax
mov rdx, rbx
call fcn.14024e920
mov r15, r12
mov r12, rax
mov rcx, rbx
call fcn.14024e680
mov rcx, r12
mov r12, r15
jmp 0x140232863
mov rsi, rax
mov rcx, rbx
mov rax, qword [rsp + 0x70]
add eax, r14d
sub ebp, eax
test ebp, ebp
jle 0x140232884
mov edx, ebp
call fcn.14024ecb0
mov rbp, rax
mov ebx, dword [rsp + 0x88]
jmp 0x1402328b0
mov ebx, dword [rsp + 0x88]
js 0x1402328a4
mov rbp, rcx
jmp 0x1402328b0
mov rcx, r14
call fcn.140250070
mov qword [rsp + 0x70], rax
jmp 0x140232729
neg ebp
mov edx, ebp
mov rbp, rcx
call fcn.14024ff20
sub r13d, r14d
mov edx, dword [rsp + 0xc8]
test edx, edx
je 0x1402328c9
mov rcx, r12
call fcn.14024ea60
mov r12, rax
sub edi, r14d
test r13d, r13d
jle 0x1402328df
mov rcx, r12
mov edx, r13d
call fcn.14024ecb0
mov r12, rax
mov r14, qword [rsp + 0x60]
test edi, edi
jle 0x1402328f5
mov rcx, rsi
mov edx, edi
call fcn.14024ecb0
mov rsi, rax
mov rcx, rbp
mov rdx, r12
call fcn.14024eed0
mov rdi, rax
cmp dword [rax + 0x14], 1
jg 0x140232913
cmp dword [rdi + 0x18], 0
je 0x140232db6
mov r13d, dword [rdi + 0x10]
mov dword [rdi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call fcn.14024ee70
test ebx, ebx
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xd0], r12
je 0x140232974
test eax, eax
jg 0x140232974
mov ebp, r13d
xor ebp, dword [rsp + 0xd8]
je 0x140232fd2
test r13d, r13d
je 0x140232a04
mov r12b, 1
xor edx, edx
mov ecx, 0x20
mov dword [rsp + 0x8c], 0x21
jmp 0x140232ac4
test eax, eax
js 0x140233038
je 0x14023309e
mov rcx, rdi
mov rdx, rsi
call fcn.14024fcd0
xor ebp, ebp
ucomisd xmm12, xmm0
jae 0x1402329f8
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 0x140232a47
cvttsd2si edx, xmm6
cvttpd2dq xmm0, xmm6
cvtdq2pd xmm7, xmm0
subsd xmm6, xmm7
cmp ebx, 2
je 0x140232a7e
cmp ebx, 1
je 0x140232a85
test ebx, ebx
jne 0x140232ace
ucomisd xmm6, xmm13
jae 0x140232a91
jmp 0x140232ace
mov eax, dword [rsp + 0x8c]
jmp 0x140232aaa
mov dword [rsp + 0x8c], 0x11
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0xb8]
je 0x140232c3c
mov rcx, qword [rsp + 0x68]
xor eax, eax
cmp ecx, 0x20
jl 0x140232a4f
nop dword [rax]
cmp dword [r14 + rax*4 + 0x18], 0
jne 0x140232aa5
inc rax
lea edx, [rcx - 0x20]
cmp ecx, 0x3f
mov ecx, edx
jg 0x140232a30
jmp 0x140232a51
xor edx, edx
movapd xmm7, xmm6
jmp 0x140232ace
mov edx, ecx
cmp edx, 2
jl 0x140233328
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 0x140232aaa
jmp 0x140233328
test r13d, r13d
jne 0x140232a8a
jmp 0x140232ace
test r13d, r13d
jne 0x140232ace
ucomisd xmm6, xmm15
jbe 0x140232ace
inc edx
mov eax, 0x30
sub eax, ecx
xorps xmm7, xmm7
cvtsi2sd xmm7, edx
mov ecx, eax
jmp 0x140232ace
mov eax, 0x11
test r13d, r13d
mov dword [rsp + 0x8c], eax
je 0x140232c3c
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 0x140232b13
mov r14, qword [rsp + 0x68]
mov ebx, r14d
sub ebx, eax
jle 0x140232b13
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.14024ecb0
mov r13, rax
sub dword [rsp + 0x44], ebx
mov dword [rsp + 0x40], r14d
jmp 0x140232b18
mov r13, qword [rsp + 0x60]
movapd xmm0, xmm7
lea rdx, [rsp + 0xe4]
lea r8, [rsp + 0xfc]
call fcn.14024f190
mov rbx, rax
mov edx, dword [rsp + 0xe4]
test edx, edx
js 0x140232b4e
je 0x140232b58
mov rcx, rbx
call fcn.14024ecb0
mov rbx, rax
jmp 0x140232b58
neg edx
mov rcx, rbx
call fcn.14024ff20
mov rcx, r13
mov rdx, rbx
test r12b, r12b
je 0x140232bc6
call fcn.1402500b0
mov r14, rax
mov qword [rsp + 0x90], rax
movsxd rdx, dword [rax + 0x14]
cmp edx, dword [r13 + 0x14]
mov r12, qword [rsp + 0xd0]
jg 0x140232b9f
bsr ecx, dword [r14 + rdx*4 + 0x14]
xor ecx, 0x1f
bsr eax, dword [r13 + rdx*4 + 0x14]
xor eax, 0x1f
cmp ecx, eax
jae 0x140232cf0
cmp dword [rsp + 0x3c], 0
je 0x140232c6d
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 0x140232cf0
call fcn.14024eed0
mov r14, rax
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0x3c], 0
mov dword [rsp + 0x3c], 1
mov r12, qword [rsp + 0xd0]
jne 0x140232cf0
movsxd rdx, dword [r13 + 0x14]
cmp dword [r14 + 0x14], edx
jl 0x140232c15
bsr ecx, dword [r14 + rdx*4 + 0x14]
xor ecx, 0x1f
bsr eax, dword [r13 + rdx*4 + 0x14]
xor eax, 0x1f
cmp ecx, eax
jbe 0x140232ce1
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x5c]
cmp edi, eax
jne 0x140232ca6
dec dword [rsp + 0x40]
mov dword [rsp + 0x5c], eax
mov rdi, qword [rsp + 0x60]
jmp 0x140232cf0
xor edx, edx
mov ecx, 0x10
cmp dword [rsp + 0x3c], 0
je 0x140232c94
movapd xmm6, xmm8
movapd xmm7, xmm8
mov r12d, 0
cmp dword [rsp + 0x84], 1
jg 0x140232ace
jmp 0x14023328e
mov rcx, r14
mov edx, 1
call fcn.14024ff20
inc dword [rsp + 0x44]
inc dword [rsp + 0x5c]
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x70], 0
jmp 0x140232cf0
movapd xmm6, xmm8
movapd xmm7, xmm8
xor r12d, r12d
jmp 0x140232ace
mov rcx, r14
mov edx, 1
call fcn.14024ecb0
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 0x140232cf0
mov dword [rsp + 0x3c], 0
nop dword [rax]
mov rcx, rbx
call fcn.14024e680
mov rcx, r13
call fcn.14024e680
test ebp, ebp
jne 0x140232dab
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 0x140232717
cmp dword [rsp + 0x70], 0
je 0x140232717
mulsd xmm7, xmm9
movapd xmm0, xmm6
addsd xmm0, xmm10
movapd xmm1, xmm7
xorpd xmm1, xmm11
ucomisd xmm1, xmm0
ja 0x14023270d
ucomisd xmm0, xmm7
jbe 0x140232717
movapd xmm0, xmm8
subsd xmm0, xmm7
ucomisd xmm0, xmm6
jbe 0x140232717
mov ebx, dword [rsp + 0x8c]
or ebx, dword [rsp + 0x84]
jmp 0x140232fe0
jns 0x140233380
add eax, ebx
mov dword [rsp + 0x40], eax
jle 0x140233360
neg ebx
mov rcx, qword [rsp + 0x60]
mov edx, ebx
call fcn.14024ff20
jmp 0x140233380
mov rbp, qword [rsp + 0xc0]
mov rsi, r15
mov ebx, dword [rsp + 0x8c]
mov dword [rsp + 0x38], ebx
jmp 0x140232fec
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 0x1402320bd
cmp al, 0x30
je 0x140232fa3
test r9d, r9d
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
jne 0x140232f2c
cmp byte [rsp + 0x60], 0
je case.0x140232e4f.74
add r8d, 0xffffffb7
cmp r8d, 0x25
ja case.0x140232e4f.74
lea rax, [0x14023357c]
movsxd rcx, dword [rax + r8*4]
add rcx, rax
jmp rcx
lea rdx, [0x140284910]
lea rcx, [rsp + 0x48]
call fcn.14024fd60
test eax, eax
je case.0x140232e4f.74
dec qword [rsp + 0x48]
lea rdx, str.inity
lea rcx, [rsp + 0x48]
call fcn.14024fd60
test eax, eax
jne 0x140232e89
inc qword [rsp + 0x48]
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x3c], 0
mov ebx, 3
mov rdx, qword [rsp + 0xa0]
jmp 0x14023324e
lea rdx, [0x140284919]
lea rcx, [rsp + 0x48]
call fcn.14024fd60
mov rdx, qword [rsp + 0xa0]
test eax, eax
je case.0x140232e4f.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 0x14023324e
lea rcx, [rsp + 0x48]
mov r8, qword [rsp + 0x210]
call fcn.140250210
mov rdx, qword [rsp + 0xa0]
mov ebx, eax
mov dword [rsp + 0x38], eax
jmp 0x14023324e
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x48], rbx
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
jmp 0x140231ea8
mov eax, 0xf
sub eax, ecx
mov ecx, ebp
sub ecx, eax
mov r8, qword [0x140284988]
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.140233620
test eax, eax
je 0x140232fc2
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
jmp 0x140231ea8
movq r15, xmm6
shr r15, 0x20
xor eax, eax
jmp 0x140232363
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 0x140233106
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 0x140233100
test ebp, ebp
jle 0x1402330f0
mov rcx, r14
mov edx, ebp
call fcn.14024ecb0
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x1402330fc
xor ebx, ebx
test r13d, r13d
sete bl
shl ebx, 4
add ebx, 0x11
mov dword [rsp + 0x38], ebx
test r13d, r13d
jne 0x140232fec
cmp dword [rsp + 0x84], 1
jg 0x140232fec
cmp dword [rsp + 0x3c], 0
jne 0x140232fec
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0xb8]
je 0x140232ff7
mov rcx, rdi
mov edx, 1
call fcn.14024ecb0
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call fcn.14024ee70
test eax, eax
jle 0x140232ff7
lea rax, [r14 + 0x14]
mov ecx, 0x11
jmp 0x1402332e3
lea rax, [r14 + 0x14]
test r13d, r13d
je 0x1402332cb
mov ebx, 0x11
cmp dword [rsp + 0x3c], 0
je 0x14023345d
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 0x14023343e
cmp dword [r8], 0xffffffff
lea r8, [r8 + 4]
je 0x1402330d8
jmp 0x14023345d
mov edx, ebp
neg edx
mov rcx, r14
call fcn.14024ff20
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.14024e680
mov rcx, r12
call fcn.14024e680
mov rcx, rsi
call fcn.14024e680
mov rcx, qword [rsp + 0xe8]
call fcn.14024e680
mov rcx, rdi
call fcn.14024e680
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xa0]
cmp eax, dword [rcx + 8]
mov r15, qword [rsp + 0x68]
jle 0x140233260
mov rcx, r14
call fcn.14024e680
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 0x140233219
cmp eax, 3
je 0x140233214
cmp eax, 2
jne 0x1402331b2
test r9d, r9d
je 0x140233219
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 0x1402331f7
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 0x14023325d
mov cl, 0x20
sub cl, sil
mov rax, qword [rsp + 0x210]
shr dword [rax + rdi*4 - 4], cl
jmp 0x14023325d
test r9d, r9d
je 0x1402331b2
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 0x140233419
cmp dword [rsp + 0xb4], 0
je 0x1402333ec
mov dword [r14 + 0x14], 0
mov dword [rsp + 0x38], 0x50
jmp 0x14023340e
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 0x140232fec
mov ebx, 0x21
cmp dword [rsp + 0x84], 1
jne 0x14023345d
mov ecx, 1
mov ebx, ecx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x5c]
cmp ecx, dword [rsp + 0xb8]
jne 0x1402334d4
mov dword [rsp + 0x38], 0x21
cmp dword [rax], 1
jne 0x1402334ca
mov eax, dword [r14 + 0x18]
cmp eax, 1
mov ecx, dword [rsp + 0xb4]
cmove ecx, eax
mov dword [rsp + 0xb4], ecx
jmp 0x1402334ca
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.140231af0
mov r14, rax
mov qword [rsp + 0x90], rax
mov ebx, 0x11
jmp 0x140232fe4
cmp eax, 0xfffffffe
jle 0x1402333bd
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 0x140233433
mov ecx, dword [rsp + 0x5c]
inc ecx
cmp ecx, edi
mov ecx, edi
mov dword [rsp + 0x5c], edi
jge 0x140232645
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 0x140233279
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 0x140233419
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 0x140231ea8
mov ecx, edi
mov dword [rsp + 0x5c], edi
jmp 0x140232645
and ecx, 0x1f
je 0x1402334f9
mov r9d, 0xffffffff
shl r9d, cl
or r9d, dword [r8]
cmp r9d, 0xffffffff
je 0x1402334f9
mov dword [rsp + 0x38], ebx
mov ecx, dword [rsp + 0x84]
cmp ecx, dword [rsp + 0x68]
jge 0x140233479
cmp dword [rsp + 0x3c], 0
je 0x140232ff7
test byte [r14 + 0x18], 1
je 0x140232fec
test r13d, r13d
je 0x140233534
mov rcx, r14
call fcn.140231a20
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 0x1402334c2
inc eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 0x21
mov ebx, 0x21
jmp 0x140232fec
mov rdx, qword [rsp + 0x68]
sub dword [rsp + 0x44], edx
mov dword [rsp + 0x40], edx
mov rcx, r14
call fcn.140231af0
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x140232fec
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 0x140232ff7
cmp dword [rsp + 0x84], 1
je 0x1402332a7
lea rcx, [r14 + 0x18]
movsxd rax, dword [rax]
lea rax, [rcx + rax*4]
mov edx, dword [rcx]
test edx, edx
jne 0x140233564
mov dword [rcx], 0xffffffff
add rcx, 4
cmp rcx, rax
jb 0x14023354d
jmp 0x140233568
dec edx
mov dword [rcx], edx
mov dword [rsp + 0x38], 0x11
mov ebx, 0x11
jmp 0x140232fec