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

Disassembly:
cmp edx, r8d
jge 0x1400158e0
mov rax, rsp
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
push rbx
push rsi
sub rsp, 0xc8
mov qword [rax + 8], rbp
mov qword [rax - 0x18], rdi
movaps xmmword [rax - 0x28], xmm6
movsd xmm6, qword [0x140073010]
mov r11d, r8d
mov esi, edx
mov rbx, rcx
lea rdi, [0x1400720c0]
nop
mov rax, qword [rbx + 0x18]
mov r10, qword [rbx + 0x10]
mov rcx, rdi
cmp rax, r10
cmovb rcx, rax
lea eax, [rsi - 1]
mov r9, qword [rcx]
mov dword [rsp + 0x20], eax
cmp eax, dword [r9 + 0x38]
jae 0x140014962
lea eax, [rsi - 1]
movsxd rcx, eax
shl rcx, 4
add rcx, qword [r9 + 0x18]
jmp 0x1400149c2
movzx ecx, byte [r9 + 0xb]
cvtsi2sd xmm1, esi
xor edx, edx
mov r8d, 1
shl r8d, cl
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x68], xmm0
mov eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x6c]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rcx, [rax + rdx*8]
cmp dword [rcx + 0x18], 3
jne 0x1400149b6
movsd xmm0, qword [rcx + 0x10]
ucomisd xmm0, xmm1
jp 0x1400149b6
je 0x1400149c2
mov rcx, qword [rcx + 0x20]
test rcx, rcx
jne 0x1400149a3
mov rcx, rdi
mov rax, qword [rcx]
lea ebp, [r11 - 1]
mov qword [r10], rax
mov eax, dword [rcx + 8]
mov rcx, rdi
mov dword [r10 + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov r10, qword [rbx + 0x10]
cmp rax, r10
cmovb rcx, rax
mov r9, qword [rcx]
cmp ebp, dword [r9 + 0x38]
jae 0x140014a04
lea eax, [r11 - 1]
movsxd rcx, eax
shl rcx, 4
add rcx, qword [r9 + 0x18]
jmp 0x140014a65
movzx ecx, byte [r9 + 0xb]
cvtsi2sd xmm1, r11d
xor edx, edx
mov r8d, 1
shl r8d, cl
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rsp + 0x60]
add eax, dword [rsp + 0x64]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rcx, [rax + rdx*8]
cmp dword [rcx + 0x18], 3
jne 0x140014a59
movsd xmm0, qword [rcx + 0x10]
ucomisd xmm0, xmm1
jp 0x140014a59
je 0x140014a65
mov rcx, qword [rcx + 0x20]
test rcx, rcx
jne 0x140014a46
mov rcx, rdi
mov rax, qword [rcx]
mov qword [r10], rax
mov eax, dword [rcx + 8]
mov dword [r10 + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
add rax, 0x10
cmp rax, r8
jae 0x140014ab9
cmp rax, rdi
je 0x140014ab9
cmp dword [rax + 8], 0
jne 0x140014ab9
lea rdx, [r8 - 0x10]
add r8, 0xffffffffffffffe0
cmp rdx, rdi
je 0x140014ab2
cmp r8, rdi
je 0x140014ab2
mov rcx, rbx
call fcn.140004890
jmp 0x140014c4f
xor eax, eax
jmp 0x140014c4f
cmp rax, r8
mov rcx, rdi
cmovb rcx, rax
mov rax, qword [rcx]
mov qword [r8], rax
mov eax, dword [rcx + 8]
mov dword [r8 + 8], eax
add qword [rbx + 0x10], 0x10
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx - 0x20]
mov qword [rcx], rax
mov eax, dword [rcx - 0x18]
mov dword [rcx + 8], eax
add qword [rbx + 0x10], 0x10
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx - 0x40]
mov qword [rcx], rax
mov eax, dword [rcx - 0x38]
mov dword [rcx + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x10]
add word [rbx + 0x60], 1
lea rdi, [rax - 0x30]
movzx eax, word [rbx + 0x60]
cmp ax, 0xc8
jb 0x140014b39
cmp ax, 0xc8
jne 0x140014b2f
lea rdx, str.C_stack_overflow
mov rcx, rbx
call fcn.14000d3e0
jmp 0x140014b39
cmp ax, 0xe1
jae 0x140015895
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.14000a060
test eax, eax
jne 0x140014b59
lea edx, [rax + 1]
mov rcx, rbx
call fcn.14000a330
mov rdi, qword [rbx + 0x20]
add word [rbx + 0x60], 0xffff
mov rax, qword [rdi + 0x70]
cmp qword [rdi + 0x78], rax
jb 0x140014c22
mov eax, dword [rdi + 0x94]
lea ecx, [rax + rax*4]
movabs rax, 0x7ffffffffffffffe
add ecx, ecx
mov esi, ecx
cmove rsi, rax
mov rax, qword [rdi + 0x78]
sub rax, qword [rdi + 0x70]
add qword [rdi + 0x88], rax
nop
nop
mov rcx, rbx
call fcn.140008e80
sub rsi, rax
cmp byte [rdi + 0x21], 0
je 0x140014bb6
test rsi, rsi
jg 0x140014ba0
cmp byte [rdi + 0x21], 0
je 0x140014bf2
mov rax, qword [rdi + 0x88]
cmp rax, 0x400
jae 0x140014bdb
mov rax, qword [rdi + 0x78]
add rax, 0x400
mov qword [rdi + 0x70], rax
jmp 0x140014c22
add rax, 0xfffffffffffffc00
mov qword [rdi + 0x88], rax
mov rax, qword [rdi + 0x78]
mov qword [rdi + 0x70], rax
jmp 0x140014c22
mov rcx, qword [rdi + 0x80]
movabs rax, 0x47ae147ae147ae15
mul rcx
movsxd rax, dword [rdi + 0x90]
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
imul rcx, rax
mov qword [rdi + 0x70], rcx
mov rcx, qword [rbx + 0x10]
mov eax, dword [rcx - 8]
add rcx, 0xfffffffffffffff0
test eax, eax
je 0x140014c42
cmp eax, 1
jne 0x140014c3b
cmp dword [rcx], 0
je 0x140014c42
mov eax, 1
jmp 0x140014c44
xor eax, eax
mov qword [rbx + 0x10], rcx
lea rdi, [0x1400720c0]
test eax, eax
je 0x140014e95
mov rax, qword [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
cmp rax, rsi
cmovb rdi, rax
mov eax, dword [rsp + 0x20]
mov r9, qword [rdi]
cmp eax, dword [r9 + 0x38]
jae 0x140014db4
mov r10d, dword [rsp + 0xe8]
lea eax, [r10 - 1]
cdqe
shl rax, 4
add rax, qword [r9 + 0x18]
lea r11, [0x1400720c0]
cmp rax, r11
jne 0x140014cc3
cvtsi2sd xmm0, r10d
lea r8, [rsp + 0x70]
mov rdx, r9
mov rcx, rbx
mov dword [rsp + 0x78], 3
movsd qword [rsp + 0x70], xmm0
call fcn.140007720
lea r11, [0x1400720c0]
mov rcx, qword [rsi - 0x10]
mov qword [rax], rcx
mov ecx, dword [rsi - 8]
mov dword [rax + 8], ecx
mov rax, qword [rbx + 0x10]
cmp dword [rax - 8], 4
jl 0x140014d01
mov rax, qword [rax - 0x10]
test byte [rax + 9], 3
je 0x140014d01
mov rdx, qword [rdi]
test byte [rdx + 9], 4
je 0x140014d01
mov rcx, qword [rbx + 0x20]
and byte [rdx + 9], 0xfb
mov rax, qword [rcx + 0x40]
mov qword [rdx + 0x30], rax
mov qword [rcx + 0x40], rdx
add qword [rbx + 0x10], 0xfffffffffffffff0
mov rax, qword [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
cmp rax, rsi
mov rdi, r11
cmovb rdi, rax
mov r9, qword [rdi]
cmp ebp, dword [r9 + 0x38]
jae 0x140014e25
mov r10d, dword [rsp + 0xf0]
lea eax, [r10 - 1]
cdqe
shl rax, 4
add rax, qword [r9 + 0x18]
cmp rax, r11
jne 0x140014d6c
cvtsi2sd xmm0, r10d
lea r8, [rsp + 0x90]
mov rdx, r9
mov rcx, rbx
mov dword [rsp + 0x98], 3
movsd qword [rsp + 0x90], xmm0
call fcn.140007720
mov rcx, qword [rsi - 0x10]
mov qword [rax], rcx
mov ecx, dword [rsi - 8]
mov dword [rax + 8], ecx
mov rax, qword [rbx + 0x10]
cmp dword [rax - 8], 4
jl 0x140014daa
mov rax, qword [rax - 0x10]
test byte [rax + 9], 3
je 0x140014daa
mov rdx, qword [rdi]
test byte [rdx + 9], 4
je 0x140014daa
mov rcx, qword [rbx + 0x20]
and byte [rdx + 9], 0xfb
mov rax, qword [rcx + 0x40]
mov qword [rdx + 0x30], rax
mov qword [rcx + 0x40], rdx
add qword [rbx + 0x10], 0xfffffffffffffff0
jmp 0x140014e9a
mov r10d, dword [rsp + 0xe8]
movzx ecx, byte [r9 + 0xb]
xor edx, edx
mov r8d, 1
shl r8d, cl
cvtsi2sd xmm1, r10d
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x44]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rax, [rax + rdx*8]
nop
cmp dword [rax + 0x18], 3
jne 0x140014e17
movsd xmm0, qword [rax + 0x10]
ucomisd xmm0, xmm1
jp 0x140014e17
je 0x140014c8d
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140014e00
jmp 0x140014c99
mov r10d, dword [rsp + 0xf0]
movzx ecx, byte [r9 + 0xb]
xor edx, edx
mov r8d, 1
shl r8d, cl
cvtsi2sd xmm1, r10d
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x58], xmm0
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x5c]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rax, [rax + rdx*8]
nop
cmp dword [rax + 0x18], 3
jne 0x140014e87
movsd xmm0, qword [rax + 0x10]
ucomisd xmm0, xmm1
jp 0x140014e87
je 0x140014d3b
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140014e70
jmp 0x140014d40
add qword [rbx + 0x10], 0xffffffffffffffe0
mov edi, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xe8]
mov eax, edi
sub eax, r8d
cmp eax, 1
mov dword [rsp + 0x24], eax
je 0x1400158bf
mov rcx, qword [rbx + 0x18]
mov r10, qword [rbx + 0x10]
lea eax, [r8 + rdi]
cdq
lea r11, [0x1400720c0]
sub eax, edx
mov rdx, r11
sar eax, 1
cmp rcx, r10
cmovb rdx, rcx
lea ebp, [rax - 1]
mov esi, eax
mov r9, qword [rdx]
mov dword [rsp + 0xf8], eax
cmp ebp, dword [r9 + 0x38]
jae 0x140014f02
lea ecx, [rax - 1]
movsxd rdx, ecx
shl rdx, 4
add rdx, qword [r9 + 0x18]
jmp 0x140014f6a
movzx ecx, byte [r9 + 0xb]
cvtsi2sd xmm1, eax
xor edx, edx
mov r8d, 1
shl r8d, cl
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x50]
add eax, dword [rsp + 0x54]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rdx, [rax + rdx*8]
cmp dword [rdx + 0x18], 3
jne 0x140014f56
movsd xmm0, qword [rdx + 0x10]
ucomisd xmm0, xmm1
jp 0x140014f56
je 0x140014fac
mov rdx, qword [rdx + 0x20]
test rdx, rdx
jne 0x140014f43
mov r8d, dword [rsp + 0xe8]
mov rdx, r11
mov rax, qword [rdx]
mov rcx, r11
mov qword [r10], rax
mov eax, dword [rdx + 8]
mov dword [r10 + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov r10, qword [rbx + 0x10]
cmp rax, r10
cmovb rcx, rax
lea eax, [r8 - 1]
mov r9, qword [rcx]
cmp eax, dword [r9 + 0x38]
jae 0x140014fb6
lea eax, [r8 - 1]
movsxd rcx, eax
shl rcx, 4
add rcx, qword [r9 + 0x18]
jmp 0x140015017
mov r8d, dword [rsp + 0xe8]
jmp 0x140014f6a
movzx ecx, byte [r9 + 0xb]
cvtsi2sd xmm1, r8d
xor edx, edx
mov r8d, 1
shl r8d, cl
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x28], xmm0
mov eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x2c]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rcx, [rax + rdx*8]
cmp dword [rcx + 0x18], 3
jne 0x14001500b
movsd xmm0, qword [rcx + 0x10]
ucomisd xmm0, xmm1
jp 0x14001500b
je 0x140015017
mov rcx, qword [rcx + 0x20]
test rcx, rcx
jne 0x140014ff8
mov rcx, r11
mov rax, qword [rcx]
mov qword [r10], rax
mov eax, dword [rcx + 8]
mov dword [r10 + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
add rax, 0x10
cmp rax, r8
jae 0x14001506b
cmp rax, r11
je 0x14001506b
cmp dword [rax + 8], 0
jne 0x14001506b
lea rdx, [r8 - 0x20]
add r8, 0xfffffffffffffff0
cmp rdx, r11
je 0x140015064
cmp r8, r11
je 0x140015064
mov rcx, rbx
call fcn.140004890
jmp 0x140015214
xor eax, eax
jmp 0x140015214
cmp rax, r8
mov rcx, r11
cmovb rcx, rax
mov rax, qword [rcx]
mov qword [r8], rax
mov eax, dword [rcx + 8]
mov dword [r8 + 8], eax
add qword [rbx + 0x10], 0x10
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx - 0x30]
mov qword [rcx], rax
mov eax, dword [rcx - 0x28]
mov dword [rcx + 8], eax
add qword [rbx + 0x10], 0x10
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx - 0x30]
mov qword [rcx], rax
mov eax, dword [rcx - 0x28]
mov dword [rcx + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x10]
add word [rbx + 0x60], 1
lea rdi, [rax - 0x30]
movzx eax, word [rbx + 0x60]
cmp ax, 0xc8
jb 0x1400150eb
cmp ax, 0xc8
jne 0x1400150e1
lea rdx, str.C_stack_overflow
mov rcx, rbx
call fcn.14000d3e0
jmp 0x1400150eb
cmp ax, 0xe1
jae 0x1400158a3
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.14000a060
test eax, eax
jne 0x14001510b
lea edx, [rax + 1]
mov rcx, rbx
call fcn.14000a330
mov rdi, qword [rbx + 0x20]
add word [rbx + 0x60], 0xffff
mov rax, qword [rdi + 0x70]
cmp qword [rdi + 0x78], rax
jb 0x1400151e7
mov eax, dword [rdi + 0x94]
lea ecx, [rax + rax*4]
movabs rax, 0x7ffffffffffffffe
add ecx, ecx
mov esi, ecx
cmove rsi, rax
mov rax, qword [rdi + 0x78]
sub rax, qword [rdi + 0x70]
add qword [rdi + 0x88], rax
nop
mov rcx, rbx
call fcn.140008e80
sub rsi, rax
cmp byte [rdi + 0x21], 0
je 0x140015166
test rsi, rsi
jg 0x140015150
cmp byte [rdi + 0x21], 0
je 0x1400151b0
mov rax, qword [rdi + 0x88]
cmp rax, 0x400
jae 0x140015192
mov rax, qword [rdi + 0x78]
mov esi, dword [rsp + 0xf8]
add rax, 0x400
mov qword [rdi + 0x70], rax
jmp 0x1400151e7
mov esi, dword [rsp + 0xf8]
add rax, 0xfffffffffffffc00
mov qword [rdi + 0x88], rax
mov rax, qword [rdi + 0x78]
mov qword [rdi + 0x70], rax
jmp 0x1400151e7
mov rcx, qword [rdi + 0x80]
mov esi, dword [rsp + 0xf8]
movabs rax, 0x47ae147ae147ae15
mul rcx
movsxd rax, dword [rdi + 0x90]
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
imul rcx, rax
mov qword [rdi + 0x70], rcx
mov rcx, qword [rbx + 0x10]
mov eax, dword [rcx - 8]
add rcx, 0xfffffffffffffff0
test eax, eax
je 0x140015207
cmp eax, 1
jne 0x140015200
cmp dword [rcx], 0
je 0x140015207
mov eax, 1
jmp 0x140015209
xor eax, eax
mov edi, dword [rsp + 0xf0]
mov qword [rbx + 0x10], rcx
test eax, eax
je 0x140015465
mov rax, qword [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
lea r11, [0x1400720c0]
cmp rax, rsi
mov rdi, r11
cmovb rdi, rax
mov r9, qword [rdi]
cmp ebp, dword [r9 + 0x38]
jae 0x140015385
mov r10d, dword [rsp + 0xf8]
lea eax, [r10 - 1]
cdqe
shl rax, 4
add rax, qword [r9 + 0x18]
cmp rax, r11
jne 0x140015290
cvtsi2sd xmm0, r10d
lea r8, [rsp + 0x80]
mov rdx, r9
mov rcx, rbx
mov dword [rsp + 0x88], 3
movsd qword [rsp + 0x80], xmm0
call fcn.140007720
lea r11, [0x1400720c0]
mov rcx, qword [rsi - 0x10]
mov qword [rax], rcx
mov ecx, dword [rsi - 8]
mov dword [rax + 8], ecx
mov rax, qword [rbx + 0x10]
cmp dword [rax - 8], 4
jl 0x1400152ce
mov rax, qword [rax - 0x10]
test byte [rax + 9], 3
je 0x1400152ce
mov rdx, qword [rdi]
test byte [rdx + 9], 4
je 0x1400152ce
mov rcx, qword [rbx + 0x20]
and byte [rdx + 9], 0xfb
mov rax, qword [rcx + 0x40]
mov qword [rdx + 0x30], rax
mov qword [rcx + 0x40], rdx
add qword [rbx + 0x10], 0xfffffffffffffff0
mov rax, qword [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
cmp rax, rsi
mov rdi, r11
cmovb rdi, rax
mov eax, dword [rsp + 0x20]
mov r9, qword [rdi]
cmp eax, dword [r9 + 0x38]
jae 0x1400153f5
mov r10d, dword [rsp + 0xe8]
lea eax, [r10 - 1]
cdqe
shl rax, 4
add rax, qword [r9 + 0x18]
cmp rax, r11
jne 0x14001533d
cvtsi2sd xmm0, r10d
lea r8, [rsp + 0xa0]
mov rdx, r9
mov rcx, rbx
mov dword [rsp + 0xa8], 3
movsd qword [rsp + 0xa0], xmm0
call fcn.140007720
mov rcx, qword [rsi - 0x10]
mov qword [rax], rcx
mov ecx, dword [rsi - 8]
mov dword [rax + 8], ecx
mov rax, qword [rbx + 0x10]
cmp dword [rax - 8], 4
jl 0x14001537b
mov rax, qword [rax - 0x10]
test byte [rax + 9], 3
je 0x14001537b
mov rdx, qword [rdi]
test byte [rdx + 9], 4
je 0x14001537b
mov rcx, qword [rbx + 0x20]
and byte [rdx + 9], 0xfb
mov rax, qword [rcx + 0x40]
mov qword [rdx + 0x30], rax
mov qword [rcx + 0x40], rdx
add qword [rbx + 0x10], 0xfffffffffffffff0
jmp 0x140015652
mov r10d, dword [rsp + 0xf8]
movzx ecx, byte [r9 + 0xb]
xor edx, edx
mov r8d, 1
shl r8d, cl
cvtsi2sd xmm1, r10d
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x34]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rax, [rax + rdx*8]
nop
cmp dword [rax + 0x18], 3
jne 0x1400153e7
movsd xmm0, qword [rax + 0x10]
ucomisd xmm0, xmm1
jp 0x1400153e7
je 0x140015258
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400153d0
jmp 0x14001525d
mov r10d, dword [rsp + 0xe8]
movzx ecx, byte [r9 + 0xb]
xor edx, edx
mov r8d, 1
shl r8d, cl
cvtsi2sd xmm1, r10d
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x38], xmm0
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x3c]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rax, [rax + rdx*8]
nop
cmp dword [rax + 0x18], 3
jne 0x140015457
movsd xmm0, qword [rax + 0x10]
ucomisd xmm0, xmm1
jp 0x140015457
je 0x14001530c
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140015440
jmp 0x140015311
add qword [rbx + 0x10], 0xfffffffffffffff0
mov rax, qword [rbx + 0x18]
mov r10, qword [rbx + 0x10]
cmp rax, r10
lea r11, [0x1400720c0]
mov rcx, r11
cmovb rcx, rax
lea eax, [rdi - 1]
mov r9, qword [rcx]
cmp eax, dword [r9 + 0x38]
jae 0x14001549f
lea eax, [rdi - 1]
movsxd rcx, eax
shl rcx, 4
add rcx, qword [r9 + 0x18]
jmp 0x1400154ff
movzx ecx, byte [r9 + 0xb]
cvtsi2sd xmm1, edi
xor edx, edx
mov r8d, 1
shl r8d, cl
sub r8d, 1
or r8d, 1
movsd xmm0, xmm1
addsd xmm0, xmm6
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rsp + 0x48]
add eax, dword [rsp + 0x4c]
div r8d
mov rax, qword [r9 + 0x20]
lea rdx, [rdx + rdx*4]
lea rcx, [rax + rdx*8]
cmp dword [rcx + 0x18], 3
jne 0x1400154f3
movsd xmm0, qword [rcx + 0x10]
ucomisd xmm0, xmm1
jp 0x1400154f3
je 0x1400154ff
mov rcx, qword [rcx + 0x20]
test rcx, rcx
jne 0x1400154e0
mov rcx, r11
mov rax, qword [rcx]
mov qword [r10], rax
mov eax, dword [rcx + 8]
mov dword [r10 + 8], eax
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
add rax, 0x10
cmp rax, r8
jae 0x140015553
cmp rax, r11
je 0x140015553
cmp dword [rax + 8], 0
jne 0x140015553
lea rdx, [r8 - 0x10]
add r8, 0xffffffffffffffe0
cmp rdx, r11
je 0x14001554c
cmp r8, r11
je 0x14001554c
mov rcx, rbx
call fcn.140004890
jmp 0x140015627
xor eax, eax
jmp 0x140015627
cmp rax, r8
mov rcx, r11
mov edx, 0xfffffffe
cmovb rcx, rax
mov rax, qword [rcx]
mov qword [r8], rax
mov eax, dword [rcx + 8]
mov rcx, rbx
mov dword [r8 + 8], eax
add qword [rbx + 0x10], 0x10
call fcn.140001260
mov edx, 0xfffffffc
mov rcx, rbx
call fcn.140001260
add word [rbx + 0x60], 1
movzx eax, word [rbx + 0x60]
cmp ax, 0xc8
mov rdi, qword [rbx + 0x10]
jb 0x1400155bd
cmp ax, 0xc8
jne 0x1400155b3
lea rdx, str.C_stack_overflow
mov rcx, rbx
call fcn.14000d3e0
jmp 0x1400155bd
cmp ax, 0xe1
jae 0x1400158b1
lea rdx, [rdi - 0x30]
mov r8d, 1
mov rcx, rbx
call fcn.14000a060
test eax, eax
jne 0x1400155de
lea edx, [rax + 1]
mov rcx, rbx
call fcn.14000a330
mov rcx, qword [rbx + 0x20]
add word [rbx + 0x60], 0xffff
mov rax, qword [rcx + 0x70]
cmp qword [rcx + 0x78], rax
jb 0x1400155fa
mov rcx, rbx
call fcn.140009110
mov rcx, qword [rbx + 0x10]
mov eax, dword [rcx - 8]
add rcx, 0xfffffffffffffff0
test eax, eax
je 0x14001561a
cmp eax, 1
jne 0x140015613
cmp dword [rcx], 0
je 0x14001561a
mov eax, 1
jmp 0x14001561c
xor eax, eax
mov edi, dword [rsp + 0xf0]
mov qword [rbx + 0x10], rcx
test eax, eax
je 0x14001564d
mov r8d, esi
mov edx, 1
mov rcx, rbx
call fcn.140008480
mov r8d, edi
mov edx, 1
mov rcx, rbx
call fcn.140008480
jmp 0x140015652
add qword [rbx + 0x10], 0xffffffffffffffe0
cmp dword [rsp + 0x24], 2
je 0x1400158bf
mov edi, dword [rsp + 0xf8]
mov edx, 1
mov rcx, rbx
mov r8d, edi
call fcn.140005b50
mov r11, qword [rbx + 0x10]
mov ebp, dword [rsp + 0xf0]
mov rax, qword [r11 - 0x10]
add ebp, 0xffffffff
mov edx, 1
mov qword [r11], rax
mov eax, dword [r11 - 8]
mov r8d, ebp
mov dword [r11 + 8], eax
add qword [rbx + 0x10], 0x10
mov rcx, rbx
mov dword [rsp + 0xf8], ebp
call fcn.140005b50
mov r8d, edi
mov edx, 1
mov rcx, rbx
call fcn.140008480
mov r8d, ebp
mov edx, 1
mov rcx, rbx
call fcn.140008480
mov edi, dword [rsp + 0xe8]
mov esi, ebp
mov ebp, edi
nop
nop
add edi, 1
mov edx, 1
mov rcx, rbx
mov r8d, edi
call fcn.140005b50
mov r8d, 0xfffffffe
or edx, 0xffffffff
mov rcx, rbx
call fcn.14000d160
test eax, eax
je 0x140015757
mov ebp, dword [rsp + 0xf0]
nop
cmp edi, ebp
jle 0x140015723
lea rdx, str.invalid_order_function_for_sorting
mov rcx, rbx
call fcn.14000fef0
add qword [rbx + 0x10], 0xfffffffffffffff0
add edi, 1
mov edx, 1
mov r8d, edi
mov rcx, rbx
call fcn.140005b50
mov r8d, 0xfffffffe
or edx, 0xffffffff
mov rcx, rbx
call fcn.14000d160
test eax, eax
jne 0x140015710
mov ebp, dword [rsp + 0xe8]
sub esi, 1
mov edx, 1
mov rcx, rbx
mov r8d, esi
call fcn.140005b50
or r8d, 0xffffffff
mov rcx, rbx
lea edx, [r8 - 2]
call fcn.14000d160
test eax, eax
je 0x1400157bf
nop
cmp esi, ebp
jge 0x140015793
lea rdx, str.invalid_order_function_for_sorting
mov rcx, rbx
call fcn.14000fef0
add qword [rbx + 0x10], 0xfffffffffffffff0
sub esi, 1
mov edx, 1
mov r8d, esi
mov rcx, rbx
call fcn.140005b50
or r8d, 0xffffffff
mov rcx, rbx
lea edx, [r8 - 2]
call fcn.14000d160
test eax, eax
jne 0x140015780
cmp esi, edi
jl 0x1400157e8
mov r8d, edi
mov edx, 1
mov rcx, rbx
call fcn.140008480
mov r8d, esi
mov edx, 1
mov rcx, rbx
call fcn.140008480
jmp 0x1400156e0
mov ebp, dword [rsp + 0xf8]
add qword [rbx + 0x10], 0xffffffffffffffd0
mov edx, 1
mov r8d, ebp
mov rcx, rbx
call fcn.140005b50
mov r8d, edi
mov edx, 1
mov rcx, rbx
call fcn.140005b50
mov r8d, ebp
mov edx, 1
mov rcx, rbx
call fcn.140008480
mov r8d, edi
mov edx, 1
mov rcx, rbx
call fcn.140008480
mov ecx, dword [rsp + 0xf0]
mov esi, dword [rsp + 0xe8]
mov r11d, ecx
mov eax, edi
sub r11d, edi
sub eax, esi
cmp eax, r11d
jge 0x140015862
sub edi, 1
mov edx, esi
lea esi, [rdi + 2]
mov dword [rsp + 0xe8], esi
jmp 0x140015871
lea edx, [rdi + 1]
mov edi, ecx
lea eax, [rdx - 2]
mov dword [rsp + 0xf0], eax
mov r8d, edi
mov rcx, rbx
call fcn.1400148f0
mov r11d, dword [rsp + 0xf0]
cmp esi, r11d
jge 0x1400158bf
lea rdi, [0x1400720c0]
jmp 0x140014930
mov edx, 5
mov rcx, rbx
call fcn.14000dda0
int3
mov edx, 5
mov rcx, rbx
call fcn.14000dda0
int3
mov edx, 5
mov rcx, rbx
call fcn.14000dda0
int3
mov rdi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rsi
pop rbx
ret 0