Function at 0x180012e50
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e8
lea rbp, [rsp + 0x80]
movapd xmmword [rbp + 0x250], xmm11
movapd xmmword [rbp + 0x240], xmm10
movapd xmmword [rbp + 0x230], xmm9
movapd xmmword [rbp + 0x220], xmm8
movdqa xmmword [rbp + 0x210], xmm7
movapd xmmword [rbp + 0x200], xmm6
mov qword [rbp + 0x1f8], 0xfffffffffffffffe
mov qword [rbp + 0x1b0], r9
mov qword [rbp + 0x88], rcx
mov rdi, qword [rdx + 0x10]
test rdi, rdi
mov qword [rbp + 0x80], rdx
je 0x180014241
mov rax, qword [rbp + 0x2d8]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x110], rax
mov rax, qword [rdx]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rax + 0x10]
mov byte [rbp + 0x1f7], 1
lea rcx, [rbp + 0xa0]
mov rdx, r8
mov r8, rax
call fcn.180046260
movzx eax, byte [rbp + 0xb8]
mov r9, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov r12, qword [rbp + 0xb0]
cmp al, 0x2d
jne 0x180013291
mov rax, qword [rbp + 0x1b0]
mov r14d, dword [rax]
cmp r14d, 1
mov ebx, 1
sbb rbx, 0xffffffffffffffff
mov eax, 8
test r12, r12
mov qword [rbp + 0x118], r9
mov qword [rbp + 0x90], rdx
je 0x180012fa0
movabs rcx, 0x333333333333333
cmp r12, rcx
ja 0x180014324
lea rcx, [r12*8]
lea rsi, [rcx + rcx*4]
test rsi, rsi
je 0x180012fa0
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rsi
call fcn.1800458d0
test rax, rax
je 0x180014332
mov dword [rbp + 0x1ac], r14d
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x198], 0
mov qword [rbp + 0xa0], 8
xorpd xmm6, xmm6
movupd xmmword [rbp + 0xa8], xmm6
mov byte [rbp + 0x1f1], 1
lea rcx, [rbp - 0x28]
lea rdx, [rbp + 0xa0]
mov r8, r12
call fcn.180007320
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp - 0x18]
cmp r12, rax
mov qword [rbp + 0x68], rax
cmovae r12, rax
mov qword [rbp + 0x120], rdi
lea rax, [rdi + rdi*2]
mov rcx, qword [rbp + 0x1d0]
lea rax, [rcx + rax*8]
mov qword [rbp + 0x1c0], rax
xor eax, eax
lea r15, [rbp + 0xa0]
xor r13d, r13d
mov qword [rbp + 0x1b8], r12
jmp 0x1800130a3
mov rdx, qword [rbp + 0x198]
mov r8, qword [rbp + 0x1a0]
mov r9, qword [rbp + 0x140]
mov rax, qword [rbp + 0x188]
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 + 0x198], rdx
mov rax, qword [rbp + 0x1c8]
mov r13, rsi
mov r12, qword [rbp + 0x1b8]
cmp rax, r12
setb byte [rbp + 0x1df]
mov rdx, qword [rbp + 0x118]
jae 0x180013375
lea rcx, [rax + 1]
mov qword [rbp + 0x1c8], rcx
lea rcx, [rax + rax*2]
mov r8, qword [rbp + 0x78]
lea rbx, [r8 + rcx*8]
mov r14, qword [rdx + rax*8]
mov qword [rbp + 0x150], 8
lea rax, [rbp + 0x158]
movupd xmmword [rax], xmm6
lea rsi, [r14 + r13]
xor r12d, r12d
xor edi, edi
mov rcx, qword [rbp + 0x1d0]
jmp 0x180013134
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x1e0]
add rcx, 0x18
inc rdi
add r12, r13
mov rax, qword [rbp + 0x150]
mov qword [rax + rdx*8], r12
mov r12, qword [rbp + 0x160]
inc r12
mov qword [rbp + 0x160], r12
mov qword [rbp + 0x1e0], rcx
cmp rcx, qword [rbp + 0x1c0]
je 0x180013250
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x48], rax
mov qword [rbp - 0x10], rdi
mov eax, dword [rax]
test rax, rax
je 0x180013190
cmp eax, 1
je 0x18001316c
cmp eax, 2
jne 0x18001425d
mov r12, qword [rbp + 0x110]
test rdi, rdi
je 0x1800131a0
cmp rdi, 1
jne 0x18001425d
xor r12d, r12d
jmp 0x1800131a0
mov r12, qword [rbp + 0x110]
test rdi, rdi
jne 0x18001425d
cmp r13, rsi
ja 0x1800142d2
mov rax, qword [rbp + 0x1e0]
mov rdx, qword [rax + 0x10]
cmp rsi, rdx
ja 0x1800142e6
mov rax, qword [rax]
lea rdx, [rax + r13*4]
mov rcx, r15
mov r8, r14
mov r9, r12
call fcn.18002fcf0
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx + 8]
jne 0x1800131e8
mov rcx, rbx
call fcn.180018a80
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0xb0]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rbp + 0xa0]
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 + 0x160]
cmp rdx, qword [rbp + 0x158]
jne 0x180013107
lea rcx, [rbp + 0x150]
call fcn.180018b50
jmp 0x180013100
mov r9, qword [rbp + 0x150]
mov r8, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x198]
cmp rdx, qword [rbp + 0x190]
jne 0x180013065
mov qword [rbp + 0x140], r9
mov qword [rbp + 0x1a0], r8
lea rcx, [rbp + 0x188]
call fcn.180019000
jmp 0x180013050
mov ecx, dword [rbp + 0xb9]
mov r8, rdx
mov edx, dword [rbp + 0xbc]
mov r10, qword [rbp + 0x88]
mov dword [r10 + 0x1c], edx
mov dword [r10 + 0x19], ecx
mov qword [r10], r9
mov qword [r10 + 8], r8
mov qword [r10 + 0x10], r12
mov byte [r10 + 0x18], al
mov dword [r10 + 0x80], 3
mov rax, qword [rbp + 0x1d0]
lea rsi, [rax + 8]
jmp 0x1800132e9
add rsi, 0x18
dec rdi
je 0x180013306
mov rdx, qword [rsi]
test rdx, rdx
je 0x1800132e0
mov rcx, qword [rsi - 8]
shl rdx, 2
mov r8d, 4
call fcn.1800458e0
jmp 0x1800132e0
mov rax, qword [rbp + 0x80]
mov rax, qword [rax + 8]
test rax, rax
je 0x1800141da
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, qword [rbp + 0x1d0]
movaps xmm6, xmmword [rbp + 0x200]
movaps xmm7, xmmword [rbp + 0x210]
movaps xmm8, xmmword [rbp + 0x220]
movaps xmm9, xmmword [rbp + 0x230]
movaps xmm10, xmmword [rbp + 0x240]
movaps xmm11, xmmword [rbp + 0x250]
add rsp, 0x2e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1800458e0
mov rax, qword [rbp + 0x80]
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
mov rdi, qword [rbp + 0x148]
mov rsi, rdi
shl rsi, 5
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rsi
call fcn.1800458d0
test rax, rax
je 0x180014306
cmp dword [rbp + 0x1ac], 0
setne cl
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], rdi
mov qword [rbp + 0x138], 0
mov esi, 0x70
shl rsi, cl
movzx eax, byte [0x1800a4291]
mov edx, 8
mov rcx, rsi
call fcn.1800458d0
test rax, rax
mov r8, qword [rbp + 0x120]
je 0x180014315
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], rdi
mov qword [rbp + 0x180], 0
mov rax, qword [rbp + 0x60]
cmp rax, 6
mov ecx, 6
cmovb rcx, rax
mov qword [rbp - 0x30], rcx
lea r15, [rbp + 0xa8]
lea rdi, [rbp + 0xa0]
movdqa xmm7, xmmword [0x1800837a0]
xor r12d, r12d
mov rsi, qword [rbp + 0x1d0]
jmp 0x1800134f3
lea rdi, [rbp + 0xa0]
mov r12, qword [rbp + 0x140]
mov rsi, qword [rbp + 0x1a0]
add rsi, 0x18
inc r12
mov rax, qword [rbp + 0x170]
imul rcx, rdx, 0x70
movaps xmm0, xmmword [rbp + 0x100]
movups xmmword [rax + rcx + 0x60], xmm0
movaps xmm0, xmmword [rbp + 0xf0]
movups xmmword [rax + rcx + 0x50], xmm0
movaps xmm0, xmmword [rbp + 0xe0]
movups xmmword [rax + rcx + 0x40], xmm0
movdqa xmm0, xmmword [rbp + 0xa0]
movdqa xmm1, xmmword [rbp + 0xb0]
movdqa xmm2, xmmword [rbp + 0xc0]
movdqa xmm3, xmmword [rbp + 0xd0]
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 + 0x180], rdx
mov r8, qword [rbp + 0x120]
cmp rsi, qword [rbp + 0x1c0]
je 0x180013dbc
test r12, r12
mov r14, qword [rbp - 0x30]
cmove r14, qword [rbp + 0x60]
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov r9, qword [rbp + 0x188]
mov rax, qword [rbp + 0x198]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x48]
call fcn.180010250
mov r13, qword [rbp - 0x38]
test r13, r13
mov qword [rbp + 0x1a0], rsi
je 0x180013670
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x1c8], rax
bsr rax, r13
xor eax, 0xffffffc0
add eax, 0x41
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x1e0], rcx
mov rdx, r13
mov r8, rdi
xor r9d, r9d
call fcn.180004180
lea rcx, [rbp - 0x10]
mov rdx, qword [rbp + 0x1e0]
mov r8, r13
mov r9, r14
call fcn.18000bd50
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x1c8]
test rdx, rdx
je 0x1800135b2
shl rdx, 2
mov r8d, 4
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 r14d, 2
cmp r14d, eax
cmovae r14d, eax
cmp r14d, 0xc
mov eax, 0xc
cmovae r14d, eax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movdqu xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0xa0], xmm0
lea rcx, [rbp + 0x150]
mov rdx, rdi
mov r8d, r14d
mov r9d, r13d
call fcn.180029b10
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x1e0], rax
mov rbx, qword [rbp + 0x160]
test rbx, rbx
je 0x1800136a0
lea rsi, [rbx*4]
movzx eax, byte [0x1800a4291]
mov edx, 4
mov rcx, rsi
call fcn.1800458d0
test rax, rax
je 0x1800142f7
cmp rbx, 0x10
jae 0x1800136aa
xor ecx, ecx
mov rsi, qword [rbp + 0x1e0]
jmp 0x180013770
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x1800136d2
mov rcx, qword [rbp - 0x48]
shl rdx, 2
mov esi, 4
mov r8d, 4
call fcn.1800458e0
xor ebx, ebx
jmp 0x1800136d9
mov eax, 4
jmp 0x1800137ef
lea rcx, [rbx + rbx*4]
mov rsi, qword [rbp + 0x1e0]
lea rcx, [rsi + rcx*4]
add rcx, 0xfffffffffffffff0
cmp rax, rcx
jae 0x1800136ea
lea rcx, [rax + rbx*4]
cmp rsi, rcx
jae 0x1800136ea
xor ecx, ecx
jmp 0x180013770
xor ebx, ebx
mov esi, 4
xor eax, eax
mov qword [rbp + 0x1b8], rax
xor r14d, r14d
jmp 0x18001387f
mov rcx, rbx
and rcx, 0xfffffffffffffff8
mov rdx, rsi
xor r8d, r8d
nop word [rax + rax]
movd xmm0, dword [rdx + 0x3c]
movd xmm1, dword [rdx + 0x28]
punpckldq xmm1, xmm0
movd xmm0, dword [rdx + 0x14]
movd xmm2, dword [rdx]
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movd xmm0, dword [rdx + 0x8c]
movd xmm1, dword [rdx + 0x78]
punpckldq xmm1, xmm0
movd xmm0, dword [rdx + 0x64]
movd xmm3, dword [rdx + 0x50]
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm1
movdqu xmmword [rax + r8*4], xmm2
movdqu xmmword [rax + r8*4 + 0x10], xmm3
add r8, 8
add rdx, 0xa0
cmp rcx, r8
jne 0x180013700
cmp rbx, rcx
je 0x1800137ef
nop dword [rax + rax]
mov r9, rbx
mov rdx, rcx
and r9, 3
je 0x1800137a4
lea rdx, [rcx + rcx*4]
lea r8, [rsi + rdx*4]
lea r9, [r9 + r9*4]
xor r10d, r10d
mov rdx, rcx
nop
mov r11d, dword [r8 + r10*4]
mov dword [rax + rdx*4], r11d
inc rdx
add r10, 5
cmp r9, r10
jne 0x180013790
not rcx
add rcx, rbx
cmp rcx, 3
jb 0x1800137ef
lea rcx, [rdx + rdx*4]
lea rcx, [rsi + rcx*4]
nop dword [rax + rax]
mov r8d, dword [rcx]
mov dword [rax + rdx*4], r8d
mov r8d, dword [rcx + 0x14]
mov dword [rax + rdx*4 + 4], r8d
mov r8d, dword [rcx + 0x28]
mov dword [rax + rdx*4 + 8], r8d
mov r8d, dword [rcx + 0x3c]
mov dword [rax + rdx*4 + 0xc], r8d
add rdx, 4
add rcx, 0x50
cmp rbx, rdx
jne 0x1800137c0
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rbx
mov rcx, rdi
lea rdx, [rbp + 0x10]
mov r8, r13
mov r9d, r14d
call fcn.180046aa0
mov r14d, dword [rbp + 0xa0]
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
test rax, rax
mov rsi, qword [rbp + 0x1e0]
je 0x18001385d
shl rax, 2
mov r9, rsi
xor r10d, r10d
nop
cmp rbx, r10
je 0x18001421c
mov r8d, dword [rcx + r10*4]
inc r10
mov dword [r9], r8d
add r9, 0x14
add rax, 0xfffffffffffffffc
jne 0x180013840
test rdx, rdx
je 0x180013871
shl rdx, 2
mov r8d, 4
call fcn.1800458e0
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x1e0], rsi
mov qword [rbp + 0x140], r12
lea rax, [rbx + rbx*4]
lea r8, [rsi + rax*4]
mov byte [rbp + 0x1f5], 1
lea rcx, [rbp + 0x48]
mov rdx, rsi
call fcn.180008e20
mov r12, qword [rbp + 0x58]
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rbx
mov byte [rbp + 0x1f4], 1
lea rcx, [rbp + 0x10]
mov rdx, rdi
call fcn.1800335f0
mov rsi, qword [rbp + 0x48]
mov byte [rbp + 0x1f3], 1
mov byte [rbp + 0x1f2], 1
mov rcx, rdi
mov edx, r14d
mov r8, rsi
mov r9, r12
call fcn.18002f770
cmp qword [rbp + 0xa0], 0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rbp + 0x150], xmm0
movaps xmmword [rbp + 0x160], xmm1
jne 0x180013ec2
movdqa xmm0, xmmword [rbp + 0x150]
movdqa xmm1, xmmword [rbp + 0x160]
movdqa xmmword [rbp], xmm1
movdqa xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x148], rax
test r12, r12
mov dword [rbp + 0x1ac], r14d
mov qword [rbp + 0x1c8], rsi
je 0x1800139b0
mov r9d, dword [rsi + 8]
mov ebx, r9d
cmp r12, 1
je 0x180013b00
lea rax, [r12 + r12*2]
lea rcx, [rax*4 - 0xc]
mov rax, rcx
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
shr rdx, 3
cmp rcx, 0x60
jae 0x1800139bf
mov ebx, r9d
xor eax, eax
jmp 0x180013ae0
xorpd xmm8, xmm8
xor ebx, ebx
mov sil, 1
jmp 0x180013c6f
mov rax, rdx
and rax, 0xfffffffffffffff8
movd xmm0, r9d
pshufd xmm0, xmm0, 0
lea rcx, [rsi + 0x68]
mov r8, rax
movdqa xmm1, xmm0
nop dword [rax + rax]
movd xmm2, dword [rcx - 0x30]
movd xmm3, dword [rcx - 0x3c]
punpckldq xmm3, xmm2
movd xmm2, dword [rcx - 0x48]
movd xmm4, dword [rcx - 0x54]
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmm3
movd xmm2, dword [rcx]
movd xmm3, dword [rcx - 0xc]
punpckldq xmm3, xmm2
movd xmm2, dword [rcx - 0x18]
movd xmm5, dword [rcx - 0x24]
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
add rcx, 0x60
add r8, 0xfffffffffffffff8
jne 0x1800139e0
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
cmp rdx, rax
je 0x180013b00
sub rdx, rax
lea rax, [rax + rax*2]
lea rax, [rsi + rax*4]
add rax, 0x14
nop
mov ecx, dword [rax]
cmp ebx, ecx
cmovbe ebx, ecx
add rax, 0xc
dec rdx
jne 0x180013af0
mov dword [rbp + 0x74], r9d
mov r13, r15
mov eax, 1
mov ecx, r14d
shl eax, cl
cvtsi2sd xmm9, eax
mov eax, r14d
cvtsi2sd xmm10, rax
cmp r12, 1
jne 0x180013b30
xorpd xmm8, xmm8
xor edi, edi
jmp 0x180013bdc
mov r14, r12
and r14, 0xfffffffffffffffe
add rsi, 0x14
xorpd xmm8, xmm8
xor edi, edi
nop word cs:[rax + rax]
mov eax, dword [rsi - 0x14]
mov r15d, dword [rsi - 0xc]
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, r15
addsd xmm11, xmm1
mulsd xmm11, xmm6
divsd xmm11, xmm9
addsd xmm11, xmm8
mov eax, dword [rsi - 8]
mov r15d, dword [rsi]
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, r15
subsd xmm1, xmm0
addsd xmm8, xmm1
mulsd xmm8, xmm6
divsd xmm8, xmm9
addsd xmm8, xmm11
add rdi, 2
add rsi, 0x18
cmp r14, rdi
jne 0x180013b50
test r12b, 1
je 0x180013c25
lea rax, [rdi + rdi*2]
mov rdx, qword [rbp + 0x1c8]
mov ecx, dword [rdx + rax*4]
mov esi, dword [rdx + rax*4 + 8]
xorps xmm6, xmm6
cvtsi2sd xmm6, rcx
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 r12, r12
mov r15, r13
je 0x180013c41
cmp r12, 1
jne 0x180013c67
cmp dword [rbp + 0x74], 0
sete sil
test ebx, ebx
jne 0x180013c48
jmp 0x180013c6d
mov sil, 1
test ebx, ebx
je 0x180013c6d
cmp ebx, 0x39
ja 0x180013c86
mov edi, 1
mov r14b, 1
mov rdx, qword [rbp + 0x138]
cmp rdx, qword [rbp + 0x130]
je 0x180013cb0
jmp 0x180013cc3
xor esi, esi
test ebx, ebx
jne 0x180013c48
xor ebx, ebx
xor r14d, r14d
xor edi, edi
mov rdx, qword [rbp + 0x138]
cmp rdx, qword [rbp + 0x130]
je 0x180013cb0
jmp 0x180013cc3
cmp ebx, 0x72
mov edi, 3
sbb rdi, 0
xor r14d, r14d
mov rdx, qword [rbp + 0x138]
cmp rdx, qword [rbp + 0x130]
jne 0x180013cc3
nop word cs:[rax + rax]
lea rcx, [rbp + 0x128]
call fcn.180018c20
mov rdx, qword [rbp + 0x138]
mov rax, rdx
shl rax, 5
inc rdx
test r14b, r14b
mov rcx, rdi
mov r8d, 2
cmovne rcx, r8
cmp ebx, 0x39
cmovb rcx, rdi
cmp r12, 1
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0x1c8]
mov qword [r8 + rax], r9
mov r9, qword [rbp + 0x148]
mov qword [r8 + rax + 8], r9
mov qword [r8 + rax + 0x10], r12
mov r9d, dword [rbp + 0x1ac]
mov dword [r8 + rax + 0x18], r9d
mov qword [rbp + 0x138], rdx
mov rax, qword [rbp + 0x40]
mov qword [r15 + 0x58], rax
movups xmm0, xmmword [rbp + 0x10]
movups xmm1, xmmword [rbp + 0x20]
movdqu xmm2, xmmword [rbp + 0x30]
movdqu xmmword [r15 + 0x48], xmm2
movups xmmword [r15 + 0x38], xmm1
movups xmmword [r15 + 0x28], xmm0
movapd xmm0, xmmword [rbp - 0x10]
movapd xmm1, xmmword [rbp]
movapd xmmword [rbp + 0xa0], xmm0
movapd xmmword [rbp + 0xb0], xmm1
movsd qword [rbp + 0xc0], xmm8
mov byte [rbp + 0x108], sil
setne byte [rbp + 0x109]
mov qword [rbp + 0xc8], rcx
mov rdx, qword [rbp + 0x180]
cmp rdx, qword [rbp + 0x178]
jne 0x180013460
lea rcx, [rbp + 0x170]
call fcn.1800189b0
lea rdi, [rbp + 0xa0]
mov r12, qword [rbp + 0x140]
mov rsi, qword [rbp + 0x1a0]
mov rdx, qword [rbp + 0x180]
jmp 0x180013475
mov rcx, qword [rbp + 0x1b0]
mov eax, dword [rcx + 8]
mov r9, qword [rbp + 0x88]
mov dword [r9 + 0x88], eax
mov rax, qword [rcx]
mov qword [r9 + 0x80], rax
mov rax, qword [rbp + 0x138]
mov qword [r9 + 0x70], rax
movups xmm0, xmmword [rbp + 0x128]
movups xmmword [r9 + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x170]
movaps xmmword [rbp + 0xa0], xmm0
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xb0], rax
movups xmm0, xmmword [rbp + 0x188]
movups xmmword [rbp + 0xb8], xmm0
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp - 0x18]
mov qword [r9 + 0x58], rax
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [r9 + 0x48], xmm0
movdqa xmm0, xmmword [rbp + 0xa0]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xc0]
mov qword [r9 + 0x20], rdx
mov rdx, qword [rbp + 0xc8]
mov qword [r9 + 0x28], rdx
mov qword [r9 + 0x10], rax
mov qword [r9 + 0x18], rcx
movdqu xmmword [r9], xmm0
mov rax, qword [rbp + 0x1d0]
mov qword [r9 + 0x30], rax
mov rax, qword [rbp + 0x98]
mov qword [r9 + 0x38], rax
mov qword [r9 + 0x40], r8
mov rax, qword [rbp + 0x110]
mov qword [r9 + 0x78], rax
mov rdx, qword [rbp + 0x90]
test rdx, rdx
mov rcx, qword [rbp + 0x118]
je 0x1800141da
shl rdx, 3
mov r8d, 8
jmp 0x1800141d5
movdqa xmm0, xmmword [rbp + 0x150]
movdqa xmm1, xmmword [rbp + 0x160]
mov rax, qword [rbp + 0x88]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov dword [rax + 0x80], 3
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x180013f08
mov rcx, qword [rbp + 0x10]
shl rdx, 2
mov r8d, 4
call fcn.1800458e0
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x180013f28
mov rcx, qword [rbp + 0x28]
shl rax, 2
lea rdx, [rax + rax*4]
mov r8d, 4
call fcn.1800458e0
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x180013f47
shl rax, 2
lea rdx, [rax + rax*2]
mov r8d, 4
mov rcx, rsi
call fcn.1800458e0
mov rcx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x1c0], rax
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1b0], rcx
nop dword [rax]
mov rax, qword [rbp + 0x1e0]
cmp qword [rbp + 0x1c0], rax
je 0x180013f98
inc rax
mov qword [rbp + 0x1e0], rax
lea rsi, [rcx + 0x70]
call fcn.180006b70
mov rcx, rsi
jmp 0x180013f70
mov rax, qword [rbp + 0x178]
test rax, rax
je 0x180013fba
mov rcx, qword [rbp + 0x170]
imul rdx, rax, 0x70
mov r8d, 8
call fcn.1800458e0
mov rsi, qword [rbp + 0x138]
test rsi, rsi
mov r15, qword [rbp + 0x78]
mov r12, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x120]
je 0x18001401a
mov rdi, qword [rbp + 0x128]
add rdi, 8
jmp 0x180013ff9
add rdi, 0x20
dec rsi
je 0x18001401a
mov rax, qword [rdi]
test rax, rax
je 0x180013ff0
mov rcx, qword [rdi - 8]
shl rax, 2
lea rdx, [rax + rax*2]
mov r8d, 4
call fcn.1800458e0
jmp 0x180013ff0
mov rdx, qword [rbp + 0x130]
test rdx, rdx
je 0x18001403c
mov rcx, qword [rbp + 0x128]
shl rdx, 5
mov r8d, 8
call fcn.1800458e0
mov rax, qword [rbp + 0x1d0]
lea rsi, [rax + 8]
jmp 0x180014059
add rsi, 0x18
dec rbx
je 0x180014076
mov rdx, qword [rsi]
test rdx, rdx
je 0x180014050
mov rcx, qword [rsi - 8]
shl rdx, 2
mov r8d, 4
call fcn.1800458e0
jmp 0x180014050
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x18001409c
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, qword [rbp + 0x1d0]
call fcn.1800458e0
test r12, r12
je 0x180014125
xor esi, esi
jmp 0x1800140b8
inc rsi
cmp rsi, r12
je 0x180014125
lea rdi, [rsi + rsi*2]
mov rbx, qword [r15 + rdi*8 + 0x10]
test rbx, rbx
je 0x180014100
mov r14, qword [r15 + rdi*8]
add r14, 8
jmp 0x1800140d9
add r14, 0x18
dec rbx
je 0x180014100
mov rdx, qword [r14]
test rdx, rdx
je 0x1800140d0
mov rcx, qword [r14 - 8]
shl rdx, 2
mov r8d, 4
call fcn.1800458e0
jmp 0x1800140d0
lea rcx, [r15 + rdi*8]
mov rax, qword [rcx + 8]
test rax, rax
je 0x1800140b0
mov rcx, qword [rcx]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.1800458e0
jmp 0x1800140b0
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x180014144
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, r15
call fcn.1800458e0
mov rsi, qword [rbp + 0x198]
test rsi, rsi
mov rbx, qword [rbp + 0x118]
je 0x180014196
mov rdi, qword [rbp + 0x188]
add rdi, 8
jmp 0x180014179
add rdi, 0x28
dec rsi
je 0x180014196
mov rdx, qword [rdi]
test rdx, rdx
je 0x180014170
mov rcx, qword [rdi - 8]
shl rdx, 3
mov r8d, 8
call fcn.1800458e0
jmp 0x180014170
mov rax, qword [rbp + 0x190]
test rax, rax
je 0x1800141bc
mov rcx, qword [rbp + 0x188]
shl rax, 3
lea rdx, [rax + rax*4]
mov r8d, 8
call fcn.1800458e0
mov rdx, qword [rbp + 0x90]
test rdx, rdx
je 0x1800141da
shl rdx, 3
mov r8d, 8
mov rcx, rbx
call fcn.1800458e0
movaps xmm6, xmmword [rbp + 0x200]
movaps xmm7, xmmword [rbp + 0x210]
movaps xmm8, xmmword [rbp + 0x220]
movaps xmm9, xmmword [rbp + 0x230]
movaps xmm10, xmmword [rbp + 0x240]
movaps xmm11, xmmword [rbp + 0x250]
add rsp, 0x2e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x1c0], rdx
mov qword [rbp + 0x1b0], rcx
lea r8, [0x1800838e0]
mov rcx, rbx
mov rdx, rbx
call fcn.180082960
jmp 0x180014346
mov byte [rbp + 0x1f7], 1
lea r8, [0x180083b58]
xor ecx, ecx
xor edx, edx
call fcn.180082960
jmp 0x180014346
lea rax, [rbp + 0x48]
mov qword [rbp + 0x10], rax
lea rax, [0x180033130]
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x20], rax
lea rax, [fcn.180076df0]
mov qword [rbp + 0x28], rax
lea rax, str.should_be_unreachable__unknown_latent__
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], 2
mov qword [rbp + 0xc0], 0
lea rax, [rbp + 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 2
lea rdx, str.D:_apcodecpcodecpco_srcmode.rs
lea rcx, [rbp + 0xa0]
call fcn.180082810
jmp 0x180014346
lea r8, [0x180083b70]
mov rcx, r13
mov rdx, rsi
call fcn.180082dd0
jmp 0x180014346
lea r8, [0x180083b70]
mov rcx, rsi
call fcn.180082d50
jmp 0x180014346
mov ecx, 4
mov rdx, rsi
call fcn.180082720
jmp 0x180014346
mov ecx, 8
mov rdx, rsi
call fcn.180082720
jmp 0x180014346
mov ecx, 8
mov rdx, rsi
call fcn.180082720
jmp 0x180014346
mov byte [rbp + 0x1f6], 1
call fcn.18006c380
jmp 0x180014346
mov byte [rbp + 0x1f6], 1
mov ecx, 8
mov rdx, rsi
call fcn.180082720
ud2