Function at 0x14005e780
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, 0x118
movaps xmmword [rsp + 0x100], xmm7
movaps xmmword [rsp + 0xf0], xmm6
mov r12d, r9d
mov r13, r8
mov rbx, rdx
mov ebp, ecx
mov rax, qword [0x14013a028]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov rax, qword [rdx]
mov qword [rsp + 0x58], rax
mov eax, dword [0x140148908]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0x128]
mov rax, qword [rax + 0x128]
test rax, rax
je 0x14005f99b
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x14005ee11
mov rcx, qword [0x14013adb8]
mov byte [rax + 0xc], 1
mov rax, qword [rsi]
mov rdx, qword [rax + 8]
mov r8d, dword [rcx + 0x10]
cmp dword [rdx + 8], r8d
jne 0x14005feca
test bpl, 1
jne 0x14005e931
test bpl, 2
jne 0x14005e887
test bpl, 4
jne 0x14005e8a1
test bpl, 8
jne 0x14005e8c1
test bpl, 0x10
jne 0x14005e8dd
test bpl, 0x20
jne 0x14005e8f9
test bpl, 0x40
jne 0x14005e915
test bpl, bpl
jns 0x14005ee06
lea r15, [rax + 0x2b0]
mov r14d, 7
cmp qword [rax + 0x2b0], 0
jne 0x14005e942
jmp 0x14005f9f6
lea r15, [rax + 0x70]
mov r14d, 1
cmp qword [rax + 0x70], 0
jne 0x14005e942
jmp 0x14005faea
lea r15, [rax + 0xd0]
mov r14d, 2
cmp qword [rax + 0xd0], 0
jne 0x14005e942
jmp 0x14005faaf
lea r15, [rax + 0x130]
mov r14d, 3
cmp qword [rax + 0x130], 0
jne 0x14005e942
jmp 0x14005fb72
lea r15, [rax + 0x190]
mov r14d, 4
cmp qword [rax + 0x190], 0
jne 0x14005e942
jmp 0x14005fa71
lea r15, [rax + 0x1f0]
mov r14d, 5
cmp qword [rax + 0x1f0], 0
jne 0x14005e942
jmp 0x14005fbad
lea r15, [rax + 0x250]
mov r14d, 6
cmp qword [rax + 0x250], 0
jne 0x14005e942
jmp 0x14005fa33
lea r15, [rax + 0x10]
xor r14d, r14d
cmp qword [r15], 0
je 0x14005fb25
test r15, r15
je 0x14005ee06
movaps xmm6, xmmword [0x140119af0]
xorps xmm7, xmm7
mov qword [rsp + 0x88], rsi
jmp 0x14005ea44
mov r8d, dword [r15 + 0x20]
cmp r8, 0x7f
ja 0x14005f8c3
mov rsi, qword [r15]
mov rdx, qword [rsi + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005f8c3
cmp rax, qword [rsi + 8]
jb 0x14005f8c3
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rsi + 0x18], 0xfffffffffffffffd
mov al, byte [r15 + 0x20]
mov rcx, qword [r15 + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [r15 + 0x24], al
mov qword [r15 + 0x18], 0
jmp 0x14005ebc4
mov r8d, dword [rdi + 0x20]
cmp r8, 0x7f
ja 0x14005f865
mov rsi, qword [rdi]
mov rdx, qword [rsi + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005f865
cmp rax, qword [rsi + 8]
jb 0x14005f865
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rsi + 0x18], 0xfffffffffffffffd
mov al, byte [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [rdi + 0x24], al
mov qword [rdi + 0x18], 0
jmp 0x14005eb03
mov rcx, r15
call fcn.14005dd30
jmp 0x14005ebb2
mov rcx, rdi
call fcn.14005dd30
jmp 0x14005eaf2
cmp qword [r15], 0
je 0x14005f921
dec r14d
test r15, r15
je 0x14005ee06
mov qword [rsp + 0x90], r15
mov dword [rsp + 0x98], r14d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
lea rax, [0x14011df98]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x90]
mov r8, rbx
mov r9, r13
call fcn.14005ff40
mov rdi, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xb0]
movups xmmword [rsp + 0xa8], xmm7
test rdi, rdi
je 0x14005ed89
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx + 0x28]
cmp rax, qword [rcx + 0x30]
jne 0x14005f3d9
cmp byte [rdi + 0x24], 0
jne 0x14005eb03
cmp qword [rdi + 0x10], 0
jne 0x14005ea21
mov rax, qword [rdi + 0x18]
test rax, rax
jne 0x14005e9bc
mov byte [rdi + 0x24], 1
test r15, r15
je 0x14005ec15
mov rax, qword [r15 + 0x78]
test rax, rax
je 0x14005eb57
mov rdx, qword [r15 + 0x50]
mov rsi, rdx
sub rsi, qword [r15 + 0x68]
mov r8d, esi
cmp r8, 0x7e
ja 0x14005f813
cmp rax, qword [r15 + 0x40]
jb 0x14005f813
sub rdx, r8
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [r15 + 0x50], 0xfffffffffffffffd
mov rax, qword [r15 + 0x78]
mov byte [rax], sil
mov qword [r15 + 0x78], 0
mov rsi, qword [r15 + 0x60]
lea rdi, [rsi + 0x28]
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x14005fd13
mov rcx, qword [rax]
test rcx, rcx
jne 0x14005fe38
lea rcx, [r15 + 0x38]
mov dword [rax + 0x288], 0
mov qword [rsi], rcx
mov qword [rsi + 8], rdi
movups xmmword [rsi + 0x10], xmm7
mov qword [rsi + 0x1d], 0
mov rdi, r15
mov r15, qword [r15 + 0x60]
cmp byte [r15 + 0x24], 0
jne 0x14005ebc4
cmp qword [r15 + 0x10], 0
jne 0x14005ea14
mov rax, qword [r15 + 0x18]
test rax, rax
jne 0x14005e962
mov byte [r15 + 0x24], 1
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x14005ec05
cmp word [rdi + 0x30], 0
je 0x14005ec05
cmp byte [rdi + 0x74], 0
jne 0x14005ec05
mov rcx, qword [rdi + 0x48]
cmp rcx, qword [rdi + 0x50]
je 0x14005fe1c
mov byte [rdi + 0x74], 1
movzx ecx, word [rax + 6]
lea edx, [rcx + 1]
and edx, 0x3ff
and ecx, 0xfffffc00
or ecx, edx
mov word [rax + 6], cx
mov rax, qword [rdi + 0x80]
test rax, rax
jne 0x14005fbeb
mov r15, qword [rsp + 0xa8]
test r15, r15
je 0x14005ed89
mov rsi, qword [rsp + 0xc0]
mov rax, qword [rsi + 0x28]
cmp rax, qword [rsi + 0x30]
jne 0x14005ef86
mov rsi, qword [rsp + 0xb0]
cmp byte [r15 + 0x24], 0
jne 0x14005ec68
cmp qword [r15 + 0x10], 0
jne 0x14005ee45
mov rax, qword [r15 + 0x18]
test rax, rax
jne 0x14005eeb9
mov byte [r15 + 0x24], 1
test rsi, rsi
je 0x14005ed89
mov rax, qword [rsi + 0x78]
test rax, rax
je 0x14005ecbc
mov rdx, qword [rsi + 0x50]
mov rdi, rdx
sub rdi, qword [rsi + 0x68]
mov r8d, edi
cmp r8, 0x7e
ja 0x14005f83c
cmp rax, qword [rsi + 0x40]
jb 0x14005f83c
sub rdx, r8
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rsi + 0x50], 0xfffffffffffffffd
mov rax, qword [rsi + 0x78]
mov byte [rax], dil
mov qword [rsi + 0x78], 0
mov edx, r12d
mov r12d, ebp
mov rbp, rbx
mov rdi, qword [rsi + 0x60]
lea rbx, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x14005fd3f
mov rcx, qword [rax]
test rcx, rcx
jne 0x14005fe65
lea rcx, [rsi + 0x38]
mov dword [rax + 0x288], 0
mov qword [rdi], rcx
mov qword [rdi + 8], rbx
movups xmmword [rdi + 0x10], xmm7
mov qword [rdi + 0x1d], 0
mov r15, qword [rsi + 0x60]
cmp byte [r15 + 0x24], 0
mov rbx, rbp
mov ebp, r12d
mov r12d, edx
jne 0x14005ed38
cmp qword [r15 + 0x10], 0
jne 0x14005ee52
mov rax, qword [r15 + 0x18]
test rax, rax
jne 0x14005ee5f
mov byte [r15 + 0x24], 1
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x14005ed79
cmp word [rsi + 0x30], 0
je 0x14005ed79
cmp byte [rsi + 0x74], 0
jne 0x14005ed79
mov rcx, qword [rsi + 0x48]
cmp rcx, qword [rsi + 0x50]
je 0x14005fe2a
mov byte [rsi + 0x74], 1
movzx ecx, word [rax + 6]
lea edx, [rcx + 1]
and edx, 0x3ff
and ecx, 0xfffffc00
or ecx, edx
mov word [rax + 6], cx
mov rax, qword [rsi + 0x80]
test rax, rax
jne 0x14005fc3e
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x48], 0
jne 0x14005f960
inc r14d
cmp r14d, 7
mov rsi, qword [rsp + 0x88]
ja 0x14005ee06
mov rax, qword [rsi]
mov ecx, r14d
lea r14, [rcx + 1]
lea rdx, [rcx + rcx*2]
shl rcx, 7
lea r8, [0x14013c078]
add r8, rcx
add r8, 0x10
shl rdx, 5
lea r15, [rax + rdx]
add r15, 0x10
lea ecx, [r14 - 1]
mov eax, 1
shl eax, cl
movzx ecx, cl
bt ebp, ecx
jb 0x14005ea2e
mov rax, r14
inc rax
sub r8, 0xffffffffffffff80
add r15, 0x60
cmp r14d, 8
mov r14, rax
jne 0x14005edd8
mov rax, qword [rsi]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1400a77a0
movaps xmm6, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r15
call fcn.14005dd30
jmp 0x14005ec56
mov rcx, r15
call fcn.14005dd30
jmp 0x14005ed26
mov r8d, dword [r15 + 0x20]
cmp r8, 0x7f
ja 0x14005f8f2
mov rdi, qword [r15]
mov rdx, qword [rdi + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005f8f2
cmp rax, qword [rdi + 8]
jb 0x14005f8f2
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rdi + 0x18], 0xfffffffffffffffd
mov al, byte [r15 + 0x20]
mov rcx, qword [r15 + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [r15 + 0x24], al
mov qword [r15 + 0x18], 0
jmp 0x14005ed38
mov r8d, dword [r15 + 0x20]
cmp r8, 0x7f
ja 0x14005f894
mov rdi, qword [r15]
mov rdx, qword [rdi + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005f894
cmp rax, qword [rdi + 8]
jb 0x14005f894
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rdi + 0x18], 0xfffffffffffffffd
mov al, byte [r15 + 0x20]
mov rcx, qword [r15 + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [r15 + 0x24], al
mov qword [r15 + 0x18], 0
jmp 0x14005ec68
mov r8d, dword [rsi + 0xa0]
cmp r8, 0x7f
ja 0x14005fcdf
mov rsi, qword [r15]
mov rdx, qword [rsi + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005fcdf
cmp rax, qword [rsi + 8]
jb 0x14005fcdf
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rsi + 0x18], 0xfffffffffffffffd
mov rsi, qword [rsp + 0x40]
mov al, byte [rsi + 0xa0]
mov rcx, qword [rsi + 0x98]
mov byte [rcx], al
mov al, 2
mov byte [rsi + 0xa4], al
mov qword [rsi + 0x98], 0
jmp 0x14005efbc
mov rcx, r15
call fcn.14005dd30
jmp 0x14005efa5
cmp byte [rsi + 0xa4], 0
mov qword [rsp + 0x40], rsi
jne 0x14005efbc
lea r15, [rsi + 0x80]
cmp qword [rsi + 0x90], 0
jne 0x14005ef7c
mov rax, qword [rsi + 0x98]
test rax, rax
jne 0x14005ef13
mov byte [rsi + 0xa4], 1
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x38], r12d
mov rax, qword [rsi + 0x30]
cmp qword [rsi + 0x28], rax
je 0x14005feb8
mov r8, qword [rsp + 0x40]
mov rcx, qword [r8 + 0x20]
mov rdx, qword [rcx + 0x10]
sub rdx, qword [rcx + 0x18]
mov qword [rax - 8], rdx
mov rsi, qword [r8 + 0x28]
mov r13, qword [r8 + 0x30]
cmp rsi, r13
je 0x14005feb8
xor edx, edx
xor r8d, r8d
xor r15d, r15d
movabs rcx, 0xfffffffffffffff
mov dword [rsp + 0x3c], ebp
mov qword [rsp + 0x50], r13
jmp 0x14005f03d
test r8, r8
je 0x14005fea6
mov qword [r8], r9
mov qword [r8 + 8], rbx
add r8, 0x10
add rsi, 0x18
cmp rsi, r13
je 0x14005f11d
mov r9, qword [rsi]
mov rbx, qword [rsi + 8]
add rbx, r9
sub rbx, qword [rsi + 0x10]
cmp r8, r15
jb 0x14005f01c
sub r8, rdx
mov rdi, r8
sar rdi, 4
lea rax, [rdi + 1]
cmp rax, rcx
ja 0x14005fea9
sub r15, rdx
mov rbp, r15
sar rbp, 3
cmp rbp, rax
cmovbe rbp, rax
movabs rax, 0x7ffffffffffffff0
cmp r15, rax
cmovae rbp, rcx
test rbp, rbp
je 0x14005f118
mov qword [rsp + 0x48], r9
cmp rbp, rcx
ja 0x14005feac
mov r13, r8
mov r15, rdx
mov rcx, rbp
shl rcx, 4
call fcn.1400a5638
mov r12, rax
mov rdx, r15
mov r8, r13
mov r13, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
shl rdi, 4
add rdi, r12
je 0x14005feaf
shl rbp, 4
mov r15, rbp
add r15, r12
mov qword [rdi], r9
mov qword [rdi + 8], rbx
add rdi, 0x10
mov rcx, r12
mov rbx, rdx
call fcn.1400a9230
test rbx, rbx
je 0x14005f0ff
mov rcx, rbx
call fcn.1400a5630
mov rdx, r12
mov r8, rdi
mov ebp, dword [rsp + 0x3c]
movabs rcx, 0xfffffffffffffff
jmp 0x14005f030
xor r12d, r12d
jmp 0x14005f0c5
mov qword [rsp + 0x48], r8
mov rsi, r8
sub rsi, rdx
je 0x14005feb8
mov rbx, qword [rsp + 0xa8]
cmp qword [rbx + 0x10], 0
je 0x14005f14b
mov rcx, rbx
mov rdi, rdx
call fcn.14005dd30
mov rdx, rdi
sar rsi, 4
mov qword [rsp + 0x50], rdx
lea r12, [rdx + 8]
mov rcx, r12
mov r8, rsi
xor eax, eax
lea rdx, [rsp + 0xd8]
add rax, qword [rcx]
sub rax, qword [rcx - 8]
add rcx, 0x10
dec r8
jne 0x14005f168
movabs rcx, 0xaaaaaaaaaaaaaaaa
lea r8, [rsp + 0xd9]
mov qword [r8 + 6], rcx
mov qword [r8], rcx
mov rcx, r8
mov byte [rsp + 0xd8], 0x62
cmp eax, 0x80
jae 0x14005f7ee
mov rdi, rdx
mov byte [rcx], al
sub rdi, rdx
add rdi, 2
mov r15, rbx
mov r13, qword [rbx]
mov r8d, edi
mov rcx, qword [r13 + 0x18]
lea rbx, [rcx + r8]
cmp rbx, qword [r13 + 0x10]
ja 0x14005fe0f
test r8, r8
je 0x14005f1d8
call fcn.1400a9230
mov qword [r13 + 0x18], rbx
mov rax, r15
add dword [r15 + 0x20], edi
mov rdx, qword [r12 - 8]
mov rdi, qword [r12]
sub rdi, rdx
mov r13, qword [rax]
mov r8d, edi
mov rcx, qword [r13 + 0x18]
lea rbx, [rcx + r8]
cmp rbx, qword [r13 + 0x10]
ja 0x14005fc9e
test r8, r8
je 0x14005f211
call fcn.1400a9230
mov qword [r13 + 0x18], rbx
mov rax, r15
add dword [r15 + 0x20], edi
add r12, 0x10
dec rsi
jne 0x14005f1e3
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rdi + 0x28]
cmp rsi, qword [rdi + 0x30]
mov r12d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x48]
je 0x14005f2bb
mov rax, qword [rsi]
mov qword [rsi], 0
mov rcx, qword [rdi + 0x40]
mov qword [rdi + 0x40], rax
test rcx, rcx
jne 0x14005ff2c
movups xmm0, xmmword [rsi + 8]
movups xmmword [rdi + 0x48], xmm0
mov rax, qword [rdi + 0x48]
mov qword [rdi + 0x50], rax
mov rsi, qword [rdi + 0x28]
mov rdi, qword [rdi + 0x30]
cmp rdi, rsi
je 0x14005f2b2
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x14005febb
mov rcx, qword [rdi]
mov qword [rdi], 0
test rcx, rcx
je 0x14005f2a6
call fcn.1400a5934
mov r8, qword [rsp + 0x48]
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x14005f284
mov rdi, qword [rsp + 0x40]
mov qword [rdi + 0x30], rsi
mov rcx, qword [rdi + 0x70]
sub rcx, qword [rdi + 0x60]
mov rax, qword [rdi + 0xa8]
add qword [rdi + 0x78], rcx
lea rsi, [rdi + 0xa8]
movups xmmword [rdi + 0x60], xmm7
mov qword [rdi + 0x70], 0
test rax, rax
je 0x14005fd71
mov rcx, qword [rax]
test rcx, rcx
jne 0x14005fefe
mov rdx, qword [rsp + 0x40]
lea rcx, [rdx + 0x58]
mov dword [rax + 0x288], 0
mov qword [rdx + 0x80], rcx
mov qword [rdx + 0x88], rsi
movups xmmword [rdx + 0x90], xmm7
mov qword [rdx + 0x9d], 0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14005f348
cmp r8, rcx
je 0x14005f343
add r8, 0xfffffffffffffff0
jne 0x14005f333
jmp 0x14005fe97
call fcn.1400a5630
mov r15, qword [rsp + 0xa8]
test r15, r15
jne 0x14005ec3c
jmp 0x14005ed89
mov r8d, dword [rcx + 0xa0]
cmp r8, 0x7f
ja 0x14005fcab
mov rsi, qword [r15]
mov rdx, qword [rsi + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005fcab
cmp rax, qword [rsi + 8]
jb 0x14005fcab
lea rcx, [rdx - 3]
call fcn.1400a9230
add qword [rsi + 0x18], 0xfffffffffffffffd
mov rdx, qword [rsp + 0x40]
mov al, byte [rdx + 0xa0]
mov rcx, qword [rdx + 0x98]
mov byte [rcx], al
mov al, 2
mov byte [rdx + 0xa4], al
mov qword [rdx + 0x98], 0
mov rcx, rdx
jmp 0x14005f417
mov rcx, r15
call fcn.14005dd30
mov rcx, qword [rsp + 0x40]
jmp 0x14005f400
mov qword [rsp + 0x80], r15
cmp byte [rcx + 0xa4], 0
mov qword [rsp + 0x40], rcx
jne 0x14005f417
lea r15, [rcx + 0x80]
cmp qword [rcx + 0x90], 0
jne 0x14005f3ca
mov rax, qword [rcx + 0x98]
test rax, rax
jne 0x14005f35e
mov byte [rcx + 0xa4], 1
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x3c], ebp
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x38], r12d
mov rax, qword [rcx + 0x30]
cmp qword [rcx + 0x28], rax
je 0x14005feb2
mov r8, qword [rsp + 0x40]
mov rcx, qword [r8 + 0x20]
mov rdx, qword [rcx + 0x10]
sub rdx, qword [rcx + 0x18]
mov qword [rax - 8], rdx
mov r13, qword [r8 + 0x28]
mov rax, qword [r8 + 0x30]
cmp r13, rax
je 0x14005feb2
xor esi, esi
xor r8d, r8d
xor edi, edi
movabs rcx, 0xfffffffffffffff
mov qword [rsp + 0x50], rax
jmp 0x14005f49c
test r8, r8
je 0x14005fe9a
mov qword [r8], rbx
mov qword [r8 + 8], rbp
add r8, 0x10
add r13, 0x18
cmp r13, rax
je 0x14005f5a2
mov rbx, qword [r13]
mov rbp, qword [r13 + 8]
add rbp, rbx
sub rbp, qword [r13 + 0x10]
cmp r8, rdi
jb 0x14005f47b
sub r8, rsi
mov r12, r8
sar r12, 4
lea rax, [r12 + 1]
cmp rax, rcx
ja 0x14005fe9d
mov qword [rsp + 0x48], rsi
sub rdi, rsi
mov rsi, rdi
sar rsi, 3
cmp rsi, rax
cmovbe rsi, rax
movabs rax, 0x7ffffffffffffff0
cmp rdi, rax
cmovae rsi, rcx
test rsi, rsi
je 0x14005f56d
cmp rsi, rcx
ja 0x14005fea0
mov rdi, r8
mov rcx, rsi
shl rcx, 4
call fcn.1400a5638
mov r15, rax
mov r8, rdi
shl r12, 4
add r12, r15
je 0x14005fea3
shl rsi, 4
mov rdi, rsi
add rdi, r15
mov qword [r12], rbx
mov qword [r12 + 8], rbp
add r12, 0x10
mov rcx, r15
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
call fcn.1400a9230
test rsi, rsi
je 0x14005f553
mov rcx, rsi
call fcn.1400a5630
mov rsi, r15
mov r8, r12
movabs rcx, 0xfffffffffffffff
mov rax, qword [rsp + 0x50]
jmp 0x14005f48f
xor r15d, r15d
jmp 0x14005f512
mov r12d, dword [rsp + 0x38]
mov edx, eax
mov r8d, edx
or r8b, 0x80
mov byte [rcx], r8b
shr eax, 7
inc rcx
cmp edx, 0x3fff
ja 0x14005f577
lea rsi, [rcx - 1]
lea rdx, [rsp + 0xd8]
jmp 0x14005f636
mov r15, r8
sub r15, rsi
je 0x14005feb2
mov rdi, qword [rsp + 0x70]
cmp qword [rdi + 0x10], 0
mov rbx, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x3c]
mov qword [rsp + 0x78], r8
je 0x14005f5d0
mov rcx, rdi
call fcn.14005dd30
sar r15, 4
lea rcx, [rsi + 8]
mov qword [rsp + 0x50], rcx
mov rdx, r15
xor eax, eax
add rax, qword [rcx]
sub rax, qword [rcx - 8]
add rcx, 0x10
dec rdx
jne 0x14005f5e2
movabs rcx, 0xaaaaaaaaaaaaaaaa
lea rdx, [rsp + 0xd9]
mov qword [rdx + 6], rcx
mov qword [rdx], rcx
mov rcx, rdx
mov byte [rsp + 0xd8], 0x62
cmp eax, 0x80
mov qword [rsp + 0x48], rsi
jae 0x14005f572
lea rdx, [rsp + 0xd8]
mov rsi, rdx
mov r12d, dword [rsp + 0x38]
mov byte [rcx], al
sub rsi, rdx
add rsi, 2
mov r13, qword [rdi]
mov r8d, esi
mov rcx, qword [r13 + 0x18]
lea rdi, [rcx + r8]
cmp rdi, qword [r13 + 0x10]
ja 0x14005fe02
test r8, r8
je 0x14005f661
call fcn.1400a9230
mov qword [r13 + 0x18], rdi
mov rdi, qword [rsp + 0x70]
add dword [rdi + 0x20], esi
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax - 8]
mov qword [rsp + 0x50], rax
mov rsi, qword [rax]
sub rsi, rdx
mov r13, qword [rdi]
mov r8d, esi
mov rcx, qword [r13 + 0x18]
lea rdi, [rcx + r8]
cmp rdi, qword [r13 + 0x10]
ja 0x14005fc91
test r8, r8
je 0x14005f6a3
call fcn.1400a9230
mov qword [r13 + 0x18], rdi
mov rdi, qword [rsp + 0x70]
add dword [rdi + 0x20], esi
mov rax, qword [rsp + 0x50]
add rax, 0x10
dec r15
jne 0x14005f672
mov r13, qword [rsp + 0x40]
mov rsi, qword [r13 + 0x28]
cmp rsi, qword [r13 + 0x30]
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
je 0x14005f752
mov rax, qword [rsi]
mov qword [rsi], 0
mov rcx, qword [r13 + 0x40]
mov qword [r13 + 0x40], rax
test rcx, rcx
jne 0x14005ff1d
movups xmm0, xmmword [rsi + 8]
movups xmmword [r13 + 0x48], xmm0
mov rax, qword [r13 + 0x48]
mov qword [r13 + 0x50], rax
mov rsi, qword [r13 + 0x28]
mov rdi, qword [r13 + 0x30]
cmp rdi, rsi
je 0x14005f749
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x14005feb5
mov rcx, qword [rdi]
mov qword [rdi], 0
test rcx, rcx
je 0x14005f738
call fcn.1400a5934
mov r8, qword [rsp + 0x78]
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
mov r13, qword [rsp + 0x40]
jne 0x14005f716
mov qword [r13 + 0x30], rsi
mov rdi, qword [rsp + 0x70]
mov rcx, qword [r13 + 0x70]
sub rcx, qword [r13 + 0x60]
mov rax, qword [r13 + 0xa8]
add qword [r13 + 0x78], rcx
lea rsi, [r13 + 0xa8]
movups xmmword [r13 + 0x60], xmm7
mov qword [r13 + 0x70], 0
test rax, rax
je 0x14005fdb1
mov rcx, qword [rax]
test rcx, rcx
mov r13, qword [rsp + 0x60]
jne 0x14005fedf
mov rdx, qword [rsp + 0x40]
lea rcx, [rdx + 0x58]
mov dword [rax + 0x288], 0
mov qword [rdx + 0x80], rcx
mov qword [rdx + 0x88], rsi
movups xmmword [rdx + 0x90], xmm7
mov qword [rdx + 0x9d], 0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14005eae1
cmp r8, rcx
je 0x14005f7e4
add r8, 0xfffffffffffffff0
jne 0x14005f7d4
jmp 0x14005fe94
call fcn.1400a5630
jmp 0x14005eae1
mov r9d, eax
mov r8d, r9d
or r8b, 0x80
mov byte [rcx], r8b
shr eax, 7
inc rcx
cmp r9d, 0x3fff
ja 0x14005f7ee
lea rdi, [rcx - 1]
jmp 0x14005f1aa
mov ecx, esi
or cl, 0x80
mov byte [rax], cl
mov ecx, esi
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, esi
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr esi, 0x15
mov byte [rax + 3], sil
jmp 0x14005eb4f
mov ecx, edi
or cl, 0x80
mov byte [rax], cl
mov ecx, edi
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, edi
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr edi, 0x15
mov byte [rax + 3], dil
jmp 0x14005ecb4
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
jmp 0x14005ea04
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
jmp 0x14005ef02
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
jmp 0x14005e9ab
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
jmp 0x14005eea8
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14014b810]
mov cl, byte [rcx + rdx]
movzx ecx, cl
and ebp, ecx
test ebp, eax
je 0x14005edef
mov al, byte [r8]
test al, 1
je 0x14005edef
lea r9d, [r14 - 1]
lea rcx, [0x14013c078]
mov rdx, r15
call fcn.140004370
jmp 0x14005ea38
mov rcx, qword [rax]
lea rax, [fcn.1400da0b0]
mov qword [rsp + 0xb8], rax
lea rax, [0x14011dac8]
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0xa0]
call qword [0x14012eaa8]
jmp 0x14005ed9b
mov rax, qword [0x14013adb8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14012eaa8]
lea rcx, [rax + 0x6218]
lea rdx, [0x14013c078]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov qword [rsi], rcx
lea rax, [0x14014b810]
mov rcx, qword [rsp + 0x58]
mov al, byte [rcx + rax]
movzx eax, al
and eax, ebp
je 0x14005ee11
mov ebp, eax
mov rax, qword [rsi]
jmp 0x14005e7f2
lea rax, [0x14014b810]
mov rcx, qword [rsp + 0x58]
mov al, byte [rcx + rax]
test al, al
jns 0x14005ee06
mov cl, byte [0x14013c408]
test cl, 1
je 0x14005ee06
movzx eax, al
and ebp, eax
lea r8, [0x14013c408]
mov r14d, 7
jmp 0x14005fb5b
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 0x40
je 0x14005e85e
mov cl, byte [0x14013c388]
test cl, 1
je 0x14005e85e
lea r8, [0x14013c388]
mov r14d, 6
jmp 0x14005fb5b
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 0x10
je 0x14005e84a
mov cl, byte [0x14013c288]
test cl, 1
je 0x14005e84a
lea r8, [0x14013c288]
mov r14d, 4
jmp 0x14005fb5b
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 4
je 0x14005e836
mov cl, byte [0x14013c188]
test cl, 1
je 0x14005e836
lea r8, [0x14013c188]
mov r14d, 2
jmp 0x14005fb5b
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 2
je 0x14005e830
mov cl, byte [0x14013c108]
test cl, 1
je 0x14005e830
lea r8, [0x14013c108]
mov r14d, 1
jmp 0x14005fb5b
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 1
je 0x14005e82a
mov cl, byte [0x14013c088]
test cl, 1
je 0x14005e82a
lea r8, [0x14013c088]
xor r14d, r14d
lea rcx, [0x14013c078]
mov rdx, r15
mov r9d, r14d
call fcn.140004370
jmp 0x14005e942
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 8
je 0x14005e840
mov cl, byte [0x14013c208]
test cl, 1
je 0x14005e840
lea r8, [0x14013c208]
mov r14d, 3
jmp 0x14005fb5b
lea rcx, [0x14014b810]
mov rdx, qword [rsp + 0x58]
mov cl, byte [rdx + rcx]
movzx ecx, cl
and ebp, ecx
test cl, 0x20
je 0x14005e854
mov cl, byte [0x14013c308]
test cl, 1
je 0x14005e854
lea r8, [0x14013c308]
mov r14d, 5
jmp 0x14005fb5b
cmp byte [rax + 0xe], 0
je 0x14005ec15
lea rax, [rdi + 0x80]
mov rcx, qword [rdi + 0x10]
mov r9d, dword [rdi + 0x1c]
movzx r8d, word [rdi + 0x18]
mov qword [rsp + 0xd8], 0
mov word [rsp + 0xe0], 0
mov byte [rsp + 0xe2], 0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xd8]
call fcn.140010c50
jmp 0x14005ec15
cmp byte [rax + 0xe], 0
je 0x14005ed89
lea rax, [rsi + 0x80]
mov rcx, qword [rsi + 0x10]
mov r9d, dword [rsi + 0x1c]
movzx r8d, word [rsi + 0x18]
mov qword [rsp + 0xd8], 0
mov word [rsp + 0xe0], 0
mov byte [rsp + 0xe2], 0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xd8]
call fcn.140010c50
jmp 0x14005ed89
mov rcx, r13
call fcn.140075bd0
jmp 0x14005f6a7
mov rcx, r13
call fcn.140075bd0
jmp 0x14005f215
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
mov rdx, qword [rsp + 0x40]
jmp 0x14005f3b4
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
mov rsi, qword [rsp + 0x40]
jmp 0x14005ef69
mov ecx, 0x290
call fcn.1400a5638
test rax, rax
je 0x14005febe
mov qword [rax], 0
mov dword [rax + 0x288], 0
mov qword [rdi], rax
jmp 0x14005eb78
mov r15d, edx
mov ecx, 0x290
call fcn.1400a5638
test rax, rax
je 0x14005fec1
mov qword [rax], 0
mov dword [rax + 0x288], 0
mov qword [rbx], rax
mov edx, r15d
jmp 0x14005ece6
mov ecx, 0x290
call fcn.1400a5638
test rax, rax
je 0x14005fec7
mov qword [rax], 0
mov dword [rax + 0x288], 0
mov qword [rsi], rax
mov r12d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x48]
jmp 0x14005f2f6
mov ecx, 0x290
call fcn.1400a5638
test rax, rax
je 0x14005fec4
mov qword [rax], 0
mov dword [rax + 0x288], 0
mov qword [rsi], rax
mov r12d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x3c]
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
jmp 0x14005f793
mov rcx, r13
call fcn.140075bd0
jmp 0x14005f665
mov rcx, r13
call fcn.140075bd0
jmp 0x14005f1dc
lea rcx, [rdi - 8]
call fcn.140003e20
jmp 0x14005ec05
lea rcx, [rsi - 8]
call fcn.140003e20
jmp 0x14005ed79
mov dword [rsp + 0x3c], ebp
mov rbp, rbx
mov qword [rax], 0
mov rbx, qword [rcx]
call fcn.1400a5630
mov rcx, rbx
test rbx, rbx
jne 0x14005fe46
mov rax, qword [rdi]
mov rbx, rbp
mov ebp, dword [rsp + 0x3c]
jmp 0x14005eb78
mov qword [rsp + 0x60], r13
mov r13d, edx
mov qword [rax], 0
mov r15, qword [rcx]
call fcn.1400a5630
mov rcx, r15
test r15, r15
jne 0x14005fe74
mov rax, qword [rbx]
mov edx, r13d
mov r13, qword [rsp + 0x60]
jmp 0x14005ece6
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x14012eaa8]
mov rax, qword [rsi]
jmp 0x14005e820
mov qword [rax], 0
mov rdi, qword [rcx]
call fcn.1400a5630
mov rcx, rdi
test rdi, rdi
jne 0x14005fee6
mov rax, qword [rsi]
jmp 0x14005fdd8
mov qword [rax], 0
mov rdi, qword [rcx]
call fcn.1400a5630
mov rcx, rdi
test rdi, rdi
jne 0x14005ff05
mov rax, qword [rsi]
jmp 0x14005fd98
call fcn.1400a5934
mov r8, qword [rsp + 0x78]
jmp 0x14005f6f4
call fcn.1400a5934
mov r8, qword [rsp + 0x48]
jmp 0x14005f263