Function at 0x140161ab0
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, 0xd08
movdqa xmmword [rsp + 0xcf0], xmm6
mov rdi, rcx
mov rax, qword [0x14027c048]
xor rax, rsp
mov qword [rsp + 0xce8], rax
lea rsi, [rsp + 0xe8]
mov qword [rsp + 0xd8], rsi
movabs rax, 0x8000000000
mov qword [rsp + 0xe0], rax
mov rax, qword [rcx + 0x10]
lea rbx, [rsp + 0x88]
mov qword [rsp + 0x78], rbx
movabs rcx, 0x800000000
mov qword [rsp + 0x80], rcx
mov rax, qword [rax + 0x150]
mov qword [rsp + 0xa8], rax
movabs rax, 0xffffffff00000000
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xd0], 0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xb0], xmm0
mov dword [rsp + 0xc0], 0
mov word [rsp + 0xc0], 1
mov r11d, dword [rdi + 0x20]
test r11d, r11d
je 0x140162cf3
movdqa xmm6, xmmword [str.CCCCCCCCf]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r15d, r15d
xor r13d, r13d
mov dword [rsp + 0x30], r11d
jmp 0x140161bac
xor r14d, r14d
inc r15d
cmp r15d, r11d
je 0x140162ca7
mov rbp, qword [rdi + 0x18]
mov eax, r15d
lea r12, [rax + rax*2]
test r15d, r15d
je 0x140161be0
lea eax, [r15 - 1]
lea rax, [rax + rax*2]
cmp word [rbp + rax*8 + 0x10], 0x43
je 0x140161be0
test byte [rbp + r12*8 + 0x12], 2
je 0x140161be0
or byte [rdi + 0x40], 4
nop dword [rax + rax]
lea rbx, [r12*8]
add rbx, rbp
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x140161c1e
movzx ecx, word [rbp + r12*8 + 0x10]
lea edx, [rcx - 7]
cmp dx, 6
jb 0x140161c13
lea edx, [rcx - 0xd]
cmp edx, 6
jae 0x140161f6e
xor edx, edx
cmp rdx, rax
je 0x140161cb0
mov r8d, dword [rsp + 0x80]
test r8, r8
je 0x140161d30
movzx eax, word [rbp + r12*8 + 0x10]
cmp ax, 0x15
jne 0x140161c80
mov esi, dword [rbx]
cmp r8d, dword [rsp + 0x84]
jae 0x14016273b
mov rax, qword [rsp + 0x78]
mov ecx, r8d
mov dword [rax + rcx*4], esi
mov r8d, dword [rsp + 0x80]
inc r8d
mov dword [rsp + 0x80], r8d
mov rcx, qword [rdi + 0x18]
movzx eax, word [rcx + r12*8 + 0x10]
cmp ax, 0x16
je 0x140161c89
jmp 0x140161c9a
mov rcx, rbp
cmp ax, 0x16
jne 0x140161c9a
dec r8d
mov dword [rsp + 0x80], r8d
je 0x140161f16
test r13b, r13b
je 0x140161d02
test r14b, r14b
jne 0x140161d30
jmp 0x140161b9d
mov esi, dword [rsp + 0xe0]
mov ebx, dword [rbx]
mov r8d, dword [rsp + 0x80]
cmp r8d, dword [rsp + 0x84]
jae 0x140162768
mov rax, qword [rsp + 0x78]
mov ecx, r8d
mov dword [rax + rcx*4], 0
inc dword [rsp + 0x80]
inc r15d
mov dword [rsp + 0xc8], ebx
mov dword [rsp + 0xcc], esi
mov al, 1
mov qword [rsp + 0x38], rax
jmp 0x140161ba0
mov rdx, qword [rdi]
mov rcx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call fcn.1401647f0
mov r11d, dword [rsp + 0x30]
mov r14d, eax
mov r13b, 1
test r14b, r14b
je 0x140161b9d
nop word cs:[rax + rax]
movzx ecx, word [rbp + r12*8 + 0x10]
cmp ecx, 0x44
je 0x140161d40
cmp ecx, 0x42
jne 0x140161da4
mov rax, qword [rdi + 0x18]
lea esi, [r15 + 1]
lea rdx, [rsi + rsi*2]
movzx r9d, word [rax + rdx*8 + 0x10]
lea r8d, [r9 - 7]
cmp r8w, 6
jb 0x140161d6b
lea r8d, [r9 - 0xd]
cmp r8d, 6
jae 0x140162089
xor r8d, r8d
mov r10, qword [rdi]
mov r9d, dword [r10 + 0x18]
test r9, r9
je 0x140161ef0
lea rax, [rax + rdx*8]
mov r10, qword [r10 + 8]
shl r9, 3
xor edx, edx
nop dword [rax]
cmp qword [r10 + rdx*8], r8
je 0x140161dd5
inc rdx
add r9, 0xfffffffffffffff8
jne 0x140161d90
jmp 0x140161ef0
mov dword [rsp + 0x34], r14d
mov eax, dword [rsp + 0xe0]
test rax, rax
je 0x140161f86
mov rdx, qword [rsp + 0xd8]
lea r8, [rax + rax*2]
cmp word [rdx + r8*8 - 8], 0x43
sete r14b
jmp 0x140161f89
cmp edx, 0xffffffff
je 0x140161ef0
mov qword [rsp + 0x40], r13
mov r13d, r14d
mov r8d, dword [rdi + 0x38]
mov r11d, 0x7fffffff
and r8d, r11d
mov r9d, dword [rdi + 0x3c]
add r9d, r8d
mov eax, dword [rax]
and eax, r11d
mov ebp, eax
sub ebp, r8d
cmp eax, r9d
mov r10d, 0
cmovae ebp, r10d
cmp eax, r8d
cmovb ebp, r10d
mov eax, dword [rbx]
and eax, r11d
mov ebx, eax
sub ebx, r8d
cmp eax, r9d
cmovae ebx, r10d
cmp eax, r8d
cmovb ebx, r10d
cmp cx, 0x44
mov eax, dword [rdi + 0x30]
sete r12b
add ebx, eax
add ebp, eax
mov rcx, qword [rdi + 8]
call fcn.1401647c0
mov r8, qword [rdi + 0x10]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebx
lea r14, [rsp + 0x60]
mov rcx, r14
mov rdx, rax
mov r9d, r12d
call fcn.140164a70
movzx eax, word [rsp + 0x72]
mov ecx, eax
or ecx, 0x100
mov word [rsp + 0x72], cx
test byte [rdi + 0x40], 4
je 0x140161e89
or eax, 0x102
mov word [rsp + 0x72], ax
mov ecx, dword [rsp + 0xe0]
mov rbx, r14
cmp ecx, dword [rsp + 0xe4]
mov r11d, dword [rsp + 0x30]
jae 0x140162aa9
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0xe0]
lea rcx, [rcx + rcx*2]
mov rdx, qword [rbx + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rax + rcx*8], xmm0
inc dword [rsp + 0xe0]
and byte [rdi + 0x40], 0xfb
mov al, 1
mov qword [rsp + 0x38], rax
mov r15d, esi
mov r14d, r13d
mov r13, qword [rsp + 0x40]
jmp 0x140161ba0
xor eax, eax
cmp cx, 0x44
sete al
mov ecx, dword [rdi + 0x40]
mov edx, dword [rsp + 0xd0]
and edx, 0xfffffff8
shr ecx, 2
and ecx, 1
lea eax, [rdx + rax*2]
add eax, ecx
add eax, 2
jmp 0x140161f62
mov eax, dword [rsp + 0xd0]
test al, 6
je 0x1401620c1
lea rax, [rcx + r12*8]
mov r9d, dword [rax]
mov rcx, rdi
lea rdx, [rsp + 0xd8]
lea r8, [rsp + 0x78]
call fcn.140162fc0
mov r11d, dword [rsp + 0x30]
mov eax, dword [rsp + 0xd0]
movabs rcx, 0xffffffff00000000
mov qword [rsp + 0xc8], rcx
and eax, 0xffffffe0
mov dword [rsp + 0xd0], eax
jmp 0x140161ba0
mov edx, 0
cmp ecx, 1
je 0x140161c15
mov rdx, qword [rbp + r12*8 + 8]
jmp 0x140161c15
xor r14d, r14d
test r15d, r15d
mov qword [rsp + 0x40], r13
je 0x140161fac
mov rdx, qword [rdi + 0x18]
lea r8d, [r15 - 1]
lea r8, [r8 + r8*2]
cmp word [rdx + r8*8 + 0x10], 0x43
sete sil
jmp 0x140161fae
xor esi, esi
lea r13d, [r15 + 1]
cmp r13d, r11d
jne 0x140161fc9
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x48], 0
jmp 0x140161ff2
mov rdx, qword [rdi + 0x18]
mov r8d, r13d
lea r8, [r8 + r8*2]
movzx edx, word [rdx + r8*8 + 0x10]
cmp dx, 0x43
sete r8b
mov dword [rsp + 0x4c], r8d
cmp dx, 0x16
sete dl
mov dword [rsp + 0x48], edx
lea edx, [rcx - 7]
cmp dx, 6
jb 0x140162007
lea edx, [rcx - 0xd]
cmp edx, 6
jae 0x14016210b
cmp eax, dword [rsp + 0xe4]
jae 0x140162856
mov r13, qword [rsp + 0x40]
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0xe0]
lea rcx, [rcx + rcx*2]
mov rdx, qword [rbx + 0x10]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rax + rcx*8], xmm0
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
test byte [rdi + 0x40], 4
jne 0x140162067
xor sil, 1
or r14b, sil
je 0x1401620a3
mov r14d, dword [rsp + 0x34]
jmp 0x140161ba0
mov rcx, qword [rsp + 0xd8]
mov eax, eax
lea rax, [rax + rax*2]
or word [rcx + rax*8 - 6], 2
and byte [rdi + 0x40], 0xfb
mov r14d, dword [rsp + 0x34]
jmp 0x140161ba0
mov r8d, 0
cmp r9d, 1
je 0x140161d6e
mov r8, qword [rax + rdx*8 + 8]
jmp 0x140161d6e
mov rcx, qword [rsp + 0xd8]
mov eax, eax
lea rax, [rax + rax*2]
and word [rcx + rax*8 - 6], 0xfffd
mov r14d, dword [rsp + 0x34]
jmp 0x140161ba0
mov r8d, dword [rsp + 0xe0]
mov edx, dword [rsp + 0xcc]
cmp r8d, edx
jne 0x140162168
test r8, r8
je 0x1401621d7
mov rdx, qword [rsp + 0xd8]
lea r9, [r8 + r8*2]
cmp word [rdx + r9*8 - 8], 0x43
jne 0x1401621d7
dec r8d
mov dword [rsp + 0xe0], r8d
jmp 0x140161f4d
cmp ecx, 1
je 0x140162007
mov rcx, qword [rbp + r12*8 + 8]
test rcx, rcx
je 0x140162007
mov r8, qword [rdi]
mov edx, dword [r8 + 0x18]
test rdx, rdx
je 0x140162007
mov r9, qword [r8 + 8]
lea r10, [rdx*8]
xor r12d, r12d
nop word cs:[rax + rax]
cmp qword [r9 + r12*8], rcx
je 0x1401621fb
inc r12
add r10, 0xfffffffffffffff8
jne 0x140162150
jmp 0x140162007
test al, 8
je 0x1401621a7
mov rax, qword [rsp + 0xd8]
lea rcx, [rdx + rdx*2]
lea rdx, [rax + rcx*8]
lea rcx, [rax + rcx*8]
add rcx, 0xffffffffffffffe8
lea r8, [r8 + r8*2]
lea r8, [rax + r8*8]
sub r8, rdx
call fcn.1401a77c0
mov r11d, dword [rsp + 0x30]
dec dword [rsp + 0xe0]
mov eax, dword [rsp + 0xd0]
test al, 0x10
je 0x140161f4d
lea ecx, [r15 + 1]
cmp ecx, r11d
je 0x140161f4d
mov rdx, qword [rdi + 0x18]
mov r8d, ecx
lea r8, [r8 + r8*2]
cmp word [rdx + r8*8 + 0x10], 0x43
cmove r15d, ecx
jmp 0x140161f4d
lea edx, [r15 + 1]
cmp edx, r11d
je 0x140161f4d
mov r8d, edx
lea r8, [r8 + r8*2]
cmp word [rcx + r8*8 + 0x10], 0x43
cmove r15d, edx
jmp 0x140161f4d
cmp r12d, 0xffffffff
je 0x140162007
mov rcx, qword [rdi + 8]
test sil, sil
jne 0x140162256
cmp byte [rcx + 4], 0
je 0x14016224b
movzx r8d, byte [r8 + 0x24]
mov r9d, r8d
shr r9b, 2
shr r8b, 3
or r8b, r9b
test r8b, 1
je 0x14016224b
lea r8d, [rdx - 1]
cmp r8d, r12d
jne 0x14016224b
mov r8, qword [rdi + 0x10]
mov r8, qword [r8 + 0x38]
mov r8d, dword [r8]
test r8b, 0x10
jne 0x140162795
cmp byte [rsp + 0x4c], 0
je 0x1401624fa
mov edx, r12d
call fcn.1401647c0
mov rsi, rax
mov rcx, rax
call fcn.1401647a0
test eax, eax
je 0x1401624d1
mov ebp, eax
test r14b, r14b
mov qword [rsp + 0x38], rsi
je 0x1401622c8
mov eax, dword [rsp + 0xe0]
cmp rax, 2
jb 0x1401622c8
lea rcx, [rax + rax*2]
mov rdx, qword [rsp + 0xd8]
cmp word [rdx + rcx*8 - 0x20], 0x41
jne 0x1401622c8
mov r8, qword [rdi]
sub r12d, dword [r8 + 0x18]
cmp r12d, 0xffffffff
jne 0x1401622c8
movzx r8d, byte [r8 + 0x24]
mov r9d, r8d
shr r9b, 2
shr r8b, 3
or r8b, r9b
test r8b, 1
jne 0x140162b4b
xor esi, esi
mov r14d, ebp
lea r13, [r14*8]
mov eax, dword [rsp + 0xe0]
mov ecx, dword [rsp + 0xe4]
lea r8, [rax + r14]
cmp r8, rcx
jbe 0x14016230e
mov r9d, 0x18
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
call fcn.140021710
mov eax, dword [rsp + 0xe0]
lea r12, [r13*2]
add r12, r13
lea rcx, [rax + rax*2]
shl rcx, 3
add rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x38]
mov r8, r12
call fcn.1401a77b0
add ebp, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], ebp
mov r10, qword [rsp + 0xd8]
lea rax, [rbp*2]
add rax, rbp
lea r9, [r10 + rax*8]
mov rax, r14
neg rax
lea r8, [rax + rax*2]
lea rcx, [r13*2 - 0x18]
add rcx, r13
mov rax, rcx
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
lea r8, [r9 + r8*8]
mov rax, r8
cmp rcx, 0xa8
mov r13, qword [rsp + 0x40]
jb 0x14016261d
shr rdx, 4
inc rdx
mov rcx, rdx
and rcx, 0xfffffffffffffff8
lea rax, [rcx + rcx*2]
lea rax, [r8 + rax*8]
shl rbp, 3
lea r11, [rbp*2]
add r11, rbp
sub r11, r12
add r10, r11
add r10, 0xb8
mov r11, rcx
jmp 0x1401623e1
add r10, 0xc0
add r11, 0xfffffffffffffff8
je 0x140162581
movd xmm0, dword [r10]
movd xmm1, dword [r10 - 0x18]
punpcklwd xmm1, xmm0
movd xmm0, dword [r10 - 0x30]
movd xmm2, dword [r10 - 0x48]
punpcklwd xmm2, xmm0
punpckldq xmm2, xmm1
movd xmm0, dword [r10 - 0x60]
movd xmm1, dword [r10 - 0x78]
punpcklwd xmm1, xmm0
movd xmm3, dword [r10 - 0x90]
movd xmm0, dword [r10 - 0xa8]
punpcklwd xmm0, xmm3
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
pcmpeqw xmm0, xmm6
movd ebp, xmm0
test bpl, 1
je 0x14016244a
mov word [r10 - 0xa8], 0
shr ebp, 0x10
test bpl, 1
je 0x14016245d
mov word [r10 - 0x90], 0
pextrw ebp, xmm0, 2
test bpl, 1
je 0x14016246f
mov word [r10 - 0x78], 0
pextrw ebp, xmm0, 3
test bpl, 1
je 0x140162481
mov word [r10 - 0x60], 0
pextrw ebp, xmm0, 4
test bpl, 1
je 0x140162493
mov word [r10 - 0x48], 0
pextrw ebp, xmm0, 5
test bpl, 1
je 0x1401624a5
mov word [r10 - 0x30], 0
pextrw ebp, xmm0, 6
test bpl, 1
je 0x1401624b7
mov word [r10 - 0x18], 0
pextrw ebp, xmm0, 7
test bpl, 1
je 0x1401623d0
mov word [r10], 0
jmp 0x1401623d0
mov al, 1
mov qword [rsp + 0x38], rax
cmp byte [rsp + 0x4c], 0
mov r11d, dword [rsp + 0x30]
je 0x14016262c
mov r15d, r13d
mov r13, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x34]
jmp 0x140161ba0
mov edx, r12d
call fcn.1401647c0
mov rbp, rax
mov rcx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov rdx, rax
call fcn.140164a10
test al, al
je 0x14016252c
mov rcx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov edx, r12d
call fcn.140164830
mov rbp, qword [rax]
cmp word [rbp + 0x10], 1
mov r13, qword [rsp + 0x40]
jne 0x140162663
test r14b, r14b
mov r11d, dword [rsp + 0x30]
je 0x14016254e
or byte [rsp + 0xd0], 8
cmp dword [rsp + 0x80], 1
sete al
mov ecx, dword [rsp + 0x48]
and cl, al
mov al, 1
mov qword [rsp + 0x38], rax
cmp cl, 1
mov r14d, dword [rsp + 0x34]
jne 0x140161ba0
or byte [rsp + 0xd0], 0x10
jmp 0x140161ba0
cmp rdx, rcx
jne 0x14016261d
cmp dword [rdi + 0x28], 0
je 0x14016259a
mov edx, dword [rbx]
mov rcx, rdi
call fcn.140163db0
test sil, sil
jne 0x1401625eb
mov eax, dword [rsp + 0xe0]
sub rax, r14
mov rcx, qword [rsp + 0xd8]
lea rax, [rax + rax*2]
and word [rcx + rax*8 + 0x12], 0xfffe
mov eax, dword [rsp + 0xe0]
sub rax, r14
mov rcx, qword [rsp + 0xd8]
mov edx, dword [rdi + 0x40]
lea rax, [rax + rax*2]
movzx r8d, word [rcx + rax*8 + 0x12]
and r8d, 0xfffffffd
shr edx, 1
and edx, 2
or edx, r8d
mov word [rcx + rax*8 + 0x12], dx
and byte [rdi + 0x40], 0xfb
mov al, 1
mov qword [rsp + 0x38], rax
mov r11d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x34]
jmp 0x140161ba0
add rax, 0x18
cmp rax, r9
je 0x14016258a
cmp word [rax + 0x10], 0x43
jne 0x140162610
mov word [rax + 0x10], 0
jmp 0x140162610
mov eax, dword [rsp + 0x80]
cmp eax, 1
sete cl
test byte [rsp + 0x48], cl
je 0x14016281a
or byte [rsp + 0xd0], 0x10
test r14b, r14b
mov r13, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x34]
jne 0x140162835
jmp 0x140162b08
mov esi, dword [rsp + 0xe0]
mov rcx, rbp
call fcn.1401647a0
mov r12d, eax
mov r14d, eax
mov r8d, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe4]
add r8, r14
cmp r8, rax
jbe 0x1401626aa
mov r9d, 0x18
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
call fcn.140021710
test r12d, r12d
je 0x1401626d6
shl r14, 3
lea r8, [r14 + r14*2]
mov eax, dword [rsp + 0xe0]
lea rcx, [rax + rax*2]
shl rcx, 3
add rcx, qword [rsp + 0xd8]
mov rdx, rbp
call fcn.1401a77b0
mov eax, dword [rsp + 0xe0]
add eax, r12d
mov dword [rsp + 0xe0], eax
cmp r12d, 1
jne 0x1401628a2
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x38]
mov ecx, dword [rcx]
and ecx, 0x10
mov r14d, dword [rsp + 0x34]
je 0x1401628a7
mov rcx, qword [rsp + 0xd8]
mov edx, eax
lea rdx, [rdx + rdx*2]
cmp word [rcx + rdx*8 - 8], 0x41
jne 0x1401628a7
lea rax, [rcx + rdx*8]
add rax, 0xffffffffffffffe8
or byte [rax + 0x12], 0x80
mov eax, dword [rsp + 0xe0]
jmp 0x1401628a7
inc r8
mov r9d, 4
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x88]
call fcn.140021710
mov r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x80]
jmp 0x140161c4b
inc r8
mov r9d, 4
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x88]
call fcn.140021710
mov r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x80]
jmp 0x140161ccf
and r8d, 0x80000001
cmp r8d, 1
sete r8b
cmp edx, 2
setb dl
test rax, rax
je 0x14016224b
and r8b, dl
jne 0x14016224b
mov rdx, qword [rsp + 0xd8]
lea r8, [rax + rax*2]
cmp word [rdx + r8*8 - 8], 0x41
jne 0x14016224b
mov ecx, eax
dec ecx
mov dword [rsp + 0xe0], ecx
mov r13, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x34]
je 0x140162811
mov ecx, ecx
lea r8, [rcx + rcx*2]
cmp word [rdx + r8*8 - 8], 0x43
jne 0x140162808
add eax, 0xfffffffe
mov dword [rsp + 0xe0], eax
mov rcx, rax
lea rax, [rcx + rcx*2]
or byte [rdx + rax*8 - 5], 2
and byte [rdi + 0x40], 0xfb
jmp 0x140161cf6
test r14b, r14b
mov r13, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x34]
je 0x140162b08
test eax, eax
je 0x140162af8
mov eax, dword [rsp + 0xe0]
cmp eax, dword [rsp + 0xcc]
ja 0x140162aff
or byte [rsp + 0xd0], 8
jmp 0x140162b08
lea r8, [rax + 1]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rbx
mov r13, qword [rsp + 0x40]
ja 0x14016287d
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
cmp rax, rbx
ja 0x140162c4e
mov r9d, 0x18
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
call fcn.140021710
mov r11d, dword [rsp + 0x30]
jmp 0x140162019
mov r14d, dword [rsp + 0x34]
mov r10, qword [rsp + 0xd8]
mov ecx, eax
lea rdx, [rcx + rcx*2]
lea r9, [r10 + rdx*8]
lea r11, [rsi + rsi*2]
lea r8, [r10 + r11*8]
cmp esi, eax
jne 0x14016291c
cmp dword [rdi + 0x28], 0
je 0x1401628dd
mov edx, dword [rbx]
mov rcx, rdi
call fcn.140163db0
mov r10, qword [rsp + 0xd8]
mov eax, dword [rdi + 0x40]
shl rsi, 3
lea rcx, [rsi + rsi*2]
movzx edx, word [r10 + rcx + 0x12]
and edx, 0xfffffffd
shr eax, 1
and eax, 2
or eax, edx
mov word [r10 + rcx + 0x12], ax
mov rax, qword [rsp + 0xd8]
and word [rax + rcx + 0x12], 0xfffe
and byte [rdi + 0x40], 0xfb
mov al, 1
mov qword [rsp + 0x38], rax
jmp 0x140162b41
shl rcx, 3
lea rcx, [rcx + rcx*2]
lea rax, [rsi*8]
lea rax, [rax + rax*2]
sub rcx, rax
add rcx, 0xffffffffffffffe8
mov rax, rcx
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rax, r8
cmp rcx, 0xa8
jb 0x140162a9a
shr rdx, 4
inc rdx
mov rcx, rdx
and rcx, 0xfffffffffffffff8
lea rax, [rcx + rcx*2]
lea rax, [r8 + rax*8]
lea r11, [r10 + r11*8]
add r11, 0xb8
mov r14, rcx
jmp 0x14016298e
add r11, 0xc0
add r14, 0xfffffffffffffff8
je 0x140162a7e
movd xmm0, dword [r11]
movd xmm1, dword [r11 - 0x18]
punpcklwd xmm1, xmm0
movd xmm0, dword [r11 - 0x30]
movd xmm2, dword [r11 - 0x48]
punpcklwd xmm2, xmm0
punpckldq xmm2, xmm1
movd xmm0, dword [r11 - 0x60]
movd xmm1, dword [r11 - 0x78]
punpcklwd xmm1, xmm0
movd xmm3, dword [r11 - 0x90]
movd xmm0, dword [r11 - 0xa8]
punpcklwd xmm0, xmm3
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
pcmpeqw xmm0, xmm6
movd ebp, xmm0
test bpl, 1
je 0x1401629f7
mov word [r11 - 0xa8], 0
shr ebp, 0x10
test bpl, 1
je 0x140162a0a
mov word [r11 - 0x90], 0
pextrw ebp, xmm0, 2
test bpl, 1
je 0x140162a1c
mov word [r11 - 0x78], 0
pextrw ebp, xmm0, 3
test bpl, 1
je 0x140162a2e
mov word [r11 - 0x60], 0
pextrw ebp, xmm0, 4
test bpl, 1
je 0x140162a40
mov word [r11 - 0x48], 0
pextrw ebp, xmm0, 5
test bpl, 1
je 0x140162a52
mov word [r11 - 0x30], 0
pextrw ebp, xmm0, 6
test bpl, 1
je 0x140162a64
mov word [r11 - 0x18], 0
pextrw ebp, xmm0, 7
test bpl, 1
je 0x14016297d
mov word [r11], 0
jmp 0x14016297d
cmp rdx, rcx
mov r14d, dword [rsp + 0x34]
jne 0x140162a9a
jmp 0x1401628c5
add rax, 0x18
cmp rax, r9
je 0x1401628c5
cmp word [rax + 0x10], 0x43
jne 0x140162a8d
mov word [rax + 0x10], 0
jmp 0x140162a8d
lea r8, [rcx + 1]
mov rax, qword [rsp + 0xd8]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
cmp rcx, r14
seta cl
cmp rax, r14
ja 0x140162ad0
test cl, cl
jne 0x140162c79
mov r9d, 0x18
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
call fcn.140021710
mov rbx, r14
mov r11d, dword [rsp + 0x30]
jmp 0x140161ea5
mov eax, dword [rsp + 0xe0]
dec eax
mov dword [rsp + 0xe0], eax
mov rax, qword [rdi + 8]
cmp byte [rax + 4], 0
je 0x140161ba0
mov r9, qword [rdi]
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov al, 1
mov qword [rsp + 0x38], rax
mov rcx, rdi
lea rdx, [rsp + 0xd8]
mov r8b, 1
call fcn.140162e10
mov r11d, dword [rsp + 0x30]
jmp 0x140161ba0
mov r8, qword [rdi + 0x10]
mov ecx, dword [rdx + rcx*8 - 0x18]
dec eax
mov dword [rsp + 0xe0], eax
mov r12, qword [r8 + 0x30]
mov dword [r12 + 0x148], ecx
mov dword [r12 + 0x14c], 0x429
cmp qword [r12 + 0x140], 0x10
jb 0x140162b89
mov rax, qword [r12 + 0x128]
jmp 0x140162b91
lea rax, [r12 + 0x128]
mov qword [r12 + 0x138], 0
mov byte [rax], 0
mov byte [r12 + 0x150], 0
mov dword [r12 + 0x2f8], 0
mov esi, dword [r12 + 0x368]
test rsi, rsi
je 0x140162c30
mov r14, qword [r12 + 0x360]
shl rsi, 6
jmp 0x140162bfd
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
mov qword [r14 + rsi - 0x18], 0
mov qword [r14 + rsi - 0x10], 0xf
mov byte [r14 + rsi - 0x28], 0
add rsi, 0xffffffffffffffc0
je 0x140162c30
mov rax, qword [r14 + rsi - 0x10]
cmp rax, 0x10
jb 0x140162bdf
mov rcx, qword [r14 + rsi - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140162bda
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x140162bd0
jmp 0x140162d42
mov dword [r12 + 0x368], 0
mov rcx, r12
xor edx, edx
call fcn.1400332c0
mov sil, 1
jmp 0x1401622ca
sub rbx, rcx
mov r9d, 0x18
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
call fcn.140021710
add rbx, qword [rsp + 0xd8]
jmp 0x140162898
mov rbx, r14
sub rbx, rax
mov r9d, 0x18
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
call fcn.140021710
add rbx, qword [rsp + 0xd8]
jmp 0x140162aee
test byte [rsp + 0x38], 1
lea rsi, [rsp + 0xe8]
lea rbx, [rsp + 0x88]
je 0x140162cf3
mov eax, dword [rsp + 0xe0]
mov dword [rdi + 0x20], eax
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.14015a9c0
mov qword [rdi + 0x18], rax
and byte [rdi + 0x40], 0xf7
mov rcx, qword [rsp + 0x78]
cmp rcx, rbx
je 0x140162d03
call qword [0x140276c98]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rsi
je 0x140162d16
call qword [0x140276c98]
mov rcx, qword [rsp + 0xce8]
xor rcx, rsp
call fcn.1401a5de0
movaps xmm6, xmmword [rsp + 0xcf0]
add rsp, 0xd08
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [0x140276bc8]
int3