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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x17b8
call fcn.140095490
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov dword [rsp + 0x54], r9d
mov dword [rsp + 0x3c], r8d
mov r14, rcx
mov eax, dword [rcx + 0x264]
mov qword [rsp + 0x108], rax
mov rax, qword [rcx + 0x250]
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 0x258]
mov rcx, qword [rax + 0x30]
or rcx, qword [rax + 0x38]
setne byte [rdx + 0x30]
mov qword [rsp + 0x40], rdx
mov r8d, dword [rdx + 0x10]
lea rdx, [rsp + 0xc4]
mov rcx, r14
call fcn.140004750
test al, al
jne 0x14000776a
mov rax, qword [rsp + 0x40]
mov r9d, dword [rax + 0x10]
movzx ecx, byte [rax + 0x30]
cmp r9d, 0xf6
jge 0x1400077d7
mov edx, dword [rbp + 0x17a0]
test cl, cl
sete al
test edx, edx
sets dl
and dl, al
movzx r15d, dl
mov r8, qword [r14 + 0x258]
mov rax, qword [r8 + 0x20]
mov qword [rsp + 0x70], rax
mov esi, dword [r8 + 0x14]
cmp esi, 0xe
jge 0x1400076a9
neg r15d
mov r10, qword [0x14220a5c0]
mov r11, qword [rsp + 0x70]
mov rax, r11
mul qword [0x14220a5b8]
shl rdx, 5
lea rax, [r10 + rdx]
cmp word [r10 + rdx], r11w
mov qword [rsp + 0xa8], r15
je 0x140006438
movzx r11d, byte [rax + 2]
test r11d, r11d
je 0x140006438
lea r13, [rax + 0xa]
mov r10d, 1
mov rdx, qword [rsp + 0x70]
cmp word [rax + 0xa], dx
je 0x14000643e
movzx ebx, byte [rax + 0xc]
test ebx, ebx
je 0x14000643e
lea rdx, [rax + 0x14]
mov r10d, 2
mov rdi, qword [rsp + 0x70]
cmp word [rax + 0x14], di
je 0x14000741b
movzx edi, byte [rax + 0x16]
test edi, edi
je 0x14000741b
movzx r9d, byte [0x14220a5c8]
add r9d, 0x107
movzx r10d, byte [rax + 3]
mov r15d, r9d
sub r15d, r10d
and r15d, 0xf8
sub r11d, r15d
movzx r10d, byte [rax + 0xd]
mov r15d, r9d
sub r15d, r10d
and r15d, 0xf8
sub ebx, r15d
cmp r11d, ebx
cmovle r13, rax
movzx r10d, byte [r13 + 2]
movzx r11d, byte [r13 + 3]
mov ebx, r9d
sub ebx, r11d
and ebx, 0xf8
sub r10d, ebx
movzx eax, byte [rax + 0x17]
sub r9d, eax
and r9d, 0xf8
sub edi, r9d
cmp r10d, edi
cmovg r13, rdx
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x32], 0
jmp 0x14000646c
xor r10d, r10d
mov r13, rax
lea rdx, [r10 + r10*4]
movzx r10d, byte [rax + rdx*2 + 3]
and r10b, 7
or r10b, byte [0x14220a5c8]
mov byte [rax + rdx*2 + 3], r10b
cmp byte [rax + rdx*2 + 2], 0
mov rax, qword [rsp + 0x40]
setne byte [rax + 0x32]
jne 0x14000730f
test cl, cl
jne 0x14000743a
mov rax, qword [rsp + 0x40]
cmp dword [rax - 0x2c], 0x81
je 0x140007423
mov edi, dword [r14 + 0x264]
lea eax, [rdi*8 + 4]
mov ecx, dword [r14 + rax*4 + 0x210]
mov rax, rdi
xor rax, 1
lea edx, [rax*8 + 4]
sub ecx, dword [r14 + rdx*4 + 0x210]
mov edx, ecx
shl edx, 7
sub edx, ecx
lea ecx, [rdi*8 + 2]
mov ecx, dword [r14 + rcx*4 + 0x210]
lea r9d, [rax*8 + 2]
sub ecx, dword [r14 + r9*4 + 0x210]
imul ebx, ecx, 0xf5
add ebx, edx
lea ecx, [rdi*8 + 6]
mov ecx, dword [r14 + rcx*4 + 0x210]
lea edx, [rax*8 + 6]
sub ecx, dword [r14 + rdx*4 + 0x210]
imul ecx, ecx, 0xcc
mov r15d, dword [r8 + rax*4 + 8]
add ebx, dword [r8 + rdi*4 + 8]
add ebx, ecx
lea r8, [rsp + 0x580]
mov rcx, r14
mov dl, 1
call fcn.140007820
mov rcx, qword [r14 + 0x250]
mov rdx, qword [r14 + 0x258]
add r15d, eax
sub ebx, r15d
mov r8d, ebx
neg r8d
cmovs r8d, ebx
add r8d, dword [rsp + 0x580]
mov r9d, dword [rcx + rdi*4 + 0x64]
mov ecx, r8d
imul ecx, r9d
movsxd rcx, ecx
imul r10, rcx, 0xffffffffb92143fb
shr r10, 0x20
add ecx, r10d
mov r10d, ecx
shr r10d, 0x1f
sar ecx, 9
add ecx, r10d
add ecx, r9d
imul r8d, eax
movsxd r8, r8d
imul r8, r8, 0xffffffffe0167039
mov r9, r8
shr r9, 0x3f
sar r8, 0x2c
add r8d, r9d
add r8d, eax
mov eax, dword [rdx + 0xc]
add eax, dword [rdx + 8]
cdqe
imul rax, rax, 0x30c30c31
mov rdx, rax
sar rdx, 0x23
shr rax, 0x3f
lea r9d, [rdx + rax]
add r9d, 0x221
imul r9d, r8d
add eax, edx
add eax, 0x80
imul eax, ecx
add eax, r9d
cdqe
imul rax, rax, 0x63e7063f
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x29
add eax, ecx
mov ecx, 0x107
sub ecx, esi
imul ecx, eax
movsxd rax, ecx
imul rax, rax, 0x2aaaaaab
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x25
add eax, ecx
cmp eax, 0x7c09
mov ecx, 0x7c09
cmovl ecx, eax
cmp ecx, 0xffff83f8
mov edx, 0xffff83f7
cmovge edx, ecx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], edx
xor r8d, r8d
xor r15d, r15d
mov ebx, edx
cmp ebx, dword [rsp + 0x54]
jge 0x14000729f
cmp ebx, dword [rsp + 0x3c]
jg 0x1400077ee
add edx, 0x68
mov dword [rsp + 0x80], edx
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx - 0x38]
mov qword [rsp + 0xf0], rax
mov rax, qword [rcx - 0x78]
mov qword [rsp + 0xf8], rax
mov eax, dword [rcx - 0x2c]
mov dword [rsp + 0x84], 0x5a
test eax, eax
mov dword [rsp + 0x98], r8d
je 0x140006692
cmp eax, 0x81
je 0x140006692
and eax, 0x7f
mov dword [rsp + 0x84], eax
mov qword [rsp + 0xc8], r13
mov rdx, qword [rsp + 0xd0]
lea rax, [rdx + 0x6ce8]
lea rcx, [rdx + 0x16ce8]
add rdx, 0xfee6e8
mov qword [rsp + 0x110], r14
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rcx
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rdx
mov dword [rsp + 0x138], r15d
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x174], eax
mov eax, dword [rbp + 0x17a0]
mov dword [rsp + 0x17c], eax
mov rax, qword [r14 + 0x258]
mov rsi, qword [rax + 0x30]
mov rdi, qword [rax + 0x38]
mov eax, 1
test r15d, r15d
jne 0x140007682
lea ecx, [rax + 7]
add eax, 0xd
or rsi, rdi
cmovne eax, ecx
mov dword [rsp + 0x170], eax
xor eax, eax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x9c], 0
mov edi, ebx
lea rcx, [rsp + 0x110]
xor edx, edx
call fcn.1400081c0
test eax, eax
je 0x1400071d2
mov r12d, eax
mov r13d, dword [r14 + 0x264]
sar eax, 7
mov r10d, r12d
and r10d, 0x7f
movsxd rcx, eax
mov rdx, rcx
shl rdx, 4
lea rax, [0x14223aec0]
mov r9, qword [rdx + rax]
mov r15, qword [rdx + rax + 8]
mov r8, qword [r14 + 0x170]
xor r8, r9
mov r11, qword [r14 + 0x178]
xor r11, r15
mov rbx, r10
shl rbx, 4
mov rsi, qword [rbx + rax]
mov rax, qword [rbx + rax + 8]
mov qword [rsp + 0xb8], rax
or r11, rax
mov qword [rsp + 0x58], rsi
or r8, rsi
mov qword [rsp + 0x60], r8
mov esi, dword [r14 + rcx*4]
mov qword [rsp + 0xb0], rsi
and esi, 7
cmp rsi, 7
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xe0], r15
je 0x140007488
mov rcx, r13
shl rcx, 4
vmovdqa xmm0, xmmword [r14 + 0x1e0]
vpand xmm1, xmm0, xmmword [r14 + rcx + 0x1f0]
vmovq rdx, xmm1
tzcnt rax, rdx
vpextrq rbx, xmm1, 1
tzcnt rbx, rbx
or ebx, 0x40
test rdx, rdx
cmove eax, ebx
mov rdx, qword [r14 + 0x258]
cmp byte [rdx + 0x110], 0
jne 0x140006d40
cmp eax, r10d
je 0x140006d40
mov rbx, qword [rdx + rcx + 0x58]
and rbx, r15
mov rcx, qword [rdx + rcx + 0x50]
and rcx, r9
or rcx, rbx
jne 0x140006d40
mov r15d, r13d
xor r15d, 1
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xb8]
shl r15, 4
vpand xmm1, xmm0, xmmword [r14 + r15 + 0x1f0]
vmovq rax, xmm1
tzcnt rbx, rax
vpextrq rcx, xmm1, 1
tzcnt rcx, rcx
or ecx, 0x40
test rax, rax
cmove ebx, ecx
cmp esi, 3
mov dword [rsp + 0x58], r12d
je 0x14000707f
mov rax, qword [r14 + 0x258]
shl rsi, 4
and r8, qword [rax + rsi + 0x98]
and rdx, qword [rax + rsi + 0x90]
or rdx, r8
jne 0x140007432
mov eax, ebx
shl rax, 4
mov rcx, r13
shl rcx, 4
vmovdqa xmm1, xmmword [r14 + rcx + 0x1f0]
vmovdqa xmm2, xmmword [r14 + 0x1a0]
lea rcx, [0x142204830]
vpand xmm3, xmm1, xmmword [rax + rcx + 0x5a0]
vptest xmm3, xmm2
jne 0x140006f00
mov rcx, qword [r14 + 0x258]
mov r9, qword [rsp + 0xe0]
and r9, qword [rcx + r15 + 0x58]
mov rdx, qword [rsp + 0xe8]
and rdx, qword [rcx + r15 + 0x50]
or rdx, r9
mov r10, qword [rsp + 0x68]
jne 0x140007776
xor r9d, r9d
mov esi, dword [r14 + r10*4]
mov rax, qword [rsp + 0x48]
lea r13d, [rax + 1]
mov r15, qword [r14 + 0x258]
cmp edi, 0xffff83f7
jl 0x140006a75
mov rax, qword [rsp + 0x108]
cmp dword [r15 + rax*4 + 8], 0
je 0x140006a75
cmp r10d, dword [rsp + 0x84]
je 0x140006a30
mov eax, r9d
xor al, 1
je 0x140006a30
cmp dword [rsp + 0x80], 0xffff83f7
jl 0x140006a30
mov ebx, edi
cmp dword [rsp + 0x48], 1
mov eax, r13d
mov qword [rsp + 0x48], rax
jg 0x140006754
lea rax, [0x1400f52f0]
mov ebx, dword [rax + rsi*4]
mov eax, dword [rsp + 0x80]
add ebx, eax
cmp ebx, dword [rsp + 0x3c]
jle 0x140007128
mov dword [rsp + 0x60], r9d
mov r8d, dword [rsp + 0x3c]
sub r8d, eax
jl 0x14000744f
mov rcx, r14
mov r12d, dword [rsp + 0x58]
mov edx, r12d
mov r8d, 1
call fcn.14000e220
test al, al
mov r10, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x60]
je 0x1400071bf
nop dword [rax]
cmp dword [rsp + 0x9c], 1
jg 0x1400076f4
test rsi, rsi
je 0x14000713a
mov rcx, r14
mov edx, r12d
mov r8d, 0xffffff81
mov ebx, r9d
call fcn.14000e220
mov r9d, ebx
mov r10, qword [rsp + 0x68]
mov ebx, edi
mov ecx, r13d
mov qword [rsp + 0x48], rcx
test al, al
je 0x140006754
mov dword [rsp + 0x60], r13d
lea rax, [0x14223aec0]
add qword [rsp + 0xd8], rax
mov r13, qword [rsp + 0xa0]
add r13, rax
mov rcx, qword [0x14223aeb0]
xor rcx, qword [r15 + 0x20]
test rsi, rsi
mov dword [rsp + 0x50], edi
jne 0x140007180
mov r11, qword [rsp + 0xb0]
imul rdx, r11, 0x2d0
lea rax, [0x1422381b0]
add rdx, rax
mov rax, qword [rdx + r10*8]
mov r8, qword [rsp + 0x90]
xor rax, qword [rdx + r8*8]
xor rax, rcx
mov ecx, dword [r15 + 0x14]
cmp ecx, 0xd
jge 0x140007707
mov r12, qword [rsp + 0x90]
xor ecx, ecx
test rsi, rsi
sete byte [rsp + 0x48]
setne cl
mov r8, qword [0x14220a5c0]
mul qword [0x14220a5b8]
shl rdx, 5
prefetcht0 byte [r8 + rdx]
mov ebx, dword [rsp + 0x54]
neg ebx
mov r8, qword [rsp + 0x40]
mov edx, dword [rsp + 0x58]
mov dword [r8 + 0x14], edx
movzx eax, byte [r8 + 0x30]
test rax, rax
setne r15b
imul rax, rax, 0x7e9000
add rax, qword [rsp + 0xd0]
imul r11, r11, 0x3f480
add r11, rax
imul rax, rcx, 0x3f4800
add r11, rax
imul rax, r10, 0xb40
add rax, r11
add rax, 0x1c6e8
lea rsi, [r8 + 0x40]
mov qword [r8 + 8], rax
mov eax, dword [rbp + 0x17a0]
lea edi, [rax - 1]
mov rcx, r14
lea r8, [rsp + 0x580]
call fcn.1400050f0
mov r9d, dword [rsp + 0x3c]
neg r9d
mov dword [rsp + 0x20], edi
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
call fcn.140006260
xor byte [r14 + 0x264], 1
mov rcx, qword [rsp + 0x68]
mov r8d, dword [r14 + rcx*4]
mov rcx, qword [r13]
mov rdx, qword [r13 + 8]
mov r10, qword [rsp + 0xd8]
mov r9, qword [r10]
mov r10, qword [r10 + 8]
or r10, rdx
xor qword [r14 + 0x178], r10
or r9, rcx
xor qword [r14 + 0x170], r9
mov r11d, r8d
and r11d, 7
shl r11, 4
xor qword [r14 + r11 + 0x178], r10
xor qword [r14 + r11 + 0x170], r9
mov r11d, r8d
sar r11d, 3
shl r11, 4
xor qword [r14 + r11 + 0x1f8], r10
mov r10, qword [rsp + 0x68]
xor qword [r14 + r11 + 0x1f0], r9
mov dword [r14 + r10*4], 0
mov dword [r14 + r12*4], r8d
mov r8, qword [r14 + 0x258]
mov r9d, dword [r8 + 0x114]
test r9, r9
je 0x140006ca6
mov dword [r14 + r10*4], r9d
mov r10d, r9d
and r10d, 7
shl r10, 4
mov r11, qword [r14 + r10 + 0x178]
or r11, rdx
mov rsi, qword [r14 + r10 + 0x170]
or rsi, rcx
mov qword [r14 + r10 + 0x170], rsi
mov qword [r14 + r10 + 0x178], r11
or qword [r14 + 0x170], rsi
or qword [r14 + 0x178], r11
mov r10d, r9d
sar r10d, 3
shl r10, 4
or qword [r14 + r10 + 0x1f0], rcx
or qword [r14 + r10 + 0x1f8], rdx
inc dword [r14 + r9*4 + 0x210]
and r9d, 0xfffffff8
inc dword [r14 + r9*4 + 0x210]
and r15b, byte [rsp + 0x48]
movzx ecx, r15b
add dword [rsp + 0x9c], ecx
mov rcx, qword [r8 + 0x40]
mov qword [r14 + 0x258], rcx
dec dword [r14 + 0x260]
mov rcx, qword [rcx + 0x20]
and ecx, 0x3fff
dec byte [r14 + rcx + 0x268]
neg eax
mov ecx, dword [rsp + 0x50]
mov ebx, ecx
mov r8d, dword [rsp + 0x60]
mov edx, r8d
mov qword [rsp + 0x48], rdx
cmp ecx, eax
mov r9d, dword [rsp + 0x58]
jge 0x140006754
mov ebx, eax
mov ecx, r8d
mov qword [rsp + 0x48], rcx
cmp dword [rsp + 0x3c], eax
jge 0x140006754
mov ebx, eax
mov ecx, r8d
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x7c], r9d
mov dword [rsp + 0x3c], eax
cmp eax, dword [rsp + 0x54]
jge 0x1400071d9
jmp 0x140006754
mov r15, r13
xor r15, 1
mov eax, eax
imul rcx, r15, 0x5a0
lea rdx, [0x142203cf0]
add rcx, rdx
shl rax, 4
vmovdqa xmm1, xmmword [r14 + 0x1b0]
vpand xmm1, xmm1, xmmword [rax + rcx]
vmovdqa xmm2, xmmword [r14 + 0x1c0]
lea rbx, [rax + rax*2]
lea r10, [0x142207530]
mov rcx, qword [r10 + rbx + 0x10]
mov rax, qword [r10 + rbx]
mov qword [rsp + 0x88], r13
mov r8, qword [rsp + 0x60]
and rax, r8
mov dword [rsp + 0x50], edi
mov rdi, qword [r10 + rbx + 0x18]
imul rdi, rax
mul rcx
add rdx, rdi
mov rdi, qword [r10 + rbx + 8]
and rdi, r11
imul rdi, rcx
mov r13, qword [r10 + rbx + 0x20]
add rdi, rdx
movzx ecx, byte [r10 + rbx + 0x28]
mov r10, qword [rsp + 0x68]
shrd rax, rdi, cl
shr rdi, cl
test cl, 0x40
cmove rdi, rax
mov eax, edi
shl rax, 4
vpand xmm2, xmm2, xmmword [r13 + rax]
lea r9, [0x1400f5330]
mov rcx, qword [r9 + rbx + 0x10]
mov rax, qword [r9 + rbx]
and rax, r8
mov rdi, qword [r9 + rbx + 0x18]
imul rdi, rax
mul rcx
add rdx, rdi
mov rdi, qword [r9 + rbx + 8]
and rdi, r11
imul rdi, rcx
add rdi, rdx
movzx ecx, byte [r9 + rbx + 0x28]
shrd rax, rdi, cl
shr rdi, cl
test cl, 0x40
cmove rdi, rax
mov rax, qword [r9 + rbx + 0x20]
mov ecx, edi
vpor xmm3, xmm0, xmmword [r14 + 0x180]
shl rcx, 4
vpand xmm3, xmm3, xmmword [rax + rcx]
lea r9, [0x1400f8080]
mov rcx, qword [r9 + rbx + 0x10]
mov rax, qword [r9 + rbx]
and rax, r8
mov r13, qword [rsp + 0x88]
mov rdi, qword [r9 + rbx + 0x18]
imul rdi, rax
mul rcx
add rdx, rdi
mov rdi, qword [r9 + rbx + 8]
and rdi, r11
imul rdi, rcx
add rdi, rdx
movzx ecx, byte [r9 + rbx + 0x28]
shrd rax, rdi, cl
shr rdi, cl
test cl, 0x40
cmove rdi, rax
vpor xmm1, xmm2, xmm1
vmovdqa xmm2, xmmword [r14 + 0x1a0]
mov rax, qword [r9 + rbx + 0x20]
mov ecx, edi
mov edi, dword [rsp + 0x50]
shl rcx, 4
vpand xmm2, xmm2, xmmword [rax + rcx]
vpor xmm2, xmm3, xmm2
vpor xmm1, xmm1, xmm2
mov rax, r15
shl rax, 4
vpand xmm1, xmm1, xmmword [r14 + rax + 0x1f0]
vmovq rax, xmm1
vpextrq rcx, xmm1, 1
mov r8, qword [rsp + 0xb8]
andn rcx, r8, rcx
mov rdx, qword [rsp + 0x58]
andn rax, rdx, rax
or rax, rcx
mov ebx, edi
je 0x14000689f
jmp 0x140006754
imul rcx, r13, 0x5a0
lea rdx, [0x142203cf0]
add rcx, rdx
vmovdqa xmm3, xmmword [r14 + 0x1b0]
vpand xmm3, xmm3, xmmword [rax + rcx]
vmovdqa xmm4, xmmword [r14 + 0x1c0]
lea r9, [rax + rax*2]
lea rbx, [0x142207530]
mov rcx, qword [rbx + r9 + 0x10]
mov rax, qword [rbx + r9]
mov r15, qword [rsp + 0x60]
and rax, r15
mov r10, qword [rbx + r9 + 0x18]
imul r10, rax
mul rcx
add rdx, r10
mov r10, qword [rbx + r9 + 8]
and r10, r11
imul r10, rcx
mov rsi, qword [rbx + r9 + 0x20]
add r10, rdx
movzx ecx, byte [rbx + r9 + 0x28]
shrd rax, r10, cl
shr r10, cl
test cl, 0x40
cmove r10, rax
mov eax, r10d
shl rax, 4
vpand xmm4, xmm4, xmmword [rsi + rax]
lea rsi, [0x1400f5330]
mov rcx, qword [rsi + r9 + 0x10]
mov rax, qword [rsi + r9]
and rax, r15
mov r10, qword [rsi + r9 + 0x18]
imul r10, rax
mul rcx
add rdx, r10
mov r10, qword [rsi + r9 + 8]
and r10, r11
imul r10, rcx
add r10, rdx
movzx ecx, byte [rsi + r9 + 0x28]
shrd rax, r10, cl
shr r10, cl
test cl, 0x40
cmove r10, rax
mov rax, qword [rsi + r9 + 0x20]
mov ecx, r10d
vpor xmm0, xmm0, xmmword [r14 + 0x180]
shl rcx, 4
vpand xmm0, xmm0, xmmword [rax + rcx]
lea rsi, [0x1400f8080]
mov rcx, qword [rsi + r9 + 0x10]
and r15, qword [rsi + r9]
mov r10, qword [rsi + r9 + 0x18]
imul r10, r15
mov rax, r15
mul rcx
add rdx, r10
and r11, qword [rsi + r9 + 8]
imul r11, rcx
add r11, rdx
movzx ecx, byte [rsi + r9 + 0x28]
shrd rax, r11, cl
shr r11, cl
test cl, 0x40
cmove r11, rax
mov rax, qword [rsi + r9 + 0x20]
mov ecx, r11d
shl rcx, 4
vpand xmm2, xmm2, xmmword [rax + rcx]
vpor xmm3, xmm4, xmm3
vpor xmm0, xmm0, xmm2
vpor xmm0, xmm3, xmm0
vpand xmm0, xmm0, xmm1
vpextrq rax, xmm0, 1
mov rcx, qword [rsp + 0xe0]
andn rax, rcx, rax
vmovq rcx, xmm0
mov rdx, qword [rsp + 0xe8]
andn rcx, rdx, rcx
or rcx, rax
setne r9b
mov r10, qword [rsp + 0x68]
jmp 0x14000696a
lea r9, [r10 + r10*2]
shl r9, 4
lea r8, [0x1400f8080]
mov qword [rsp + 0x88], r13
mov rsi, qword [r9 + r8 + 0x10]
mov r10, qword [r9 + r8 + 8]
and r10, r11
mov rcx, qword [r9 + r8]
and rcx, qword [rsp + 0x60]
mov r12d, edi
mov rdi, qword [r9 + r8 + 0x18]
mov rax, rcx
mul rsi
imul rdi, rcx
add rdx, rdi
mov edi, r12d
imul r10, rsi
add r10, rdx
movzx ecx, byte [r9 + r8 + 0x28]
shrd rax, r10, cl
shr r10, cl
mov rdx, qword [r9 + r8 + 0x20]
mov r13, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x58]
test cl, 0x40
cmove r10, rax
mov ecx, r10d
shl rcx, 4
mov eax, ebx
mov r9, rax
shl r9, 4
lea rsi, [0x14223aec0]
mov r10, qword [r9 + rsi + 8]
and r10, qword [rdx + rcx + 8]
mov r9, qword [r9 + rsi]
and r9, qword [rdx + rcx]
or r9, r10
je 0x1400068ff
jmp 0x140007656
cmp edi, ebx
cmovg ebx, edi
mov eax, r13d
mov qword [rsp + 0x48], rax
jmp 0x140006754
imul rax, qword [rsp + 0xb0], 0xb4
mov rcx, qword [rsp + 0xf0]
add rcx, rax
cmp word [rcx + r10*2], 0
jns 0x140006a47
add rax, qword [rsp + 0xf8]
cmp word [rax + r10*2], 0
mov ebx, edi
mov eax, r13d
mov qword [rsp + 0x48], rax
js 0x140006754
jmp 0x140006a47
imul rax, rsi, 0x2d0
lea r8, [0x1422381b0]
add rax, r8
mov rax, qword [rax + r10*8]
mov r11, qword [rsp + 0xb0]
imul rdx, r11, 0x2d0
add rdx, r8
xor rax, qword [rdx + r10*8]
mov r12, qword [rsp + 0x90]
xor rax, qword [rdx + r12*8]
xor rax, rcx
jmp 0x140006aed
mov eax, dword [rsp + 0x80]
cmp edi, eax
cmovle edi, eax
mov ebx, edi
jmp 0x14000712d
mov eax, edi
mov r9d, dword [rsp + 0x7c]
mov edi, eax
cmp eax, 0xffff82ff
je 0x140007697
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x10]
cmp edi, 0x7c0a
jge 0x1400076d4
mov eax, edi
cmp edi, 0xffff83f6
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0xc8]
mov esi, dword [rsp + 0x98]
jle 0x1400076fe
cmp edi, dword [rsp + 0x54]
setl dl
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x24]
movzx r8d, word [r11]
test r9d, r9d
jne 0x14000723f
cmp r8w, word [rsp + 0x70]
je 0x140007244
mov word [r11 + 4], r9w
cmp r8w, word [rsp + 0x70]
je 0x1400073f8
mov r8b, 2
sub r8b, dl
mov rdx, qword [rsp + 0x70]
mov word [r11], dx
and r10b, 1
xor r10b, 7
mov byte [r11 + 2], r10b
shl sil, 2
or sil, byte [0x14220a5c8]
or sil, r8b
mov byte [r11 + 3], sil
mov word [r11 + 6], ax
mov word [r11 + 8], cx
mov ebx, edi
mov eax, ebx
lea rsp, [rbp + 0x1738]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x32], 0
jne 0x140007289
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x10]
cmp ebx, 0x7c0a
jge 0x140007730
mov eax, ebx
cmp ebx, 0xffff83f6
jle 0x140007739
mov rcx, qword [rsp + 0x70]
cmp word [r13], cx
je 0x140007663
mov word [r13 + 4], 0
mov rcx, qword [rsp + 0x70]
mov word [r13], cx
mov byte [r13 + 2], 1
movzx ecx, byte [0x14220a5c8]
or cl, 2
mov byte [r13 + 3], cl
mov word [r13 + 6], ax
mov word [r13 + 8], dx
jmp 0x140007289
movzx r10d, word [r13 + 6]
movzx eax, r10w
cmp eax, 0x7d02
je 0x14000764c
movsx ebx, r10w
mov edx, 0x7d00
sub edx, ebx
mov eax, pe_nt_image_headers64
sub eax, esi
lea r8d, [rbx + 0x7d00]
cmp r8d, eax
setle r11b
cmp edx, eax
jg 0x140007742
movsx r10d, r10w
cmp r10d, 0xffff83f7
jl 0x140007742
test r11b, 1
je 0x140007742
xor eax, eax
cmp ebx, 0x7c0a
cmovge eax, r9d
sub ebx, eax
movzx r15d, word [r13 + 4]
movzx r8d, byte [r13 + 3]
cmp ebx, 0x7d02
je 0x1400073ab
movzx eax, byte [r13 + 2]
add eax, 0xfffffff9
cmp eax, dword [rsp + 0xa8]
jl 0x1400073ab
xor eax, eax
cmp ebx, dword [rsp + 0x54]
setge al
inc eax
test r8d, eax
jne 0x140007289
and r8b, 4
shr r8b, 2
test cl, cl
jne 0x140007673
movsx edx, word [r13 + 8]
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], edx
cmp edx, 0x7d02
je 0x1400077f9
cmp ebx, 0x7d02
je 0x14000662a
movzx eax, byte [r13 + 3]
xor ecx, ecx
cmp ebx, edx
setg cl
inc ecx
test eax, ecx
cmove ebx, edx
jmp 0x14000662c
movzx r8d, sil
lea r8d, [r10 + r8*2]
add r8d, 7
movzx r9d, byte [r11 + 2]
add r9d, 0xfffffffc
cmp r8d, r9d
jg 0x140007250
jmp 0x140007287
mov r13, rdx
jmp 0x14000643e
xor edx, edx
mov rax, qword [rsp + 0x40]
sub edx, dword [rax - 0x1c]
jmp 0x14000661c
mov r9b, 1
jmp 0x14000696a
mov ebx, 0xffff82ff
xor r15d, r15d
xor r8d, r8d
mov edx, 0xffff82ff
jmp 0x140006643
shl r8d, 2
mov rcx, r14
mov r12d, dword [rsp + 0x58]
mov edx, r12d
call fcn.14000e220
mov ecx, dword [rsp + 0x3c]
mov ebx, ecx
mov ecx, r13d
mov qword [rsp + 0x48], rcx
test al, al
mov r10, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x60]
jne 0x140006a30
jmp 0x140006754
mov r15, r13
xor r15, 1
imul rcx, r15, 0x5a0
lea rax, [0x142203cf0]
add rcx, rax
mov qword [rsp + 0x88], rcx
vmovdqa xmm1, xmmword [r14 + 0x1c0]
vmovdqa xmm0, xmmword [r14 + 0x1e0]
lea r8, [rbx + rbx*2]
lea r9, [0x142207530]
mov rbx, qword [r9 + r8 + 0x10]
mov rax, qword [r9 + r8 + 0x20]
mov qword [rsp + 0x100], rax
mov rax, qword [r9 + r8]
mov rcx, qword [rsp + 0x60]
and rax, rcx
mov r10, rcx
mov rcx, qword [r9 + r8 + 0x18]
imul rcx, rax
mul rbx
add rdx, rcx
mov dword [rsp + 0x50], edi
mov rdi, qword [r9 + r8 + 8]
and rdi, r11
imul rdi, rbx
add rdi, rdx
movzx ecx, byte [r9 + r8 + 0x28]
shrd rax, rdi, cl
shr rdi, cl
test cl, 0x40
cmove rdi, rax
mov eax, edi
shl rax, 4
mov rcx, qword [rsp + 0x100]
vpand xmm1, xmm1, xmmword [rcx + rax]
lea r9, [0x1400f5330]
mov rcx, qword [r9 + r8 + 0x10]
mov rbx, qword [r9 + r8 + 8]
mov rax, qword [r9 + r8]
and rax, r10
mov rdi, qword [r9 + r8 + 0x18]
imul rdi, rax
mul rcx
and rbx, r11
add rdx, rdi
imul rbx, rcx
add rbx, rdx
movzx ecx, byte [r9 + r8 + 0x28]
shrd rax, rbx, cl
shr rbx, cl
test cl, 0x40
cmove rbx, rax
lea r10, [0x1400f8080]
mov rcx, qword [r10 + r8 + 0x10]
mov rax, qword [r10 + r8]
and rax, qword [rsp + 0x60]
mov rdi, qword [r10 + r8 + 0x18]
imul rdi, rax
mul rcx
add rdx, rdi
mov rdi, qword [r10 + r8 + 8]
and rdi, r11
imul rdi, rcx
mov r9, qword [r9 + r8 + 0x20]
mov ebx, ebx
vpor xmm2, xmm0, xmmword [r14 + 0x180]
add rdi, rdx
movzx ecx, byte [r10 + r8 + 0x28]
shrd rax, rdi, cl
shl rbx, 4
vpand xmm2, xmm2, xmmword [r9 + rbx]
shr rdi, cl
test cl, 0x40
cmove rdi, rax
vmovdqa xmm3, xmmword [r14 + 0x1a0]
mov rax, qword [r10 + r8 + 0x20]
mov r10, qword [rsp + 0x68]
mov ecx, edi
mov edi, dword [rsp + 0x50]
shl rcx, 4
vpand xmm3, xmm3, xmmword [rax + rcx]
vmovdqa xmm4, xmmword [r14 + 0x1b0]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa0]
vpand xmm4, xmm4, xmmword [rcx + rax]
vpor xmm1, xmm1, xmm4
vpor xmm2, xmm2, xmm3
vpor xmm1, xmm1, xmm2
mov rax, r15
shl rax, 4
vptest xmm1, xmmword [r14 + rax + 0x1f0]
mov ebx, edi
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xb8]
je 0x14000689f
jmp 0x140006754
mov ebx, 0x7d02
jmp 0x140007374
mov r9b, 1
mov r10, qword [rsp + 0x68]
jmp 0x14000696a
cmp byte [r13 + 2], 4
jbe 0x1400072e3
jmp 0x140007289
mov ebx, 0xffff82ff
mov edx, 0xffff82ff
jmp 0x140006643
mov rcx, r14
mov edx, r15d
call fcn.14000e090
xor al, 1
movzx eax, al
jmp 0x140006727
mov edi, 0xffff8300
mov rax, qword [rsp + 0x40]
add edi, dword [rax + 0x10]
jmp 0x140007287
lea eax, [rsi - 0xe]
shr eax, 3
movabs rdx, 0x5851f42d4c957f2d
imul rdx, rax
movabs rax, 0x14057b7ef767814f
add rax, rdx
xor qword [rsp + 0x70], rax
jmp 0x140006330
add ecx, edi
mov eax, ecx
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0xc8]
mov esi, dword [rsp + 0x98]
jmp 0x14000721f
mov r9d, dword [rsp + 0x7c]
jmp 0x1400071e6
mov eax, edi
sub eax, ecx
jmp 0x14000721f
add ecx, 0xfffffff3
shr ecx, 3
movabs rdx, 0x5851f42d4c957f2d
imul rdx, rcx
movabs rcx, 0x14057b7ef767814f
add rcx, rdx
xor rax, rcx
jmp 0x140006ae5
add ecx, ebx
mov eax, ecx
jmp 0x1400072cc
mov eax, ebx
sub eax, ecx
jmp 0x1400072cc
cmp ebx, 0x7c0a
jge 0x1400077c3
cmp ebx, 0xffff83f6
jg 0x140007374
add r9d, ebx
cmp r8d, eax
mov ebx, 0xffff83f7
cmovle ebx, r9d
jmp 0x140007374
mov ebx, dword [rsp + 0xc4]
jmp 0x140007289
imul rcx, qword [rsp + 0x90], 0x5a0
lea rdx, [0x1422186c0]
add rdx, rcx
lea r8, [0x14223aec0]
mov rcx, qword [rax + r8]
mov rax, qword [rax + r8 + 8]
mov r12d, dword [rsp + 0x58]
mov r8, qword [rsp + 0xa0]
and rax, qword [r8 + rdx + 8]
and rcx, qword [r8 + rdx]
mov r9b, 1
or rcx, rax
je 0x14000696a
jmp 0x140006967
sub ebx, r9d
cmp edx, eax
mov eax, 0x7c09
cmovle eax, ebx
mov ebx, eax
jmp 0x140007374
xor ebx, ebx
test cl, cl
jne 0x140007289
mov rcx, r14
call fcn.140023420
jmp 0x14000728b
mov eax, ebx
mov dword [rsp + 0x3c], ebx
jmp 0x140006640
mov rcx, r14
mov edi, r8d
call fcn.140023420
mov r8d, edi
mov edx, eax
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], edx
jmp 0x1400073d4