Function at 0x180015290
Capabilities:
Encode data using xor
Hash data with crc32
Link many functions at runtime

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
lea rbp, [rsp - 0x328]
sub rsp, 0x428
mov ebx, ecx
lea rcx, [rbp + 0x270]
call fcn.18006b3a0
mov r8, qword [rax]
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x1800152d7
cmp dword [rdx + 0x20], ebx
jae 0x1800152cb
mov rdx, qword [rdx + 0x10]
jmp 0x1800152d1
mov r8, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
je 0x1800152c0
cmp byte [r8 + 0x19], 0
jne 0x180015307
cmp ebx, dword [r8 + 0x20]
jb 0x180015307
mov rdx, rax
mov rcx, rax
call fcn.18006e6f0
lea rdx, [rbp + 0x340]
call fcn.18006b2c0
mov eax, dword [rax]
add rsp, 0x428
pop rbx
pop rbp
ret
mov qword [rsp + 0x420], rsi
mov rdx, rax
mov qword [rsp + 0x418], rdi
mov rcx, rax
mov qword [rsp + 0x410], r12
mov qword [rsp + 0x408], r13
mov qword [rsp + 0x400], r14
mov qword [rsp + 0x3f8], r15
movaps xmmword [rsp + 0x3e0], xmm6
movaps xmmword [rsp + 0x3d0], xmm7
call fcn.18006e6f0
call fcn.180011210
mov rcx, rax
mov qword [rbp + 0x1d0], rax
mov rbx, rax
call fcn.1800110f0
mov rsi, rax
mov qword [rbp + 0x1c8], rax
xor r13d, r13d
lea rdx, [rbp - 0x50]
mov qword [rbp + 0x358], r13
movabs rax, 0xec4db425902b326c
mov qword [rbp + 0x348], rax
movabs r12, 0x87bdcdb8cf403e36
mov rcx, qword [rbp + 0x348]
movabs rax, 0xe2da92d6a6215359
mov qword [rbp - 0x50], rcx
mov edi, r13d
mov qword [rbp + 0x348], rax
movabs rax, 0xb1c3a7a8a254bbab
mov rcx, qword [rbp + 0x348]
mov qword [rbp - 0x48], rcx
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp - 0x40], rax
movabs rax, 0xf6c417669a4a00f4
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp - 0x38], rax
movabs rax, 0x8812c455f3195e05
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x348], r12
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x108], rax
movabs rax, 0xd3aec2dbd135e4df
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x110], rax
movabs rax, 0xf6c41766e92f6998
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp + 0x100]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0x118], rax
pxor xmm1, xmmword [rbp + 0x110]
movdqa xmmword [rbp - 0x40], xmm1
mov dword [rbp + 0x350], r13d
movdqa xmmword [rbp - 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x358]
mov rcx, rbx
call rax
cmp qword [rbp + 0x358], rdi
jbe 0x18001685f
mov ebx, r13d
mov qword [rbp + 0x58], rbx
mov rax, qword [rsi + rbx*8]
movabs rcx, 0xe14db425902b326c
movabs rdx, 0xf3d8aae7aa275f5b
mov dword [rbp + 0x348], r13d
movabs r8, 0xb0f1b1a8b0598780
movabs r9, 0xf6c417669d411cf7
mov r15d, r13d
mov r14, qword [rax]
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0x70]
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x68], rax
mov qword [rsp + 0x30], r8
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x60], rax
mov qword [rsp + 0x30], r9
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x58], rax
movabs rax, 0x8812c455f3195e05
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xe0], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xe8], rax
movabs rax, 0xd3aec2dbd135e4df
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xf0], rax
movabs rax, 0xf6c41766e92f6998
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmm1, xmmword [rbp - 0x60]
pxor xmm0, xmmword [rbp + 0xe0]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0xf8], rax
pxor xmm1, xmmword [rbp + 0xf0]
movdqa xmmword [rbp - 0x60], xmm1
mov qword [rbp + 0x1c0], r14
movdqa xmmword [rbp - 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
test rax, rax
je 0x180016712
movabs rdi, 0x8812c455f3195e05
nop
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r13
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x60], r13
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180015610
lea rcx, [rsp + 0x48]
call fcn.1800071c0
movabs rax, 0x8812c4559f753a2b
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x70], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x78], rax
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x220], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x228], rax
mov rax, 0xffffffffffffffff
movdqa xmm0, xmmword [rbp + 0x220]
pxor xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x70], xmm0
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180015690
mov rsi, qword [rsp + 0x60]
lea rcx, [rsp + 0x48]
mov rdi, qword [rsp + 0x48]
lea r9, [rbp + 0x70]
mov rbx, qword [rsp + 0x58]
cmp rsi, 0x10
mov rdx, rbx
mov qword [rsp + 0x20], rax
cmovae rcx, rdi
xor r8d, r8d
call fcn.18006e840
cmp rbx, rax
jb 0x180016969
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp rsi, 0x10
lea rcx, [rsp + 0x48]
cmovae rcx, rdi
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x58], rbx
lea rdx, [rbp + 0x180]
movabs rcx, 0xf6c41766e92f6998
movabs rax, 0xe14db425902b326c
mov qword [rsp + 0x38], rax
movabs rdi, 0x8812c455f3195e05
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x180], rax
movabs rax, 0xf3d8aae7aa275f5b
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x188], rax
movabs rax, 0xd3aeb1a8b0598780
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x190], rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x198], rax
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x230], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x238], rax
movabs rax, 0xd3aec2dbd135e4df
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x38], rcx
mov qword [rbp + 0x240], rax
mov rax, qword [rsp + 0x38]
movdqa xmm0, xmmword [rbp + 0x180]
movdqa xmm1, xmmword [rbp + 0x190]
pxor xmm0, xmmword [rbp + 0x230]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0x248], rax
pxor xmm1, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0x190], xmm1
movdqa xmmword [rbp + 0x180], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r15d
mov rcx, r14
call rax
xorps xmm0, xmm0
mov qword [rsp + 0x38], rax
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r13
mov r8, 0xffffffffffffffff
mov r12, qword [rax + 0x10]
mov r14, qword [rax + 0x18]
mov qword [rbp + 0x158], r13
nop dword [rax]
inc r8
cmp byte [r14 + r8], 0
jne 0x180015850
mov rdx, r14
lea rcx, [rbp + 0x140]
call fcn.1800071c0
cmp qword [rbp + 0x150], 0
mov rdx, qword [rbp + 0x158]
sete bl
cmp rdx, 0x10
jb 0x1800158b5
mov rcx, qword [rbp + 0x140]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800158b0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001695c
call fcn.18011c650
xor r8d, r8d
mov qword [rbp + 0x158], 0xf
mov qword [rbp + 0x150], r8
movabs rcx, 0x87bdcdb8cf403e36
mov byte [rbp + 0x140], r8b
test bl, bl
je 0x180015b38
movabs rax, 0x8812c455f319643f
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x80], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x88], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x1e0], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0x80]
mov r15, qword [rsp + 0x58]
mov qword [rbp + 0x1e8], rax
lea rax, [rbp + 0x80]
pxor xmm0, xmmword [rbp + 0x1e0]
movdqa xmmword [rbp + 0x80], xmm0
nop dword [rax]
inc rbx
cmp byte [rax + rbx], r8b
jne 0x180015960
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, rbx
jb 0x180016975
cmp qword [rsp + 0x60], 0x10
lea r13, [rsp + 0x48]
lea r14, [rbx + r15]
mov qword [rbp], r8
cmovae r13, qword [rsp + 0x48]
lea rsi, [rbp - 0x10]
mov edi, 0xf
mov qword [rbp + 8], r8
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
cmp r14, rdi
jbe 0x180015a2f
mov rdi, r14
or rdi, 0xf
cmp rdi, rcx
jbe 0x1800159d3
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
jmp 0x1800159fa
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180015a19
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001696f
mov rcx, rax
call fcn.18011c294
test rax, rax
je 0x1800168ab
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180015a2b
test rcx, rcx
je 0x180015a28
call fcn.18011c294
mov rsi, rax
jmp 0x180015a2b
mov rsi, r8
mov qword [rbp - 0x10], rsi
mov r8, r15
mov qword [rbp], r14
mov rdx, r13
mov qword [rbp + 8], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r15]
mov r8, rbx
lea rdx, [rbp + 0x80]
call sub.VCRUNTIME140.dll_memcpy
mov r8, 0xffffffffffffffff
mov byte [rsi + r14], 0
inc r8
cmp byte [r12 + r8], 0
jne 0x180015a64
mov rdx, r12
lea rcx, [rbp - 0x10]
call fcn.18006b920
xor r14d, r14d
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov rdx, qword [rsp + 0x60]
movups xmmword [rbp + 0x290], xmm6
movups xmmword [rbp + 0x2a0], xmm7
cmp rdx, 0x10
jb 0x180015ade
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015ad9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168ab
call fcn.18011c650
mov rdx, qword [rbp + 8]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, 0x10
jb 0x180015b23
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015b1e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168ab
call fcn.18011c650
mov qword [rbp], r14
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], r14b
jmp 0x180015f9e
movabs rdx, 0x8812c455f319643f
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x30], rdx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rbp + 0x1f0], rax
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0xa0]
mov qword [rbp + 0x1f8], rax
pxor xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rsp + 0x30], rdx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x90], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x98], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x200], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp + 0x90]
mov rdx, qword [rsp + 0x58]
mov qword [rbp + 0x208], rax
lea rax, [rbp + 0x90]
pxor xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x90], xmm0
mov qword [rsp + 0x30], rdx
inc rbx
cmp byte [rax + rbx], r8b
jne 0x180015c12
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rdx
cmp rax, rbx
jb 0x180016963
cmp qword [rsp + 0x60], 0x10
lea r13, [rsp + 0x48]
lea r15, [rdx + rbx]
mov qword [rbp + 0x20], r8
cmovae r13, qword [rsp + 0x48]
lea rsi, [rbp + 0x10]
mov edi, 0xf
mov qword [rbp + 0x28], r8
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
cmp r15, rdi
jbe 0x180015cef
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x180015c89
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
jmp 0x180015cb0
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180015cd4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001697b
mov rcx, rax
call fcn.18011c294
test rax, rax
je 0x1800168b2
mov rdx, qword [rsp + 0x30]
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180015ceb
test rcx, rcx
je 0x180015ce8
call fcn.18011c294
mov rdx, qword [rsp + 0x30]
mov rsi, rax
jmp 0x180015ceb
mov rsi, r8
mov qword [rbp + 0x10], rsi
mov r8, rdx
mov qword [rbp + 0x20], r15
mov rdx, r13
mov qword [rbp + 0x28], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0x90]
add rcx, rsi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8, 0xffffffffffffffff
mov byte [rsi + r15], 0
nop dword [rax + rax]
inc r8
cmp byte [r14 + r8], 0
jne 0x180015d30
mov rdx, r14
lea rcx, [rbp + 0x10]
call fcn.18006b920
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r14
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x138], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x130], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
lea rax, [rbp + 0xa0]
inc r8
cmp byte [rax + r8], r14b
jne 0x180015d93
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x120]
call fcn.18006b920
mov qword [rbp - 0x20], r14
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x18], r14
mov rdi, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
inc rdi
cmp byte [r12 + rdi], r14b
jne 0x180015de3
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180015e2f
cmp rdx, 0x10
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x30]
mov qword [rbp - 0x20], rax
cmovae rbx, qword [rbp - 0x30]
mov r8, rdi
add rbx, rcx
mov rdx, r12
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbp - 0x30]
mov byte [rbx + rdi], r14b
jmp 0x180015e43
mov r9, r12
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.18006ebd0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov rdx, qword [rsp + 0x60]
movups xmmword [rbp + 0x2b0], xmm6
movups xmmword [rbp + 0x2c0], xmm7
cmp rdx, 0x10
jb 0x180015ea4
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015e9f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168b2
call fcn.18011c650
mov rdx, qword [rbp - 0x18]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, 0x10
jb 0x180015ee9
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015ee4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168b2
call fcn.18011c650
mov rdx, qword [rbp + 0x138]
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], r14b
cmp rdx, 0x10
jb 0x180015f3a
mov rcx, qword [rbp + 0x120]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015f35
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168b2
call fcn.18011c650
mov rdx, qword [rbp + 0x28]
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], 0xf
mov byte [rbp + 0x120], r14b
cmp rdx, 0x10
jb 0x180015f8e
mov rcx, qword [rbp + 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015f89
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168b2
call fcn.18011c650
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], r14b
mov qword [rbp + 0x50], r14
lea rdx, [rsp + 0x70]
movabs rax, 0xeb4db425902b326c
movabs rsi, 0xf6c41766e92f6998
mov qword [rsp + 0x30], rax
movabs rdi, 0x8812c455f3195e05
mov rax, qword [rsp + 0x30]
movabs r12, 0x87bdcdb8cf403e36
mov qword [rsp + 0x70], rax
movabs r13, 0xd3aec2dbd135e4df
movabs rax, 0xf3d8aae7bc335f5a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
movabs rax, 0xd3dda6b7b45c8280
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r12
mov qword [rbp + 0xc0], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xc8], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xd0], rax
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmmword [rbp - 0x80]
pxor xmm0, xmmword [rbp + 0xc0]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0xd8], rax
pxor xmm1, xmmword [rbp + 0xd0]
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsp + 0x38]
lea rdx, [rbp + 0x50]
call rax
mov qword [rsp + 0x30], rax
mov rbx, rax
test rax, rax
je 0x1800165a9
nop word [rax + rax]
movabs rax, 0xee4db425902b326c
lea rdx, [rbp + 0x1a0]
mov qword [rsp + 0x40], rax
movabs rax, 0xf3d8aae7ab2c5b5f
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0x1a0], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x1a8], rax
movabs rax, 0xd3aec2bebc548a80
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x1b0], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x1b8], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x250], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x258], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x260], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x1a0]
movdqa xmm1, xmmword [rbp + 0x1b0]
pxor xmm0, xmmword [rbp + 0x250]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0x268], rax
pxor xmm1, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x1b0], xmm1
movdqa xmmword [rbp + 0x1a0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov r15, rax
mov rbx, 0xffffffffffffffff
movabs rax, 0x8812c455f319643f
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0xb0], rcx
mov qword [rsp + 0x40], r12
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0xb8], rcx
mov qword [rsp + 0x40], rdi
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov r13, qword [rsp + 0x58]
mov qword [rbp + 0x218], rax
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x210], rcx
movdqa xmm0, xmmword [rbp + 0x210]
pxor xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0xb0], xmm0
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180016230
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, rbx
jb 0x180016987
cmp qword [rsp + 0x60], 0x10
lea r12, [rsp + 0x48]
mov qword [rbp + 0x40], r14
lea rsi, [rbp + 0x30]
cmovae r12, qword [rsp + 0x48]
mov edi, 0xf
mov qword [rbp + 0x48], r14
xorps xmm0, xmm0
lea r14, [rbx + r13]
movups xmmword [rbp + 0x30], xmm0
cmp r14, rdi
jbe 0x1800162fe
mov rdi, r14
or rdi, 0xf
cmp rdi, rcx
jbe 0x1800162a3
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
jmp 0x1800162ca
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1800162e9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180016981
mov rcx, rax
call fcn.18011c294
test rax, rax
je 0x1800168b9
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1800162fa
test rcx, rcx
je 0x1800162f8
call fcn.18011c294
mov rsi, rax
jmp 0x1800162fa
xor esi, esi
mov qword [rbp + 0x30], rsi
mov r8, r13
mov qword [rbp + 0x40], r14
mov rdx, r12
mov qword [rbp + 0x48], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r13]
mov r8, rbx
lea rdx, [rbp + 0xb0]
call sub.VCRUNTIME140.dll_memcpy
mov r8, 0xffffffffffffffff
mov byte [rsi + r14], 0
inc r8
cmp byte [r15 + r8], 0
jne 0x180016333
mov rdx, r15
lea rcx, [rbp + 0x30]
call fcn.18006b920
xor r14d, r14d
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov rdx, qword [rbp + 0x48]
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm1
cmp rdx, 0x10
jb 0x1800163ab
mov rcx, qword [rbp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800163a6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800168b9
call fcn.18011c650
mov rsi, qword [rbp + 0x178]
lea rax, [rbp + 0x160]
mov rdi, qword [rbp + 0x160]
cmp rsi, 0x10
mov qword [rbp + 0x40], r14
mov rcx, 0xffffffffffffffff
cmovae rax, rdi
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], r14b
nop
inc rcx
cmp byte [rax + rcx], r14b
jne 0x1800163e0
cmp rsi, 0x10
lea r8, [rbp + 0x160]
mov eax, 0xffffffff
cmovae r8, rdi
test ecx, ecx
je 0x180016433
mov r9d, ecx
lea rsi, [0x1801a05d0]
nop dword [rax + rax]
movsx edx, byte [r8]
lea r8, [r8 + 1]
mov ecx, eax
shr eax, 8
xor rdx, rcx
movzx ecx, dl
xor eax, dword [rsi + rcx*4]
sub r9, 1
jne 0x180016410
mov rsi, qword [rbp + 0x178]
not eax
cmp eax, dword [rbp + 0x340]
je 0x1800168c0
cmp rsi, 0x10
jb 0x180016478
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180016470
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001695c
mov rcx, rdi
call fcn.18011c650
mov qword [rbp + 0x170], r14
lea rdx, [rsp + 0x70]
mov qword [rbp + 0x178], 0xf
movabs rax, 0xeb4db425902b326c
mov byte [rbp + 0x160], r14b
movabs rsi, 0xf6c41766e92f6998
mov qword [rsp + 0x30], rax
movabs rdi, 0x8812c455f3195e05
mov rax, qword [rsp + 0x30]
movabs r12, 0x87bdcdb8cf403e36
mov qword [rsp + 0x70], rax
movabs r13, 0xd3aec2dbd135e4df
movabs rax, 0xf3d8aae7bc335f5a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
movabs rax, 0xd3dda6b7b45c8280
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r12
mov qword [rbp + 0xc0], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xc8], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xd0], rax
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmmword [rbp - 0x80]
pxor xmm0, xmmword [rbp + 0xc0]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0xd8], rax
pxor xmm1, xmmword [rbp + 0xd0]
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsp + 0x38]
lea rdx, [rbp + 0x50]
call rax
mov qword [rsp + 0x30], rax
mov rbx, rax
test rax, rax
jne 0x1800160c0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1800165e6
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800165e1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001695c
call fcn.18011c650
mov r15d, dword [rbp + 0x348]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x58], r14
movabs rax, 0xe14db425902b326c
mov qword [rsp + 0x60], 0xf
inc r15d
mov byte [rsp + 0x48], 0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x70], rax
movabs rax, 0xf3d8aae7aa275f5b
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x68], rax
movabs rax, 0xb0f1b1a8b0598780
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x60], rax
movabs rax, 0xf6c417669d411cf7
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r12
mov qword [rbp + 0xe0], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xe8], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xf0], rax
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmm1, xmmword [rbp - 0x60]
pxor xmm0, xmmword [rbp + 0xe0]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0xf8], rax
pxor xmm1, xmmword [rbp + 0xf0]
movdqa xmmword [rbp - 0x60], xmm1
mov dword [rbp + 0x348], r15d
movdqa xmmword [rbp - 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, qword [rbp + 0x1c0]
mov rcx, r14
call rax
movsxd rcx, r15d
mov r13d, 0
cmp rcx, rax
jb 0x1800155f0
mov rbx, qword [rbp + 0x58]
mov edi, dword [rbp + 0x350]
mov rsi, qword [rbp + 0x1c8]
mov qword [rbp + 0x358], r13
lea rdx, [rbp - 0x50]
movabs rax, 0xec4db425902b326c
inc edi
mov qword [rbp + 0x348], rax
inc rbx
mov rax, qword [rbp + 0x348]
mov qword [rbp - 0x50], rax
movabs rax, 0xe2da92d6a6215359
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp - 0x48], rax
movabs rax, 0xb1c3a7a8a254bbab
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp - 0x40], rax
movabs rax, 0xf6c417669a4a00f4
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp - 0x38], rax
movabs rax, 0x8812c455f3195e05
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x348], r12
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x108], rax
movabs rax, 0xd3aec2dbd135e4df
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x110], rax
movabs rax, 0xf6c41766e92f6998
mov qword [rbp + 0x348], rax
mov rax, qword [rbp + 0x348]
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp + 0x100]
mov rcx, qword [0x1803ceba0]
mov qword [rbp + 0x118], rax
pxor xmm1, xmmword [rbp + 0x110]
movdqa xmmword [rbp - 0x40], xmm1
mov dword [rbp + 0x350], edi
mov qword [rbp + 0x58], rbx
movdqa xmmword [rbp - 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x1d0]
lea rdx, [rbp + 0x358]
call rax
movsxd rax, edi
cmp rax, qword [rbp + 0x358]
jb 0x1800154c8
xor eax, eax
movaps xmm6, xmmword [rsp + 0x3e0]
mov r15, qword [rsp + 0x3f8]
mov r14, qword [rsp + 0x400]
mov r13, qword [rsp + 0x408]
mov r12, qword [rsp + 0x410]
mov rdi, qword [rsp + 0x418]
mov rsi, qword [rsp + 0x420]
movaps xmm7, xmmword [rsp + 0x3d0]
add rsp, 0x428
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [rsp + 0x30]
call fcn.180010fe0
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x60]
mov ebx, eax
lea rdx, [rbp + 0x280]
mov dword [rbp + 0x64], ebx
mov dword [rbp + 0x60], ecx
call fcn.18006cb30
cmp rsi, 0x10
jb 0x18001691b
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180016913
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001695c
mov rcx, rdi
call fcn.18011c650
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x180016954
mov rcx, qword [rsp + 0x48]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x18001694f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x18001695c
call fcn.18011c650
mov rax, rbx
jmp 0x180016861
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180006cd0
int3
call fcn.18006c5c0
int3
call fcn.180006c10
int3
call fcn.180006cd0
int3
call fcn.180006c10
int3
call fcn.180006c10
int3
call fcn.180006cd0
int3