Function at 0x180010630
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
movapd xmmword [rbp + 0x260], xmm11
movapd xmmword [rbp + 0x250], xmm10
movapd xmmword [rbp + 0x240], xmm9
movapd xmmword [rbp + 0x230], xmm8
movdqa xmmword [rbp + 0x220], xmm7
movapd xmmword [rbp + 0x210], xmm6
mov qword [rbp + 0x208], 0xfffffffffffffffe
mov qword [rbp + 0x1c0], r9
mov qword [rbp + 0x110], rcx
mov rdi, qword [rdx + 0x10]
test rdi, rdi
mov qword [rbp + 0x108], rdx
je 0x180011a31
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x2e0]
mov qword [rbp + 0x130], rax
mov rax, qword [rdx]
mov qword [rbp + 0x1d8], rax
mov rax, qword [rax + 0x10]
mov byte [rbp + 0x206], 1
lea rcx, [rbp + 0x40]
mov rdx, r8
mov r8, rax
call fcn.180046260
movzx eax, byte [rbp + 0x58]
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp + 0x48]
mov r12, qword [rbp + 0x50]
cmp al, 0x2d
jne 0x180010a41
mov qword [rbp + 0x118], r8
mov rax, qword [rbp + 0x1c0]
mov r14, qword [rax]
cmp r14, 1
mov ebx, 1
sbb rbx, 0xffffffffffffffff
mov eax, 8
test r12, r12
mov qword [rbp + 0x138], r9
je 0x180010771
movabs rcx, 0x333333333333333
cmp r12, rcx
ja 0x180011b4f
lea rcx, [r12*8]
lea rsi, [rcx + rcx*4]
test rsi, rsi
je 0x180010771
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rsi
call fcn.1800458d0
test rax, rax
je 0x180011b5d
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x198], r12
mov qword [rbp + 0x1a0], 0
mov qword [rbp + 0x40], 8
xorpd xmm6, xmm6
movupd xmmword [rbp + 0x48], xmm6
mov byte [rbp + 0x1f7], 1
lea rcx, [rbp - 8]
lea rdx, [rbp + 0x40]
mov r8, r12
call fcn.180006cf0
mov rax, qword [rbp - 8]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 8]
cmp r12, rax
mov qword [rbp + 0x38], rax
cmovae r12, rax
mov qword [rbp + 0x140], rdi
lea rax, [rdi + rdi*2]
mov rcx, qword [rbp + 0x1d8]
lea rax, [rcx + rax*8]
mov qword [rbp + 0x1c8], rax
xor eax, eax
lea r15, [rbp + 0x40]
xor r13d, r13d
mov qword [rbp + 0x168], r12
jmp 0x180010863
mov rdx, qword [rbp + 0x1a0]
mov r8, qword [rbp + 0x1e0]
mov r9, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x190]
lea rcx, [rdx + rdx*4]
mov qword [rax + rcx*8], r9
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r12
mov qword [rax + rcx*8 + 0x18], r14
mov qword [rax + rcx*8 + 0x20], r13
inc rdx
mov qword [rbp + 0x1a0], rdx
mov rax, qword [rbp + 0x1e8]
mov r13, rsi
mov r12, qword [rbp + 0x168]
cmp rax, r12
setb byte [rbp + 0x1f4]
mov rdx, qword [rbp + 0x138]
jae 0x180010b15
lea rcx, [rax + 1]
mov qword [rbp + 0x1e8], rcx
lea rcx, [rax + rax*2]
mov r8, qword [rbp + 0xf0]
lea rbx, [r8 + rcx*8]
mov r14, qword [rdx + rax*8]
mov qword [rbp + 0x170], 8
lea rax, [rbp + 0x178]
movupd xmmword [rax], xmm6
lea rsi, [r14 + r13]
xor r12d, r12d
xor edi, edi
mov rcx, qword [rbp + 0x1d8]
jmp 0x1800108f4
mov rdx, qword [rbp + 0x180]
mov rcx, qword [rbp + 0x1f8]
add rcx, 0x18
inc rdi
add r12, r13
mov rax, qword [rbp + 0x170]
mov qword [rax + rdx*8], r12
mov r12, qword [rbp + 0x180]
inc r12
mov qword [rbp + 0x180], r12
mov qword [rbp + 0x1f8], rcx
cmp rcx, qword [rbp + 0x1c8]
je 0x180010a00
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x10], rdi
mov rax, qword [rax]
test rax, rax
je 0x180010950
cmp eax, 1
je 0x180010930
cmp eax, 2
jne 0x180011a4d
mov r12, qword [rbp + 0x130]
test rdi, rdi
je 0x180010960
cmp rdi, 1
jne 0x180011a4d
xor r12d, r12d
jmp 0x180010960
mov r12, qword [rbp + 0x130]
test rdi, rdi
jne 0x180011a4d
cmp r13, rsi
ja 0x180011ac5
mov rax, qword [rbp + 0x1f8]
mov rdx, qword [rax + 0x10]
cmp rsi, rdx
ja 0x180011adc
mov rax, qword [rax]
lea rdx, [rax + r13*8]
mov rcx, r15
mov r8, r14
mov r9, r12
call fcn.18002fab0
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx + 8]
jne 0x1800109a8
mov rcx, rbx
call fcn.180018a80
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x50]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rbp + 0x40]
movdqu xmmword [rax + rcx*8], xmm0
inc qword [rbx + 0x10]
mov rax, r14
sub rax, r12
mov r12d, 0
cmovae r12, rax
mov rdx, qword [rbp + 0x180]
cmp rdx, qword [rbp + 0x178]
jne 0x1800108c7
lea rcx, [rbp + 0x170]
call fcn.180018b50
jmp 0x1800108c0
mov r9, qword [rbp + 0x170]
mov r8, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x1a0]
cmp rdx, qword [rbp + 0x198]
jne 0x180010825
mov qword [rbp + 0x1d0], r9
mov qword [rbp + 0x1e0], r8
lea rcx, [rbp + 0x190]
call fcn.180019000
jmp 0x180010810
mov ecx, dword [rbp + 0x59]
mov edx, dword [rbp + 0x5c]
mov r10, qword [rbp + 0x110]
mov dword [r10 + 0x24], edx
mov dword [r10 + 0x21], ecx
mov qword [r10 + 8], r9
mov qword [r10 + 0x10], r8
mov qword [r10 + 0x18], r12
mov byte [r10 + 0x20], al
mov qword [r10], 3
mov rax, qword [rbp + 0x1d8]
lea rsi, [rax + 8]
jmp 0x180010a89
add rsi, 0x18
dec rdi
je 0x180010aa6
mov rdx, qword [rsi]
test rdx, rdx
je 0x180010a80
mov rcx, qword [rsi - 8]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
jmp 0x180010a80
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 8]
test rax, rax
je 0x1800119ca
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, qword [rbp + 0x1d8]
movaps xmm6, xmmword [rbp + 0x210]
movaps xmm7, xmmword [rbp + 0x220]
movaps xmm8, xmmword [rbp + 0x230]
movaps xmm9, xmmword [rbp + 0x240]
movaps xmm10, xmmword [rbp + 0x250]
movaps xmm11, xmmword [rbp + 0x260]
add rsp, 0x2f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1800458e0
mov rax, qword [rbp + 0x108]
mov rdi, qword [rax + 8]
mov rbx, qword [rbp + 0x148]
mov rsi, rbx
shl rsi, 5
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rsi
call fcn.1800458d0
test rax, rax
mov qword [rbp + 0xf8], rdi
je 0x180011b31
cmp qword [rbp + 0x100], 0
setne cl
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rbx
mov qword [rbp + 0x160], 0
mov esi, 0x70
shl rsi, cl
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rsi
call fcn.1800458d0
test rax, rax
mov rcx, qword [rbp + 0x140]
je 0x180011b40
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], 0
mov rax, qword [rbp + 0x30]
cmp rax, 6
mov edx, 6
cmovb rdx, rax
mov qword [rbp + 0x100], rdx
lea r15, [rbp + 0x48]
movdqa xmm7, xmmword [0x1800837a0]
xor r14d, r14d
mov rsi, qword [rbp + 0x1d8]
jmp 0x180010c73
mov r14, r12
mov rsi, qword [rbp + 0x148]
add rsi, 0x18
inc r14
mov rax, qword [rbp + 0x1a8]
imul rcx, rdx, 0x70
movaps xmm0, xmmword [rbp + 0xa0]
movups xmmword [rax + rcx + 0x60], xmm0
movaps xmm0, xmmword [rbp + 0x90]
movups xmmword [rax + rcx + 0x50], xmm0
movaps xmm0, xmmword [rbp + 0x80]
movups xmmword [rax + rcx + 0x40], xmm0
movdqa xmm0, xmmword [rbp + 0x40]
movdqa xmm1, xmmword [rbp + 0x50]
movdqa xmm2, xmmword [rbp + 0x60]
movdqa xmm3, xmmword [rbp + 0x70]
movdqu xmmword [rax + rcx + 0x30], xmm3
movdqu xmmword [rax + rcx + 0x20], xmm2
movdqu xmmword [rax + rcx + 0x10], xmm1
movdqu xmmword [rax + rcx], xmm0
inc rdx
mov qword [rbp + 0x1b8], rdx
mov rcx, qword [rbp + 0x140]
mov rdi, qword [rbp + 0xf8]
cmp rsi, qword [rbp + 0x1c8]
je 0x1800115d3
test r14, r14
mov r12, qword [rbp + 0x100]
cmove r12, qword [rbp + 0x30]
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov r9, qword [rbp + 0x190]
mov rax, qword [rbp + 0x1a0]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x20]
call fcn.180010440
lea rdi, [rbp + 0x40]
mov r13, qword [rbp - 0x10]
test r13, r13
mov qword [rbp + 0x148], rsi
je 0x180010ec0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x1e8], rax
bsr rax, r13
xor eax, 0xffffffc0
add eax, 0x41
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x1f8], rcx
mov rdx, r13
mov r8, rdi
xor r9d, r9d
call fcn.1800027f0
lea rcx, [rbp + 0x10]
mov rdx, qword [rbp + 0x1f8]
mov r8, r13
mov r9, r12
call fcn.18000bf90
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x1e8]
test rdx, rdx
je 0x180010d39
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
lea rax, [r13 - 1]
bsr rax, rax
xor eax, 0xffffffc0
add eax, 0x41
cmp r13, 2
mov ecx, 0
cmovb eax, ecx
add r12d, 2
cmp r12d, eax
cmovae r12d, eax
cmp r12d, 0xc
mov eax, 0xc
cmovae r12d, eax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x50], rax
movdqu xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x170]
mov rdx, rdi
mov r8d, r12d
mov r9d, r13d
call fcn.18002b100
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x1f8], rax
mov rbx, qword [rbp + 0x180]
test rbx, rbx
je 0x180010f10
lea rsi, [rbx*4]
movzx eax, byte [0x1800a4291]
mov edx, 4
mov rcx, rsi
call fcn.1800458d0
test rax, rax
je 0x180011af0
cmp rbx, 0x10
jb 0x180010e0a
mov rcx, rbx
shl rcx, 5
mov r8, qword [rbp + 0x1f8]
add rcx, r8
add rcx, 0xfffffffffffffff4
cmp rax, rcx
jae 0x18001154e
lea rcx, [rax + rbx*4]
lea rdx, [r8 + 0x10]
cmp rdx, rcx
jae 0x18001154e
xor ecx, ecx
mov r8, rbx
mov rdx, rcx
and r8, 3
je 0x180010e54
mov rdx, rcx
shl rdx, 5
mov r9, qword [rbp + 0x1f8]
add r9, rdx
add r9, 0x10
shl r8, 5
xor r10d, r10d
mov rdx, rcx
nop word [rax + rax]
mov r11d, dword [r9 + r10]
mov dword [rax + rdx*4], r11d
inc rdx
add r10, 0x20
cmp r8, r10
jne 0x180010e40
not rcx
add rcx, rbx
cmp rcx, 3
jb 0x180010f15
mov rcx, rdx
shl rcx, 5
mov r8, qword [rbp + 0x1f8]
add rcx, r8
add rcx, 0x70
nop dword [rax]
mov r8d, dword [rcx - 0x60]
mov dword [rax + rdx*4], r8d
mov r8d, dword [rcx - 0x40]
mov dword [rax + rdx*4 + 4], r8d
mov r8d, dword [rcx - 0x20]
mov dword [rax + rdx*4 + 8], r8d
mov r8d, dword [rcx]
mov dword [rax + rdx*4 + 0xc], r8d
add rdx, 4
sub rcx, 0xffffffffffffff80
cmp rbx, rdx
jne 0x180010e80
jmp 0x180010f15
mov rdx, qword [rbp - 0x18]
test rdx, rdx
je 0x180010edc
mov rcx, qword [rbp - 0x20]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
xor eax, eax
mov qword [rbp + 0x168], rax
mov esi, 8
mov r13d, 8
xor eax, eax
mov qword [rbp + 0x1e0], rax
xor ebx, ebx
mov eax, 8
jmp 0x180010ff7
mov eax, 4
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], rbx
mov rcx, rdi
lea rdx, [rbp + 0xb8]
mov r8, r13
mov r9d, r12d
call fcn.180046aa0
mov eax, dword [rbp + 0x40]
mov qword [rbp + 0x168], rax
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x58]
test rax, rax
mov r13, qword [rbp + 0x1f8]
je 0x180010f8c
shl rax, 2
mov r9, rbx
xor r10d, r10d
nop dword [rax + rax]
sub r9, 1
jb 0x180011a0c
mov r8d, dword [rcx + r10]
mov dword [r13 + r10*8 + 0x10], r8d
add r10, 4
cmp rax, r10
jne 0x180010f70
test rdx, rdx
je 0x180010fa0
shl rdx, 2
mov r8d, 4
call fcn.1800458e0
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0x1e0], rax
mov rsi, rbx
shl rsi, 5
add rsi, r13
test rbx, rbx
je 0x180010ff0
mov r13, rbx
shl r13, 4
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, r13
call fcn.1800458d0
test rax, rax
je 0x180011aff
mov r13, qword [rbp + 0x1f8]
jmp 0x180010ff7
mov eax, 8
xor ebx, ebx
mov qword [rbp + 0x1f8], r13
mov r12, r14
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], 0
lea rcx, [rbp + 0xc8]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], rax
mov rcx, r13
mov rdx, rsi
mov r8, rdi
call fcn.1800195c0
mov rsi, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x1d0], rax
mov r14, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rbx
mov byte [rbp + 0x204], 1
lea rcx, [rbp + 0xb8]
mov rdx, rdi
mov qword [rbp + 0x1e8], rsi
call fcn.180033350
mov r13, qword [rbp + 0x168]
mov byte [rbp + 0x203], 1
mov byte [rbp + 0x202], 1
mov rcx, rdi
mov edx, r13d
mov r8, rsi
mov r9, r14
call fcn.18002f550
cmp qword [rbp + 0x40], 0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rbp + 0x170], xmm0
movaps xmmword [rbp + 0x180], xmm1
jne 0x1800116af
movdqa xmm0, xmmword [rbp + 0x170]
movdqa xmm1, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0x20], xmm1
movdqa xmmword [rbp + 0x10], xmm0
test r14, r14
je 0x180011140
mov r10, qword [rbp + 0x1e8]
mov r11d, dword [r10 + 0xc]
mov ebx, r11d
cmp r14, 1
je 0x1800112a0
movabs rcx, 0xfffffffffffffff
lea rdx, [r14 + rcx]
mov rax, rdx
and rax, rcx
cmp rax, 8
jae 0x18001114f
mov ebx, r11d
xor ecx, ecx
jmp 0x180011278
xorpd xmm8, xmm8
xor ebx, ebx
mov sil, 1
jmp 0x180011411
and edx, 7
mov rcx, rax
sub rcx, rdx
movd xmm0, r11d
pshufd xmm0, xmm0, 0
lea r8, [r10 + 0x8c]
mov r9, rcx
movdqa xmm1, xmm0
movd xmm2, dword [r8 - 0x40]
movd xmm3, dword [r8 - 0x50]
punpckldq xmm3, xmm2
movd xmm2, dword [r8 - 0x60]
movd xmm4, dword [r8 - 0x70]
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmm3
movd xmm2, dword [r8]
movd xmm3, dword [r8 - 0x10]
punpckldq xmm3, xmm2
movd xmm2, dword [r8 - 0x20]
movd xmm5, dword [r8 - 0x30]
punpckldq xmm5, xmm2
punpcklqdq xmm5, xmm3
movdqa xmm2, xmm4
pxor xmm2, xmm7
movdqa xmm3, xmm0
pxor xmm0, xmm7
pcmpgtd xmm0, xmm2
pand xmm3, xmm0
pandn xmm0, xmm4
por xmm0, xmm3
movdqa xmm2, xmm5
pxor xmm2, xmm7
movdqa xmm3, xmm1
pxor xmm1, xmm7
pcmpgtd xmm1, xmm2
pand xmm3, xmm1
pandn xmm1, xmm5
por xmm1, xmm3
sub r8, 0xffffffffffffff80
add r9, 0xfffffffffffffff8
jne 0x180011170
movdqa xmm2, xmm1
pxor xmm2, xmm7
movdqa xmm3, xmm0
pxor xmm3, xmm7
pcmpgtd xmm3, xmm2
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm3, xmm0
pshufd xmm0, xmm3, 0xee
movdqa xmm1, xmm3
pxor xmm1, xmm7
movdqa xmm2, xmm0
pxor xmm2, xmm7
pcmpgtd xmm1, xmm2
pand xmm3, xmm1
pandn xmm1, xmm0
por xmm1, xmm3
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm1
pxor xmm2, xmm7
movdqa xmm3, xmm0
pxor xmm3, xmm7
pcmpgtd xmm2, xmm3
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm2, xmm1
movd ebx, xmm2
test rdx, rdx
je 0x1800112a0
sub rax, rcx
shl rcx, 4
add rcx, r10
add rcx, 0x1c
nop word cs:[rax + rax]
mov edx, dword [rcx]
cmp ebx, edx
cmovbe ebx, edx
add rcx, 0x10
dec rax
jne 0x180011290
mov dword [rbp + 0xb4], r11d
mov eax, 1
mov ecx, r13d
shl eax, cl
cvtsi2sd xmm9, eax
mov eax, r13d
cvtsi2sd xmm10, rax
cmp r14, 1
jne 0x1800112d0
xorpd xmm8, xmm8
xor edi, edi
jmp 0x18001137e
mov r13, r14
and r13, 0xfffffffffffffffe
lea r15, [r10 + 0x1c]
xorpd xmm8, xmm8
xor edi, edi
nop word cs:[rax + rax]
mov eax, dword [r15 - 0x14]
mov esi, dword [r15 - 0x10]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_log2
movapd xmm1, xmm10
subsd xmm1, xmm0
xorps xmm11, xmm11
cvtsi2sd xmm11, rsi
addsd xmm11, xmm1
mulsd xmm11, xmm6
divsd xmm11, xmm9
addsd xmm11, xmm8
mov eax, dword [r15 - 4]
mov esi, dword [r15]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_log2
movapd xmm1, xmm10
xorps xmm8, xmm8
cvtsi2sd xmm8, rsi
subsd xmm1, xmm0
addsd xmm8, xmm1
mulsd xmm8, xmm6
divsd xmm8, xmm9
addsd xmm8, xmm11
add rdi, 2
add r15, 0x20
cmp r13, rdi
jne 0x1800112f0
test r14b, 1
je 0x1800113c8
shl rdi, 4
mov rcx, qword [rbp + 0x1e8]
mov eax, dword [rcx + rdi + 8]
mov esi, dword [rcx + rdi + 0xc]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_log2
subsd xmm10, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
addsd xmm0, xmm10
mulsd xmm0, xmm6
divsd xmm0, xmm9
addsd xmm8, xmm0
test r14, r14
mov r13, qword [rbp + 0x168]
je 0x180011408
cmp r14, 1
jne 0x180011428
cmp dword [rbp + 0xb4], 0
sete sil
test ebx, ebx
je 0x18001140f
cmp ebx, 0x39
ja 0x180011430
mov edi, 1
mov r15b, 1
mov rdx, qword [rbp + 0x160]
cmp rdx, qword [rbp + 0x158]
je 0x180011450
jmp 0x180011463
mov sil, 1
test ebx, ebx
jne 0x1800113e9
xor ebx, ebx
xor r15d, r15d
xor edi, edi
mov rdx, qword [rbp + 0x160]
cmp rdx, qword [rbp + 0x158]
je 0x180011450
jmp 0x180011463
xor esi, esi
test ebx, ebx
jne 0x1800113e9
jmp 0x18001140f
cmp ebx, 0x72
mov edi, 3
sbb rdi, 0
xor r15d, r15d
mov rdx, qword [rbp + 0x160]
cmp rdx, qword [rbp + 0x158]
jne 0x180011463
nop
lea rcx, [rbp + 0x150]
call fcn.180018c20
mov rdx, qword [rbp + 0x160]
mov rax, rdx
shl rax, 5
inc rdx
test r15b, r15b
mov rcx, rdi
mov r8d, 2
cmovne rcx, r8
cmp ebx, 0x39
cmovb rcx, rdi
cmp r14, 1
mov r8, qword [rbp + 0x150]
mov r9, qword [rbp + 0x1e8]
mov qword [r8 + rax], r9
mov r9, qword [rbp + 0x1d0]
mov qword [r8 + rax + 8], r9
mov qword [r8 + rax + 0x10], r14
mov dword [r8 + rax + 0x18], r13d
mov qword [rbp + 0x160], rdx
mov rax, qword [rbp + 0xe8]
lea r15, [rbp + 0x48]
mov qword [r15 + 0x58], rax
movups xmm0, xmmword [rbp + 0xb8]
movups xmm1, xmmword [rbp + 0xc8]
movdqu xmm2, xmmword [rbp + 0xd8]
movdqu xmmword [r15 + 0x48], xmm2
movups xmmword [r15 + 0x38], xmm1
movups xmmword [r15 + 0x28], xmm0
movapd xmm0, xmmword [rbp + 0x10]
movapd xmm1, xmmword [rbp + 0x20]
movapd xmmword [rbp + 0x40], xmm0
movapd xmmword [rbp + 0x50], xmm1
movsd qword [rbp + 0x60], xmm8
mov byte [rbp + 0xa8], sil
setne byte [rbp + 0xa9]
mov qword [rbp + 0x68], rcx
mov rdx, qword [rbp + 0x1b8]
cmp rdx, qword [rbp + 0x1b0]
jne 0x180010bf0
lea rcx, [rbp + 0x1a8]
call fcn.1800189b0
mov rsi, qword [rbp + 0x148]
mov r14, r12
mov rdx, qword [rbp + 0x1b8]
jmp 0x180010bfa
mov rcx, rbx
and rcx, 0xfffffffffffffff8
lea rdx, [r8 + 0xf0]
xor r8d, r8d
nop
movd xmm0, dword [rdx - 0x80]
movd xmm1, dword [rdx - 0xa0]
punpckldq xmm1, xmm0
movd xmm0, dword [rdx - 0xc0]
movd xmm2, dword [rdx - 0xe0]
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movd xmm0, dword [rdx]
movd xmm1, dword [rdx - 0x20]
punpckldq xmm1, xmm0
movd xmm0, dword [rdx - 0x40]
movd xmm3, dword [rdx - 0x60]
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm1
movdqu xmmword [rax + r8*4], xmm2
movdqu xmmword [rax + r8*4 + 0x10], xmm3
add r8, 8
add rdx, 0x100
cmp rcx, r8
jne 0x180011560
cmp rbx, rcx
je 0x180010f15
jmp 0x180010e0c
mov rdx, qword [rbp + 0x1c0]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rbp + 0x150]
movups xmmword [rbp - 0x38], xmm0
mov rax, qword [rbp + 0x160]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x110]
mov qword [rdx + 0x48], rax
movups xmm0, xmmword [rbp + 0x1a8]
movups xmmword [rdx + 0x38], xmm0
mov rax, qword [rbp + 0x1a0]
mov qword [rdx + 0x60], rax
movups xmm0, xmmword [rbp + 0x190]
movups xmmword [rdx + 0x50], xmm0
mov rax, qword [rbp + 0x1d8]
mov qword [rdx + 0x68], rax
mov qword [rdx + 0x70], rdi
mov qword [rdx + 0x78], rcx
movups xmm0, xmmword [rbp - 8]
movups xmmword [rdx + 0x80], xmm0
mov rax, qword [rbp + 8]
mov qword [rdx + 0x90], rax
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [rbp - 0x40]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rcx
mov rax, qword [rbp + 0x130]
mov qword [rdx + 0x30], rax
mov rdx, qword [rbp + 0x118]
test rdx, rdx
mov rcx, qword [rbp + 0x138]
je 0x1800119ca
shl rdx, 3
mov r8d, 8
jmp 0x1800119c5
movdqa xmm0, xmmword [rbp + 0x170]
movdqa xmm1, xmmword [rbp + 0x180]
mov rax, qword [rbp + 0x110]
movdqu xmmword [rax + 0x18], xmm1
movdqu xmmword [rax + 8], xmm0
mov qword [rax], 3
mov rdx, qword [rbp + 0xc0]
test rdx, rdx
mov rdi, qword [rbp + 0x1d0]
je 0x180011700
mov rcx, qword [rbp + 0xb8]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
mov rdx, qword [rbp + 0xd8]
test rdx, rdx
mov rsi, qword [rbp + 0x1e8]
je 0x180011729
mov rcx, qword [rbp + 0xd0]
shl rdx, 5
mov r8d, 8
call fcn.1800458e0
test rdi, rdi
je 0x180011743
shl rdi, 4
mov r8d, 8
mov rcx, rsi
mov rdx, rdi
call fcn.1800458e0
mov rcx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1c8], rax
xor eax, eax
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x1c0], rcx
nop dword [rax + rax]
mov rax, qword [rbp + 0x1f8]
cmp qword [rbp + 0x1c8], rax
je 0x180011798
inc rax
mov qword [rbp + 0x1f8], rax
lea rsi, [rcx + 0x70]
call fcn.180006c30
mov rcx, rsi
jmp 0x180011770
mov rax, qword [rbp + 0x1b0]
test rax, rax
je 0x1800117ba
mov rcx, qword [rbp + 0x1a8]
imul rdx, rax, 0x70
mov r8d, 8
call fcn.1800458e0
mov rsi, qword [rbp + 0x160]
test rsi, rsi
mov r15, qword [rbp + 0x138]
mov r12, qword [rbp + 0xf0]
mov r13, qword [rbp + 0x38]
je 0x180011816
mov rdi, qword [rbp + 0x150]
add rdi, 8
jmp 0x1800117f9
add rdi, 0x20
dec rsi
je 0x180011816
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800117f0
mov rcx, qword [rdi - 8]
shl rdx, 4
mov r8d, 8
call fcn.1800458e0
jmp 0x1800117f0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x180011838
mov rcx, qword [rbp + 0x150]
shl rdx, 5
mov r8d, 8
call fcn.1800458e0
mov rax, qword [rbp + 0x1d8]
lea rsi, [rax + 8]
mov rdi, qword [rbp + 0xf8]
jmp 0x18001185d
add rsi, 0x18
dec qword [rbp + 0x140]
je 0x18001187a
mov rdx, qword [rsi]
test rdx, rdx
je 0x180011850
mov rcx, qword [rsi - 8]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
jmp 0x180011850
test rdi, rdi
je 0x180011899
shl rdi, 3
lea rdx, [rdi + rdi*2]
mov r8d, 8
mov rcx, qword [rbp + 0x1d8]
call fcn.1800458e0
test r13, r13
je 0x180011925
xor esi, esi
jmp 0x1800118b8
inc rsi
cmp rsi, r13
je 0x180011925
lea rdi, [rsi + rsi*2]
mov rbx, qword [r12 + rdi*8 + 0x10]
test rbx, rbx
je 0x180011900
mov r14, qword [r12 + rdi*8]
add r14, 8
jmp 0x1800118d9
add r14, 0x18
dec rbx
je 0x180011900
mov rdx, qword [r14]
test rdx, rdx
je 0x1800118d0
mov rcx, qword [r14 - 8]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
jmp 0x1800118d0
lea rcx, [r12 + rdi*8]
mov rax, qword [rcx + 8]
test rax, rax
je 0x1800118b0
mov rcx, qword [rcx]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.1800458e0
jmp 0x1800118b0
mov rax, qword [rbp]
test rax, rax
je 0x180011944
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, r12
call fcn.1800458e0
mov rsi, qword [rbp + 0x1a0]
test rsi, rsi
je 0x180011986
mov rdi, qword [rbp + 0x190]
add rdi, 8
jmp 0x180011969
add rdi, 0x28
dec rsi
je 0x180011986
mov rdx, qword [rdi]
test rdx, rdx
je 0x180011960
mov rcx, qword [rdi - 8]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
jmp 0x180011960
mov rax, qword [rbp + 0x198]
test rax, rax
je 0x1800119ac
mov rcx, qword [rbp + 0x190]
shl rax, 3
lea rdx, [rax + rax*4]
mov r8d, 8
call fcn.1800458e0
mov rdx, qword [rbp + 0x118]
test rdx, rdx
je 0x1800119ca
shl rdx, 3
mov r8d, 8
mov rcx, r15
call fcn.1800458e0
movaps xmm6, xmmword [rbp + 0x210]
movaps xmm7, xmmword [rbp + 0x220]
movaps xmm8, xmmword [rbp + 0x230]
movaps xmm9, xmmword [rbp + 0x240]
movaps xmm10, xmmword [rbp + 0x250]
movaps xmm11, xmmword [rbp + 0x260]
add rsp, 0x2f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x1c8], rdx
mov qword [rbp + 0x1c0], rcx
lea r8, [0x1800838e0]
mov rcx, rbx
mov rdx, rbx
call fcn.180082960
jmp 0x180011b71
mov byte [rbp + 0x206], 1
lea r8, [0x180083b58]
xor ecx, ecx
xor edx, edx
call fcn.180082960
jmp 0x180011b71
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0xb8], rax
lea rax, [0x1800331c0]
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x10]
mov qword [rbp + 0xc8], rax
lea rax, [fcn.180076df0]
mov qword [rbp + 0xd0], rax
lea rax, str.should_be_unreachable__unknown_latent__
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 2
mov qword [rbp + 0x60], 0
lea rax, [rbp + 0xb8]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], 2
lea rdx, str.D:_apcodecpcodecpco_srcmode.rs
lea rcx, [rbp + 0x40]
call fcn.180082810
jmp 0x180011b71
lea r8, [0x180083b70]
mov rcx, r13
mov rdx, rsi
call fcn.180082dd0
jmp 0x180011b71
lea r8, [0x180083b70]
mov rcx, rsi
call fcn.180082d50
jmp 0x180011b71
mov ecx, 4
mov rdx, rsi
call fcn.180082720
jmp 0x180011b71
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x120], rax
mov byte [rbp + 0x207], 1
mov ecx, 8
mov rdx, r13
call fcn.180082720
jmp 0x180011b71
mov ecx, 8
mov rdx, rsi
call fcn.180082720
jmp 0x180011b71
mov ecx, 8
mov rdx, rsi
call fcn.180082720
jmp 0x180011b71
mov byte [rbp + 0x205], 1
call fcn.18006c380
jmp 0x180011b71
mov byte [rbp + 0x205], 1
mov ecx, 8
mov rdx, rsi
call fcn.180082720
ud2