Function at 0x180005360
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Get common file path
Persist via windows service
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
mov eax, 0x1770
call fcn.1800184b0
sub rsp, rax
mov rax, qword [0x180d980c0]
xor rax, rsp
mov qword [rsp + 0x1760], rax
xor ebx, ebx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x3d0]
call fcn.180031870
mov edx, 0x104
lea rcx, [rsp + 0x3d0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xorps xmm0, xmm0
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rbx
mov r8d, 3
lea rcx, [rsp + 0x130]
movups xmmword [rsp + 0x130], xmm0
cmp eax, r8d
lea rdx, [rsp + 0x3d0]
jae 0x1800053f7
lea rdx, [0x18005a660]
call fcn.18000ae70
nop
lea rax, [0x18005a888]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x13
lea rax, [rsp + 0x130]
cmp qword [rsp + 0x148], 7
cmova rax, qword [rsp + 0x130]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rsp + 0x60], xmm0
movabs rdi, 0xc000000000000000
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x100], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x108], rax
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1e8]
call fcn.18000c210
nop
lea rax, [0x18005a978]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x12
lea rax, [rsp + 0x130]
cmp qword [rsp + 0x148], 7
cmova rax, qword [rsp + 0x130]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x110]
call fcn.18000c210
nop
lea rax, [0x18005a9a0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0xa
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x158]
call fcn.18000c210
nop
lea rax, [0x18005a9b8]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0xc
lea rax, [rsp + 0x158]
cmp qword [rsp + 0x170], 7
cmova rax, qword [rsp + 0x158]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1c8]
call fcn.18000c210
nop
lea rdx, [rsp + 0x1c8]
cmp qword [rsp + 0x1e0], 7
cmova rdx, qword [rsp + 0x1c8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, qword [rsp + 0x1d8]
lea rcx, [rsp + 0x58]
call fcn.18000ae70
nop
lea rcx, [rsp + 0x58]
call fcn.180004340
movzx esi, al
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180005706
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005701
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cb1
call fcn.1800179a0
test sil, sil
je 0x180005913
lea rcx, [rsp + 0x130]
call fcn.180004fe0
nop
mov rdx, qword [rsp + 0x1e0]
cmp rdx, 7
jbe 0x180005765
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005760
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cb7
call fcn.1800179a0
mov qword [rsp + 0x1d8], rbx
mov qword [rsp + 0x1e0], 7
mov word [rsp + 0x1c8], bx
mov rdx, qword [rsp + 0x170]
cmp rdx, 7
jbe 0x1800057c9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x158]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800057c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cbd
call fcn.1800179a0
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x170], 7
mov word [rsp + 0x158], bx
mov rdx, qword [rsp + 0x128]
cmp rdx, 7
jbe 0x18000582d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005828
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cc3
call fcn.1800179a0
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], 7
mov word [rsp + 0x110], bx
mov rdx, qword [rsp + 0x200]
cmp rdx, 7
jbe 0x180005891
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000588c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cc9
call fcn.1800179a0
movdqa xmm0, xmmword [0x180d91210]
movdqu xmmword [rsp + 0x1f8], xmm0
mov word [rsp + 0x1e8], bx
mov rdx, qword [rsp + 0x148]
cmp rdx, 7
jbe 0x1800058f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800058ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006ccf
call fcn.1800179a0
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], 7
mov word [rsp + 0x130], bx
jmp 0x180006c87
jmp 0x180005921
mov dword [rsp + 0x150], ebx
mov qword [rsp + 0x100], rbx
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
lea rdx, [0x18005a740]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x18000599f
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, [0x18005a7b0]
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
movups xmmword [rsp + 0x178], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x188], xmm1
mov r8d, 0x9a
lea rdx, [0x18005a9e0]
lea rcx, [rsp + 0x178]
call fcn.18000ae70
nop
mov edx, 0x2710
lea rcx, [rsp + 0x178]
call fcn.1800045d0
nop
mov rdx, qword [rsp + 0x190]
cmp rdx, 7
jbe 0x180005a2c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x178]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005a27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cd5
call fcn.1800179a0
mov qword [rsp + 0x100], 3
lea rcx, [rsp + 0x100]
call fcn.18000aaa0
nop
lea rdx, [rsp + 0x158]
cmp qword [rsp + 0x170], 7
cmova rdx, qword [rsp + 0x158]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, qword [rsp + 0x168]
lea rcx, [rsp + 0x58]
call fcn.18000ae70
nop
lea rcx, [rsp + 0x58]
call fcn.180004340
movzx esi, al
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180005ad4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005acf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cdb
call fcn.1800179a0
test sil, sil
jne 0x180005b0a
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x178]
call fcn.18000a880
nop
lea rcx, [rsp + 0x178]
call fcn.180004490
nop
lea rcx, [rsp + 0x178]
call fcn.180003b60
mov r8d, 0x190
lea rdx, [0x180d8e2b0]
lea rcx, [rsp + 0x1c8]
call fcn.1800047c0
nop
jmp 0x180005b33
lea rax, [0x18005ab18]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0xe
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x3a8]
call fcn.18000c210
nop
lea rax, [0x18005ab38]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0xc
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x388]
call fcn.18000c210
nop
lea rax, [0x18005ab58]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x16
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x368]
call fcn.18000c210
nop
lea rax, [0x18005ab88]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x11
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x348]
call fcn.18000c210
nop
lea rax, [0x18005abb0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x10
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x328]
call fcn.18000c210
nop
lea rax, [0x18005abd8]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0xc
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x308]
call fcn.18000c210
nop
lea rax, [0x18005abf8]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x13
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2e8]
call fcn.18000c210
nop
lea rax, [0x18005ac20]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x16
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2c8]
call fcn.18000c210
nop
lea rax, [0x18005ac50]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x10
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x248]
call fcn.18000c210
nop
lea rax, [0x18005ac78]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0x14
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x228]
call fcn.18000c210
nop
call fcn.180016a0c
mov dword [rsp + 0x1754], 0xffffffff
mov dword [rsp + 0x3d4], eax
mov edx, 1
nop dword [rax]
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x3d4], eax
inc rdx
cmp rdx, 0x270
jb 0x180006160
mov dword [rsp + 0x3d0], 0x270
lea rcx, [rsp + 0x3d0]
call fcn.18000daa0
mov ecx, eax
imul rax, rcx, 0xdbba0
cmp eax, 0x28d7f
ja 0x1800061cd
nop word [rax + rax]
lea rcx, [rsp + 0x3d0]
call fcn.18000daa0
mov ecx, eax
imul rax, rcx, 0xdbba0
cmp eax, 0x28d80
jb 0x1800061b0
shr rax, 0x20
add eax, 0x800186a0
btc eax, 0x1f
lea rcx, [0x18005a718]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 3
mov dword [rsp + 0x38], eax
movabs rax, 0x1000000000000000
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x100], 1
lea rax, [rsp + 0x30]
mov qword [rsp + 0x108], rax
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x100], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1a8]
call fcn.18000c210
nop
lea rax, [0x18005aca8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 6
lea rax, [rsp + 0x1a8]
cmp qword [rsp + 0x1c0], 7
cmova rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x268]
call fcn.18000c210
nop
lea rax, [0x18005acb8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 5
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x188], xmm0
mov qword [rsp + 0x178], rdi
lea rax, [rsp + 0x268]
cmp qword [rsp + 0x280], 7
cmova rax, qword [rsp + 0x268]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x198], xmm0
movabs r14, 0xc000000000000010
mov qword [rsp + 0x180], r14
mov qword [rsp + 0x40], 2
lea rax, [rsp + 0x178]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x208]
call fcn.18000c210
nop
lea rax, [0x18005acc8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x13
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x288]
call fcn.18000c210
nop
mov r8d, 0x89000
lea rdx, [0x180952cb0]
lea rcx, [rsp + 0x3a8]
call fcn.1800047c0
mov r8d, 0x16200
lea rdx, [0x180aac2b0]
lea rcx, [rsp + 0x388]
call fcn.1800047c0
mov r8d, 0x477c00
lea rdx, [0x1802b38b0]
lea rcx, [rsp + 0x368]
call fcn.1800047c0
mov r8d, 0x1c3ee9
lea rdx, [0x18005b3f0]
lea rcx, [rsp + 0x348]
call fcn.1800047c0
mov r8d, 0x74279
lea rdx, [0x18023f630]
lea rcx, [rsp + 0x328]
call fcn.1800047c0
mov r8d, 0xc7c00
lea rdx, [0x180c768b0]
lea rcx, [rsp + 0x2e8]
call fcn.1800047c0
mov r8d, 0xce00
lea rdx, [0x180a9f4b0]
lea rcx, [rsp + 0x2c8]
call fcn.1800047c0
mov r8d, 0x75c00
lea rdx, [0x1809dbcb0]
lea rcx, [rsp + 0x288]
call fcn.1800047c0
lea rcx, [0x18005a7d8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x18000653f
mov al, 1
jmp 0x180006598
lea rdx, [0x18005a7f0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
jne 0x18000655b
mov al, 1
jmp 0x180006598
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x3d4]
call fcn.180031870
mov dword [rsp + 0x3d0], 0x114
lea rcx, [rsp + 0x3d0]
call rsi
test eax, eax
je 0x18000658d
xor al, al
jmp 0x180006598
cmp dword [rsp + 0x3d4], 0xa
setb al
mov ecx, 0x4fe00
mov r8d, 0x4dc00
test al, al
cmove r8d, ecx
lea rcx, [0x180d3e4b0]
lea rdx, [0x180a518b0]
cmove rdx, rcx
lea rcx, [rsp + 0x308]
call fcn.1800047c0
lea rdx, [rsp + 0x248]
cmp qword [rsp + 0x260], 7
cmova rdx, qword [rsp + 0x248]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, qword [rsp + 0x258]
lea rcx, [rsp + 0x58]
call fcn.18000ae70
nop
lea rcx, [rsp + 0x58]
call fcn.180004340
movzx esi, al
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180006656
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006651
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006ce1
call fcn.1800179a0
test sil, sil
jne 0x180006675
mov r8d, 0x1b4400
lea rdx, [0x180ac24b0]
lea rcx, [rsp + 0x248]
call fcn.1800047c0
lea rdx, [rsp + 0x228]
cmp qword [rsp + 0x240], 7
cmova rdx, qword [rsp + 0x228]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, qword [rsp + 0x238]
lea rcx, [rsp + 0x58]
call fcn.18000ae70
nop
lea rcx, [rsp + 0x58]
call fcn.180004340
movzx esi, al
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x180006703
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800066fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006ce7
call fcn.1800179a0
test sil, sil
jne 0x180006722
mov r8d, 0x20350
lea rdx, [0x18021f2e0]
lea rcx, [rsp + 0x228]
call fcn.1800047c0
mov r8d, 0x227800
lea rdx, [0x18072b4b0]
lea rcx, [rsp + 0x208]
call fcn.1800047c0
lea rcx, [rsp + 0x1a8]
call fcn.180004a20
lea rax, [0x18005acf0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xc3
lea rax, [rsp + 0x1a8]
mov r8, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1c0]
cmp rdx, 7
cmova rax, r8
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x1b8]
mov qword [rsp + 0x48], rcx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0x80], rdi
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0x88], r14
lea rax, [rsp + 0x1a8]
cmp rdx, 7
cmova rax, r8
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0xc8], xmm0
movabs rax, 0xc000000000000020
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x208]
cmp qword [rsp + 0x220], 7
cmova rax, qword [rsp + 0x208]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0xd8], xmm0
movabs rax, 0xc000000000000030
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x1a8]
cmp rdx, 7
cmova rax, r8
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0xe8], xmm0
movabs rax, 0xc000000000000040
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x40], 5
lea rax, [rsp + 0x80]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2a8]
call fcn.18000c210
nop
mov edx, 0x2710
lea rcx, [rsp + 0x2a8]
call fcn.1800045d0
xor sil, sil
mov byte [rsp + 0x50], sil
lea rax, [0x18005ae78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xc
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 7
cmova rax, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x178]
call fcn.18000c210
nop
lea rdx, [rsp + 0x178]
cmp qword [rsp + 0x190], 7
cmova rdx, qword [rsp + 0x178]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, qword [rsp + 0x188]
lea rcx, [rsp + 0x58]
call fcn.18000ae70
nop
lea rcx, [rsp + 0x58]
call fcn.180004340
movzx edi, al
lea rcx, [rsp + 0x58]
call fcn.180003b60
test dil, dil
je 0x180006a1e
mov sil, 1
mov byte [rsp + 0x50], sil
lea rdx, [rsp + 0x178]
lea rcx, [rsp + 0x58]
call fcn.18000a880
nop
lea rcx, [rsp + 0x58]
call fcn.180004440
nop
lea rcx, [rsp + 0x58]
call fcn.180003b60
nop
lea rcx, [rsp + 0x178]
call fcn.180003b60
nop
jmp 0x180006a35
test sil, sil
jne 0x180006a82
lea rax, [0x18005ae98]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0xd
lea r8, [rsp + 0x288]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x178]
call fcn.18000aa20
nop
xor edx, edx
mov rcx, rax
call fcn.1800045d0
nop
lea rcx, [rsp + 0x178]
call fcn.180003b60
lea rcx, [rsp + 0x130]
call fcn.180004fe0
nop
lea rcx, [rsp + 0x2a8]
call fcn.180003b60
nop
lea rcx, [rsp + 0x288]
call fcn.180003b60
nop
lea rcx, [rsp + 0x208]
call fcn.180003b60
nop
lea rcx, [rsp + 0x268]
call fcn.180003b60
nop
lea rcx, [rsp + 0x1a8]
call fcn.180003b60
nop
lea rcx, [rsp + 0x228]
call fcn.180003b60
nop
lea rcx, [rsp + 0x248]
call fcn.180003b60
nop
lea rcx, [rsp + 0x2c8]
call fcn.180003b60
nop
lea rcx, [rsp + 0x2e8]
call fcn.180003b60
nop
lea rcx, [rsp + 0x308]
call fcn.180003b60
nop
lea rcx, [rsp + 0x328]
call fcn.180003b60
nop
lea rcx, [rsp + 0x348]
call fcn.180003b60
nop
lea rcx, [rsp + 0x368]
call fcn.180003b60
nop
lea rcx, [rsp + 0x388]
call fcn.180003b60
nop
lea rcx, [rsp + 0x3a8]
call fcn.180003b60
nop
lea rcx, [rsp + 0x1c8]
call fcn.180003b60
nop
lea rcx, [rsp + 0x158]
call fcn.180003b60
nop
mov rdx, qword [rsp + 0x128]
cmp rdx, 7
jbe 0x180006bc6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006bc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006ced
call fcn.1800179a0
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], 7
mov word [rsp + 0x110], bx
mov rdx, qword [rsp + 0x200]
cmp rdx, 7
jbe 0x180006c2a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006c25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cf3
call fcn.1800179a0
movdqa xmm0, xmmword [0x180d91210]
movdqu xmmword [rsp + 0x1f8], xmm0
mov word [rsp + 0x1e8], bx
mov rdx, qword [rsp + 0x148]
cmp rdx, 7
jbe 0x180006c87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006c82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006cf9
call fcn.1800179a0
mov rcx, qword [rsp + 0x1760]
xor rcx, rsp
call fcn.180017980
lea r11, [rsp + 0x1770]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop r14
ret
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
int3
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
nop
call fcn.18001f438
int3