Function at 0x140006170
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x17b8
call fcn.140092cb0
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov dword [rsp + 0x64], r9d
mov dword [rsp + 0x50], r8d
mov rdi, rdx
mov r14, rcx
mov eax, dword [rcx + 0x264]
mov qword [rsp + 0x108], rax
mov rax, qword [rcx + 0x250]
mov qword [rsp + 0xe8], rax
mov rax, qword [rcx + 0x258]
mov rcx, qword [rax + 0x30]
or rcx, qword [rax + 0x38]
setne byte [rdx + 0x30]
mov r8d, dword [rdx + 0x10]
lea rdx, [rsp + 0xd4]
mov rcx, r14
call fcn.140004430
test al, al
jne 0x14000734d
mov ecx, dword [rdi + 0x10]
movzx eax, byte [rdi + 0x30]
cmp ecx, 0xf6
jge 0x1400073b5
mov r8d, dword [rbp + 0x17a0]
test al, al
sete dl
test r8d, r8d
sets r8b
and r8b, dl
movzx r12d, r8b
mov rdx, qword [r14 + 0x258]
mov rsi, qword [rdx + 0x20]
mov r8d, dword [rdx + 0x14]
cmp r8d, 0xe
jge 0x1400072b7
neg r12d
mov r9, qword [0x1422095c0]
mov rdx, rsi
mulx r10, r10, qword [0x1422095b8]
shl r10, 5
lea rdx, [r9 + r10]
cmp word [r9 + r10], si
je 0x14000632e
movzx r11d, byte [rdx + 2]
test r11d, r11d
je 0x14000632e
lea r13, [rdx + 0xa]
mov r10d, 1
cmp word [rdx + 0xa], si
je 0x140006334
mov r15, rdi
movzx edi, byte [rdx + 0xc]
test edi, edi
je 0x1400070b6
lea r9, [rdx + 0x14]
mov r10d, 2
cmp word [rdx + 0x14], si
je 0x14000722f
mov rbx, rsi
movzx esi, byte [rdx + 0x16]
test esi, esi
je 0x140007221
movzx ecx, byte [0x1422095c8]
add ecx, 0x107
movzx r8d, byte [rdx + 3]
mov r10d, ecx
sub r10d, r8d
and r10d, 0xf8
sub r11d, r10d
movzx r8d, byte [rdx + 0xd]
mov r10d, ecx
sub r10d, r8d
and r10d, 0xf8
sub edi, r10d
cmp r11d, edi
cmovle r13, rdx
movzx r8d, byte [r13 + 2]
movzx r10d, byte [r13 + 3]
mov r11d, ecx
sub r11d, r10d
and r11d, 0xf8
sub r8d, r11d
movzx edx, byte [rdx + 0x17]
sub ecx, edx
and ecx, 0xf8
sub esi, ecx
cmp r8d, esi
cmovg r13, r9
mov rdi, r15
mov byte [r15 + 0x32], 0
mov rsi, rbx
jmp 0x14000635e
xor r10d, r10d
mov r13, rdx
lea r9, [r10 + r10*4]
movzx r10d, byte [rdx + r9*2 + 3]
and r10b, 7
or r10b, byte [0x1422095c8]
mov byte [rdx + r9*2 + 3], r10b
cmp byte [rdx + r9*2 + 2], 0
setne byte [rdi + 0x32]
jne 0x140006fa6
test al, al
jne 0x140007100
cmp dword [rdi - 0x2c], 0x81
je 0x1400070be
mov rcx, r14
call fcn.140007c70
mov ecx, dword [rsp + 0x50]
mov dword [rdi + 0x24], eax
xor edx, edx
xor r15d, r15d
mov ebx, eax
cmp ebx, dword [rsp + 0x64]
jge 0x140006f4d
cmp ebx, ecx
jg 0x1400073cc
mov dword [rsp + 0x50], ecx
add eax, 0x68
mov dword [rsp + 0x8c], eax
mov rax, qword [rdi - 0x38]
mov qword [rsp + 0xf0], rax
mov rax, qword [rdi - 0x78]
mov qword [rsp + 0xf8], rax
mov eax, dword [rdi - 0x2c]
mov dword [rsp + 0x90], 0x5a
test eax, eax
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0x74], edx
je 0x1400063f8
cmp eax, 0x81
je 0x1400063f8
and eax, 0x7f
mov dword [rsp + 0x90], eax
mov qword [rsp + 0xe0], r12
mov rdx, qword [rsp + 0xe8]
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 + 0x90]
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 0x140007255
lea ecx, [rax + 7]
add eax, 0xd
or rsi, rdi
cmovne eax, ecx
mov dword [rsp + 0x170], eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x94], 0
mov qword [rsp + 0x98], r13
mov dword [rsp + 0x4c], ebx
lea rcx, [rsp + 0x110]
xor edx, edx
call fcn.14000b760
test eax, eax
je 0x140006e6e
mov ebx, dword [r14 + 0x264]
mov ecx, eax
sar ecx, 7
mov dword [rsp + 0x54], eax
mov esi, eax
and esi, 0x7f
movsxd r9, ecx
mov r12, r9
shl r12, 4
lea rcx, [0x142239ec0]
mov rax, qword [r12 + rcx]
mov r10, qword [r12 + rcx + 8]
mov rdx, qword [r14 + 0x170]
mov qword [rsp + 0x78], rax
xor rdx, rax
mov r8, qword [r14 + 0x178]
mov qword [rsp + 0xc8], r10
xor r8, r10
mov rax, rsi
shl rax, 4
mov r10, qword [rax + rcx]
mov r11, qword [rax + rcx + 8]
or r8, r11
or rdx, r10
mov qword [rsp + 0xa8], r9
mov r15d, dword [r14 + r9*4]
mov qword [rsp + 0xb8], r15
and r15d, 7
cmp r15, 7
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x80], rbx
mov r9, rbx
je 0x140007114
shl r9, 4
vmovdqa xmm0, xmmword [r14 + 0x1e0]
vpand xmm1, xmm0, xmmword [r14 + r9 + 0x1f0]
vmovq rcx, xmm1
tzcnt rbx, rcx
vpextrq r13, xmm1, 1
tzcnt r13, r13
or r13d, 0x40
test rcx, rcx
cmove ebx, r13d
mov rcx, qword [r14 + 0x258]
cmp byte [rcx + 0x110], 0
jne 0x140006b10
cmp ebx, esi
je 0x140006b10
mov r13, qword [rcx + r9 + 0x58]
and r13, qword [rsp + 0xc8]
mov rcx, qword [rcx + r9 + 0x50]
and rcx, qword [rsp + 0x78]
or rcx, r13
jne 0x140006b10
mov r9, qword [rsp + 0x80]
xor r9d, 1
mov r13, qword [rsp + 0x98]
shl r9, 4
vpand xmm1, xmm0, xmmword [r14 + r9 + 0x1f0]
vmovq rcx, xmm1
tzcnt rbx, rcx
vpextrq rsi, xmm1, 1
tzcnt rsi, rsi
or esi, 0x40
test rcx, rcx
cmove ebx, esi
cmp r15d, 3
je 0x140006d50
mov rcx, qword [r14 + 0x258]
shl r15, 4
and r11, qword [rcx + r15 + 0x98]
and r10, qword [rcx + r15 + 0x90]
or r10, r11
jne 0x140006db2
mov r10d, ebx
shl r10, 4
mov rbx, qword [rsp + 0x80]
mov rcx, rbx
shl rcx, 4
vmovdqa xmm1, xmmword [r14 + rcx + 0x1f0]
vmovdqa xmm2, xmmword [r14 + 0x1a0]
lea rax, [0x142203830]
vpand xmm3, xmm1, xmmword [r10 + rax + 0x5a0]
vptest xmm3, xmm2
jne 0x140006c50
mov rcx, qword [r14 + 0x258]
mov rdx, qword [rsp + 0xc8]
and rdx, qword [rcx + r9 + 0x58]
mov rax, qword [rsp + 0x78]
and rax, qword [rcx + r9 + 0x50]
or rax, rdx
jne 0x140007359
xor r9d, r9d
mov rax, qword [rsp + 0x68]
mov esi, dword [r14 + rax*4]
mov rax, qword [rsp + 0x58]
lea r11d, [rax + 1]
mov r15, qword [r14 + 0x258]
cmp dword [rsp + 0x4c], 0xffff83f7
jl 0x140006827
mov rax, qword [rsp + 0x108]
cmp dword [r15 + rax*4 + 8], 0
je 0x140006827
mov rax, qword [rsp + 0x68]
cmp eax, dword [rsp + 0x90]
je 0x1400067d0
mov eax, r9d
xor al, 1
je 0x1400067d0
cmp dword [rsp + 0x8c], 0xffff83f7
jl 0x1400067d0
mov eax, dword [rsp + 0x4c]
mov ebx, eax
cmp dword [rsp + 0x58], 1
mov eax, r11d
mov qword [rsp + 0x58], rax
jg 0x1400064c5
lea rax, [0x1400f42f0]
mov ebx, dword [rax + rsi*4]
mov eax, dword [rsp + 0x8c]
add ebx, eax
mov r8d, dword [rsp + 0x50]
cmp ebx, r8d
jle 0x140006dba
mov dword [rsp + 0x78], r9d
mov dword [rsp + 0x80], r11d
sub r8d, eax
jl 0x1400070c8
mov rcx, r14
mov edx, dword [rsp + 0x54]
mov r8d, 1
call fcn.1400073f0
test al, al
mov r11d, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x78]
jne 0x1400067d0
mov eax, dword [rsp + 0x8c]
mov edi, dword [rsp + 0x4c]
cmp edi, eax
cmovle edi, eax
mov ebx, edi
jmp 0x140006dc3
cmp dword [rsp + 0x94], 1
jg 0x1400072aa
test rsi, rsi
je 0x140006dd0
mov rcx, r14
mov edx, dword [rsp + 0x54]
mov r8d, 0xffffff81
mov ebx, r11d
mov rdi, rsi
mov rsi, r13
mov r13d, r9d
call fcn.1400073f0
mov r9d, r13d
mov r13, rsi
mov rsi, rdi
mov r11d, ebx
mov ecx, dword [rsp + 0x4c]
mov ebx, ecx
mov ecx, r11d
mov qword [rsp + 0x58], rcx
test al, al
je 0x1400064c5
mov dword [rsp + 0x78], r9d
lea rax, [0x142239ec0]
add r12, rax
add qword [rsp + 0xc0], rax
mov rax, qword [0x142239eb0]
xor rax, qword [r15 + 0x20]
test rsi, rsi
mov qword [rsp + 0xb0], r12
mov dword [rsp + 0x80], r11d
jne 0x140006e22
mov r10, qword [rsp + 0xb8]
imul rcx, r10, 0x2d0
lea rdx, [0x1422371b0]
add rcx, rdx
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rcx + rdx*8]
mov r9, qword [rsp + 0xa8]
mov rdi, r9
xor rdx, qword [rcx + r9*8]
xor rdx, rax
mov eax, dword [r15 + 0x14]
cmp eax, 0xd
jge 0x1400072f5
mov r9d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x68]
xor eax, eax
test rsi, rsi
sete byte [rsp + 0x58]
setne al
mulx rcx, rcx, qword [0x1422095b8]
mov rdx, qword [0x1422095c0]
shl rcx, 5
prefetcht0 byte [rdx + rcx]
mov ebx, dword [rsp + 0x64]
neg ebx
mov r8, qword [rsp + 0xa0]
mov dword [r8 + 0x14], r9d
movzx ecx, byte [r8 + 0x30]
test rcx, rcx
setne r15b
imul rcx, rcx, 0x7e9000
add rcx, qword [rsp + 0xe8]
imul rdx, r10, 0x3f480
add rdx, rcx
imul rax, rax, 0x3f4800
add rdx, rax
imul rax, r12, 0xb40
add rax, rdx
add rax, 0x1c6e8
lea rsi, [r8 + 0x40]
mov qword [r8 + 8], rax
mov eax, dword [rbp + 0x17a0]
lea r13d, [rax - 1]
mov rcx, r14
mov edx, r9d
lea r8, [rsp + 0x580]
mov r9d, dword [rsp + 0x78]
call fcn.140005120
mov r9d, dword [rsp + 0x50]
neg r9d
mov dword [rsp + 0x20], r13d
mov rcx, r14
mov rdx, rsi
mov r8d, ebx
call fcn.140006170
xor byte [r14 + 0x264], 1
mov r8d, dword [r14 + r12*4]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rdx]
mov rdx, qword [rdx + 8]
mov r10, qword [rsp + 0xb0]
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
xor qword [r14 + r11 + 0x1f0], r9
mov dword [r14 + r12*4], 0
mov dword [r14 + rdi*4], r8d
mov r8, qword [r14 + 0x258]
mov r9d, dword [r8 + 0x114]
test r9, r9
je 0x140006a6d
mov dword [r14 + r12*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 + 0x58]
movzx ecx, r15b
add dword [rsp + 0x94], 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 edi, dword [rsp + 0x4c]
mov ebx, edi
mov edx, dword [rsp + 0x80]
mov ecx, edx
mov qword [rsp + 0x58], rcx
cmp edi, eax
mov r13, qword [rsp + 0x98]
jge 0x1400064c5
mov ebx, eax
mov ecx, edx
mov qword [rsp + 0x58], rcx
cmp dword [rsp + 0x50], eax
jge 0x1400064c5
mov ebx, eax
mov ecx, edx
mov qword [rsp + 0x58], rcx
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0x50], eax
cmp eax, dword [rsp + 0x64]
jge 0x140006e7d
jmp 0x1400064c5
mov r9, qword [rsp + 0x80]
mov ecx, ebx
shl rcx, 4
lea rbx, [rcx + rcx*2]
lea rdi, [0x142206530]
pext r13, r8, qword [rdi + rbx + 8]
movzx esi, byte [rdi + rbx + 0x28]
shlx rsi, r13, rsi
pext r13, rdx, qword [rdi + rbx]
or esi, r13d
mov r13, qword [rdi + rbx + 0x20]
lea rdi, [0x1400f4330]
mov qword [rsp + 0xb0], r12
mov r12d, dword [rsp + 0x4c]
shl rsi, 4
vmovdqa xmm1, xmmword [r14 + 0x1c0]
vpand xmm1, xmm1, xmmword [r13 + rsi]
xor r9, 1
imul rsi, r9, 0x5a0
lea r13, [0x142202cf0]
add rsi, r13
vmovdqa xmm2, xmmword [r14 + 0x1b0]
vpternlogq xmm1, xmm2, xmmword [rcx + rsi], 0xf8
pext rcx, r8, qword [rdi + rbx + 8]
movzx esi, byte [rdi + rbx + 0x28]
pext r13, rdx, qword [rdi + rbx]
shlx rcx, rcx, rsi
or ecx, r13d
mov rsi, qword [rdi + rbx + 0x20]
shl rcx, 4
vpor xmm2, xmm0, xmmword [r14 + 0x180]
vpternlogq xmm2, xmm1, xmmword [rsi + rcx], 0xec
lea rax, [0x1400f7080]
pext rcx, r8, qword [rax + rbx + 8]
movzx esi, byte [rax + rbx + 0x28]
shlx rcx, rcx, rsi
pext rsi, rdx, qword [rax + rbx]
or ecx, esi
vmovdqa xmm1, xmmword [r14 + 0x1a0]
mov rsi, qword [rax + rbx + 0x20]
shl rcx, 4
vpand xmm1, xmm1, xmmword [rsi + rcx]
mov rcx, r9
shl rcx, 4
vpternlogq xmm1, xmm2, xmmword [r14 + rcx + 0x1f0], 0xa8
vmovq rcx, xmm1
vpextrq rsi, xmm1, 1
andn rsi, r11, rsi
andn rcx, r10, rcx
or rcx, rsi
mov ebx, r12d
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x98]
je 0x140006607
jmp 0x1400064c5
lea r9, [r10 + r10*2]
lea rsi, [0x142206530]
pext rcx, r8, qword [rsi + r9 + 8]
movzx r11d, byte [rsi + r9 + 0x28]
shlx rcx, rcx, r11
pext r11, rdx, qword [rsi + r9]
or ecx, r11d
mov r11, qword [rsi + r9 + 0x20]
shl rcx, 4
vmovdqa xmm3, xmmword [r14 + 0x1c0]
vpand xmm3, xmm3, xmmword [r11 + rcx]
imul rcx, rbx, 0x5a0
lea r11, [0x142202cf0]
add rcx, r11
vmovdqa xmm4, xmmword [r14 + 0x1b0]
vpternlogq xmm3, xmm4, xmmword [r10 + rcx], 0xf8
lea rax, [0x1400f4330]
pext rcx, r8, qword [rax + r9 + 8]
movzx r10d, byte [rax + r9 + 0x28]
pext r11, rdx, qword [rax + r9]
shlx rcx, rcx, r10
or ecx, r11d
mov r10, qword [rax + r9 + 0x20]
shl rcx, 4
vpor xmm0, xmm0, xmmword [r14 + 0x180]
vpternlogq xmm0, xmm3, xmmword [r10 + rcx], 0xec
lea rax, [0x1400f7080]
pext rcx, r8, qword [rax + r9 + 8]
movzx r8d, byte [rax + r9 + 0x28]
shlx rcx, rcx, r8
pext rdx, rdx, qword [rax + r9]
or ecx, edx
mov rdx, qword [rax + r9 + 0x20]
shl rcx, 4
vpand xmm2, xmm2, xmmword [rdx + rcx]
vpternlogq xmm1, xmm0, xmm2, 0xe0
vpextrq rcx, xmm1, 1
mov rax, qword [rsp + 0xc8]
andn rcx, rax, rcx
vmovq rdx, xmm1
mov rax, qword [rsp + 0x78]
andn rax, rax, rdx
or rax, rcx
setne r9b
jmp 0x1400066d0
mov rax, qword [rsp + 0x68]
lea rcx, [rax + rax*2]
shl rcx, 4
lea rax, [0x1400f7080]
mov r11, qword [rcx + rax + 0x20]
pext r10, r8, qword [rcx + rax + 8]
movzx esi, byte [rcx + rax + 0x28]
shlx rsi, r10, rsi
pext rcx, rdx, qword [rcx + rax]
or esi, ecx
shl rsi, 4
mov r10d, ebx
mov rcx, r10
shl rcx, 4
lea r15, [0x142239ec0]
mov rbx, qword [rcx + r15 + 8]
and rbx, qword [r11 + rsi + 8]
mov rcx, qword [rcx + r15]
and rcx, qword [r11 + rsi]
or rcx, rbx
je 0x140006664
mov r9b, 1
jmp 0x1400066d0
mov edi, dword [rsp + 0x4c]
cmp edi, ebx
cmovg ebx, edi
mov eax, r11d
mov qword [rsp + 0x58], rax
jmp 0x1400064c5
imul rax, qword [rsp + 0xb8], 0xb4
mov rcx, qword [rsp + 0xf0]
add rcx, rax
mov rdx, qword [rsp + 0x68]
cmp word [rcx + rdx*2], 0
jns 0x1400067e7
add rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x68]
cmp word [rax + rcx*2], 0
mov eax, dword [rsp + 0x4c]
mov ebx, eax
mov eax, r11d
mov qword [rsp + 0x58], rax
js 0x1400064c5
jmp 0x1400067e7
imul rcx, rsi, 0x2d0
lea r8, [0x1422371b0]
add rcx, r8
mov r9, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x68]
mov rdx, qword [rcx + r12*8]
mov r10, qword [rsp + 0xb8]
imul rcx, r10, 0x2d0
add rcx, r8
xor rdx, qword [rcx + r12*8]
mov rdi, r9
xor rdx, qword [rcx + r9*8]
xor rdx, rax
mov r9d, dword [rsp + 0x54]
jmp 0x1400068ad
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x54], ecx
mov r9d, dword [rsp + 0x54]
mov dword [rsp + 0x4c], eax
cmp eax, 0xffff82ff
je 0x140007279
mov r8, qword [rsp + 0xa0]
mov ecx, dword [r8 + 0x10]
cmp dword [rsp + 0x4c], 0x7c0a
jge 0x140007292
mov edx, dword [rsp + 0x4c]
mov eax, edx
cmp edx, 0xffff83f6
mov r10, qword [rsp + 0xd8]
mov r11d, dword [rsp + 0x74]
jle 0x1400072e1
mov ecx, dword [rsp + 0x4c]
cmp ecx, dword [rsp + 0x64]
setl dl
mov ecx, dword [r8 + 0x24]
movzx r8d, word [r13]
test r9d, r9d
jne 0x140006ee9
cmp r8w, r10w
je 0x140006eee
mov word [r13 + 4], r9w
cmp r8w, r10w
je 0x14000708b
mov r8b, 2
sub r8b, dl
mov word [r13], r10w
mov rdx, qword [rsp + 0xe0]
and dl, 1
xor dl, 7
mov byte [r13 + 2], dl
shl r11b, 2
or r11b, byte [0x1422095c8]
or r11b, r8b
mov byte [r13 + 3], r11b
mov word [r13 + 6], ax
mov word [r13 + 8], cx
mov eax, dword [rsp + 0x4c]
mov ebx, eax
mov eax, ebx
lea rsp, [rbp + 0x1738]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [rdi + 0x32], 0
jne 0x140006f37
mov ecx, dword [rdi + 0x10]
cmp ebx, 0x7c0a
jge 0x1400072ec
mov edx, ebx
cmp ebx, 0xffff83f6
jle 0x14000731e
cmp word [r13], si
je 0x14000723a
mov word [r13 + 4], 0
mov word [r13], si
mov byte [r13 + 2], 1
movzx ecx, byte [0x1422095c8]
or cl, 2
mov byte [r13 + 3], cl
mov word [r13 + 6], dx
mov word [r13 + 8], ax
jmp 0x140006f37
movzx r10d, word [r13 + 6]
movzx edx, r10w
cmp edx, 0x7d02
je 0x140007217
movsx ebx, r10w
mov r9d, 0x7d00
sub r9d, ebx
mov edx, pe_nt_image_headers64
sub edx, r8d
lea r8d, [rbx + 0x7d00]
cmp r8d, edx
setle r11b
cmp r9d, edx
jg 0x140007327
movsx r10d, r10w
cmp r10d, 0xffff83f7
jl 0x140007327
test r11b, 1
je 0x140007327
xor edx, edx
cmp ebx, 0x7c0a
cmovge edx, ecx
sub ebx, edx
movzx r15d, word [r13 + 4]
movzx edx, byte [r13 + 3]
cmp ebx, 0x7d02
je 0x140007041
movzx ecx, byte [r13 + 2]
add ecx, 0xfffffff9
cmp ecx, r12d
jl 0x140007041
xor ecx, ecx
cmp ebx, dword [rsp + 0x64]
setge cl
inc ecx
test edx, ecx
jne 0x140006f37
and dl, 4
shr dl, 2
test al, al
jne 0x14000726a
movsx eax, word [r13 + 8]
mov dword [rdi + 0x24], eax
cmp eax, 0x7d02
je 0x1400073d3
cmp ebx, 0x7d02
je 0x14000724a
movzx r8d, byte [r13 + 3]
xor ecx, ecx
cmp ebx, eax
setg cl
inc ecx
test r8d, ecx
cmove ebx, eax
mov ecx, dword [rsp + 0x50]
jmp 0x140006389
movzx r8d, r11b
mov r9, qword [rsp + 0xe0]
lea r8d, [r9 + r8*2]
add r8d, 7
movzx r9d, byte [r13 + 2]
add r9d, 0xfffffffc
cmp r8d, r9d
jg 0x140006ef8
jmp 0x140006f31
mov rdi, r15
jmp 0x140006334
xor eax, eax
sub eax, dword [rdi - 0x1c]
jmp 0x14000637b
shl r8d, 2
mov rcx, r14
mov edx, dword [rsp + 0x54]
call fcn.1400073f0
mov ecx, dword [rsp + 0x50]
mov ebx, ecx
mov r11d, dword [rsp + 0x80]
mov ecx, r11d
mov qword [rsp + 0x58], rcx
test al, al
mov r9d, dword [rsp + 0x78]
jne 0x1400067d0
jmp 0x1400064c5
mov ebx, 0xffff82ff
xor r15d, r15d
xor edx, edx
mov eax, 0xffff82ff
jmp 0x1400063a2
lea rbx, [rax + rax*2]
lea rsi, [0x142206530]
pext rcx, r8, qword [rsi + rbx + 8]
movzx r13d, byte [rsi + rbx + 0x28]
shlx rcx, rcx, r13
pext r13, rdx, qword [rsi + rbx]
xor r9, 1
or ecx, r13d
mov r13, qword [rsi + rbx + 0x20]
shl rcx, 4
vmovdqa xmm0, xmmword [r14 + 0x1c0]
vpand xmm1, xmm0, xmmword [r13 + rcx]
imul rcx, r9, 0x5a0
lea rsi, [0x142202cf0]
add rcx, rsi
vmovdqa xmm0, xmmword [r14 + 0x1b0]
vpternlogq xmm1, xmm0, xmmword [rax + rcx], 0xf8
vmovdqa xmm0, xmmword [r14 + 0x1e0]
lea rax, [0x1400f4330]
pext rcx, r8, qword [rax + rbx + 8]
movzx r13d, byte [rax + rbx + 0x28]
shlx rcx, rcx, r13
pext r13, rdx, qword [rax + rbx]
or ecx, r13d
mov r13, qword [rax + rbx + 0x20]
shl rcx, 4
vpor xmm2, xmm0, xmmword [r14 + 0x180]
vpternlogq xmm2, xmm1, xmmword [r13 + rcx], 0xec
lea rax, [0x1400f7080]
pext rcx, r8, qword [rax + rbx + 8]
movzx r13d, byte [rax + rbx + 0x28]
shlx rcx, rcx, r13
pext r13, rdx, qword [rax + rbx]
or ecx, r13d
vmovdqa xmm1, xmmword [r14 + 0x1a0]
mov rbx, qword [rax + rbx + 0x20]
shl rcx, 4
vpternlogq xmm2, xmm1, xmmword [rbx + rcx], 0xf8
mov rcx, r9
shl rcx, 4
vptest xmm2, xmmword [r14 + rcx + 0x1f0]
mov eax, dword [rsp + 0x4c]
mov ebx, eax
jmp 0x140006c34
mov ebx, 0x7d02
jmp 0x14000700f
mov r13, r9
mov rsi, rbx
mov rdi, r15
jmp 0x140006334
mov r13, r9
mov rdi, r15
jmp 0x140006334
cmp byte [r13 + 2], 4
jbe 0x140006f82
jmp 0x140006f37
mov ebx, eax
mov ecx, dword [rsp + 0x50]
jmp 0x140006389
mov rcx, r14
mov edx, r15d
call fcn.140004fb0
xor al, 1
movzx eax, al
jmp 0x14000648d
mov ebx, 0xffff82ff
mov eax, 0xffff82ff
jmp 0x1400063a2
mov ecx, 0xffff8300
mov rax, qword [rsp + 0xa0]
add ecx, dword [rax + 0x10]
mov dword [rsp + 0x4c], ecx
jmp 0x140006f31
add ecx, dword [rsp + 0x4c]
mov eax, ecx
mov r10, qword [rsp + 0xd8]
mov r11d, dword [rsp + 0x74]
jmp 0x140006eca
mov r9d, dword [rsp + 0x88]
jmp 0x140006e91
lea edx, [r8 - 0xe]
shr edx, 3
movabs r9, 0x5851f42d4c957f2d
imul r9, rdx
movabs rdx, 0x14057b7ef767814f
add rdx, r9
xor rsi, rdx
jmp 0x140006237
mov eax, dword [rsp + 0x4c]
sub eax, ecx
jmp 0x140006eca
add ecx, ebx
mov edx, ecx
jmp 0x140006f70
add eax, 0xfffffff3
shr eax, 3
movabs rcx, 0x5851f42d4c957f2d
imul rcx, rax
movabs rax, 0x14057b7ef767814f
add rax, rcx
xor rdx, rax
jmp 0x1400068a3
mov edx, ebx
sub edx, ecx
jmp 0x140006f70
cmp ebx, 0x7c0a
jge 0x1400073a1
cmp ebx, 0xffff83f6
jg 0x14000700f
add ecx, ebx
cmp r8d, edx
mov ebx, 0xffff83f7
cmovle ebx, ecx
jmp 0x14000700f
mov ebx, dword [rsp + 0xd4]
jmp 0x140006f37
imul rax, qword [rsp + 0xa8], 0x5a0
lea rcx, [0x1422176c0]
add rcx, rax
lea rdx, [0x142239ec0]
mov rax, qword [r10 + rdx]
mov rdx, qword [r10 + rdx + 8]
mov r8, qword [rsp + 0xc0]
and rdx, qword [r8 + rcx + 8]
and rax, qword [r8 + rcx]
mov r9b, 1
or rax, rdx
je 0x1400066d0
jmp 0x1400066cd
sub ebx, ecx
cmp r9d, edx
mov ecx, 0x7c09
cmovle ecx, ebx
mov ebx, ecx
jmp 0x14000700f
xor ebx, ebx
test al, al
jne 0x140006f37
mov rcx, r14
call fcn.140007c70
jmp 0x140006f39
mov ecx, ebx
jmp 0x14000639b
mov rcx, r14
mov dword [rsp + 0x74], edx
call fcn.140007c70
mov edx, dword [rsp + 0x74]
mov dword [rdi + 0x24], eax
jmp 0x140007062