Function at 0x18003ef80
Capabilities:
Access peb ldr_data
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
xor edi, edi
mov r15d, 1
cmp edx, r15d
jne 0x18003febc
movups xmm3, xmmword [str.bP__VZAdQA]
movups xmmword [rbp - 0x80], xmm3
movsd xmm0, qword [0x180189bd0]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x180189bd8]
mov dword [rbp - 0x68], eax
movzx eax, word [0x180189bdc]
mov word [rbp - 0x64], ax
mov r8d, edi
mov r14d, dword [0x1801a7090]
cmp r14d, 2
jl 0x18003f0e1
movdqa xmm4, xmmword [0x180193370]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1801930a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [str.00000000]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp - 0x80], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1801930a0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [str.00000000]
movq xmm0, qword [rbp - 0x78]
xorps xmm2, xmm0
movq qword [rbp - 0x78], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x80]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, r8w
sub ax, cx
add ax, 0x30
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xf
jl 0x18003f0f0
mov rax, qword gs:[0x60]
mov r10, qword [rax + 0x18]
add r10, 0x10
mov r9, qword [r10]
test r9, r9
je 0x18003f174
cmp r9, r10
je 0x18003f174
mov rax, qword [r9 + 0x60]
lea r8, [rbp - 0x80]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x18003f164
add rax, 2
test ecx, ecx
jne 0x18003f150
test edx, edx
je 0x18003f8f1
mov r9, qword [r9]
test r9, r9
jne 0x18003f140
call fcn.180099360
lea rsi, [rax - 0x40]
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
mov ebx, 0x1000
movabs r12, 0x7ffffffeffff
nop dword [rax + rax]
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x40]
test rax, rax
je 0x18003f1f6
cmp dword [rbp - 0x20], 0x1000
jne 0x18003f1f6
mov eax, dword [rbp - 0x1c]
cmp eax, r15d
je 0x18003f1f6
bt eax, 8
jb 0x18003f1f6
cmp eax, 4
jne 0x18003f1f6
lea rax, [rdx - 8]
add rax, rcx
cmp rbx, rax
jae 0x18003f1f6
cmp qword [rbx], rsi
je 0x18003f202
add rbx, 8
cmp rbx, rax
jb 0x18003f1e8
lea rbx, [rcx + rdx]
cmp rbx, r12
jb 0x18003f1a0
mov rbx, rdi
mov qword [0x1802b97d0], rbx
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov ecx, r15d
call fcn.1800b58d4
mov r9, rax
lea r8, [0x180188ee0]
lea rdx, str.CONOUT_
lea rcx, [rbp + 0x318]
call fcn.1800b8994
movsd xmm0, qword [0x180189c08]
movsd qword [rsp + 0x20], xmm0
movzx eax, word [0x180189c10]
mov word [rsp + 0x28], ax
cmp byte [0x180189c11], dil
je 0x18003f289
mov byte [rsp + 0x20], 0x6e
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor byte [rsp + 0x28], 0x38
xor byte [rsp + 0x29], 0x39
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movsxd rbx, dword [rax + 0x3c]
add rbx, rax
movups xmm0, xmmword [0x180189708]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [0x180189718]
movups xmmword [rbp + 0x28], xmm1
movups xmm0, xmmword [0x180189728]
movups xmmword [rbp + 0x38], xmm0
movsd xmm0, qword [str.XXBVTEWW0]
movsd qword [rbp + 0x48], xmm0
movzx eax, byte [0x180189740]
mov byte [rbp + 0x50], al
mov r8d, edi
cmp r14d, 2
jl 0x18003f41d
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp + 0x1c]
mov edx, dword [rsp + 0x30]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x18003f310
cmp r8d, 0x39
jge 0x18003f463
movsxd rax, r8d
lea r9, [rbp + 0x18]
add r9, rax
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x39
jl 0x18003f430
mov ebx, dword [rbx + 0x1c]
lea rcx, [0x180188eb8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea r8, [rbp + 0x18]
mov edx, ebx
mov rcx, rax
call fcn.180099010
mov qword [0x1802bc400], rax
test rax, rax
jne 0x18003f6c2
lea rcx, [rbp + 0x17b]
lea rax, [0x180189c30]
mov edx, 2
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, r15
jne 0x18003f4b0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, byte [rax + 0x30]
mov byte [rcx + 0x30], al
mov r8d, edi
cmp r14d, 2
jl 0x18003f673
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp + 0x17f]
mov edx, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003f560
cmp r8d, 0x131
jge 0x18003f6b6
movsxd rax, r8d
lea r9, [rbp + 0x17b]
add r9, rax
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x131
jl 0x18003f680
lea rcx, [rbp + 0x17b]
call fcn.1800b4f44
movups xmm0, xmmword [str.bP__VZAdQAe]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [0x1801898c8]
movups xmmword [rbp], xmm1
movsd xmm0, qword [str._9C]
movsd qword [rbp + 0x10], xmm0
mov r8d, edi
cmp r14d, 2
jl 0x18003f817
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm7, xmmword [str.00000000]
lea rcx, [rbp - 0x10]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x10
jl 0x18003f720
cmp r8d, 0x14
jge 0x18003f867
movsxd rax, r8d
lea r9, [rbp - 0x10]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, r8w
sub ax, cx
add ax, 0x30
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x14
jl 0x18003f830
mov rax, qword gs:[0x60]
mov r10, qword [rax + 0x18]
add r10, 0x10
mov r9, qword [r10]
test r9, r9
je 0x18003f8b4
cmp r9, r10
je 0x18003f8b4
mov rax, qword [r9 + 0x60]
lea r8, [rbp - 0x10]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x18003f8a4
add rax, 2
test ecx, ecx
jne 0x18003f890
test edx, edx
je 0x18003fb43
mov r9, qword [r9]
test r9, r9
jne 0x18003f880
mov rcx, rdi
mov qword [0x1802b9c20], rcx
movsxd rax, dword [rcx + 0x3c]
mov ecx, dword [rax + rcx + 0x1c]
mov dword [0x1802b9c28], ecx
mov rbx, rdi
xor eax, eax
lock cmpxchg dword [0x1802b974c], r15d
je 0x18003fb69
cmp rbx, 0x20
jae 0x18003fb4c
xor ecx, ecx
jmp 0x18003fb4f
cmp qword [r9 + 0x30], rdi
je 0x18003f174
lea rdx, [rbp + 0x80]
lea rcx, [0x1801894d0]
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rcx]
movups xmmword [rdx], xmm1
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm0
movups xmm1, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm1
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm0
movups xmm1, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm1
movups xmm0, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm0
movups xmm1, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm1
mov rax, qword [rcx + 0x70]
mov qword [rdx + 0x70], rax
movzx eax, word [rcx + 0x78]
mov word [rdx + 0x78], ax
movzx eax, byte [rcx + 0x7a]
mov byte [rdx + 0x7a], al
cmp r14d, 2
jl 0x18003faef
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp + 0x84]
mov edx, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
mov eax, edi
lea rcx, [rcx + 8]
cmp edi, 0xf8
jl 0x18003f9e0
cmp eax, 0xfb
jge 0x18003fb32
movsxd rax, edi
lea r8, [rbp + 0x80]
add r8, rax
nop dword [rax]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, dil
sub al, cl
add al, 0x30
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xfb
jl 0x18003fb00
lea rcx, [rbp + 0x80]
call fcn.1800b4f44
jmp 0x18003febc
mov rcx, qword [r9 + 0x30]
jmp 0x18003f8b7
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1802b974c], r15d
jne 0x18003f8e0
cmp qword [0x1802b9750], rdi
jne 0x18003fb86
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [0x1802b9750], rax
mov eax, edi
xchg dword [0x1802b974c], eax
lea r8, [0x1802b97e8]
lea rdx, [0x18003e040]
mov rcx, qword [sym.imp.KERNEL32.dll_WriteFile]
call fcn.18002ce10
mov edx, r15d
mov rcx, qword [sym.imp.KERNEL32.dll_WriteFile]
call fcn.18002d290
movups xmm0, xmmword [str.s_vnWQWCPU_v_f]
movups xmmword [rsp + 0x40], xmm0
movzx eax, word [0x18018a018]
mov word [rsp + 0x50], ax
movzx eax, byte [0x18018a01a]
mov byte [rsp + 0x52], al
mov r8d, edi
cmp r14d, 2
jl 0x18003fd2d
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x44]
mov edx, dword [rsp + 0x30]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x18003fc20
cmp r8d, 0x13
jge 0x18003fd73
movsxd rax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x18003fd40
lea rax, [rsp + 0x40]
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rax + rbx], dil
jne 0x18003fd80
call fcn.1800ac860
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rbx
lea r8, [rsp + 0x60]
mov edx, eax
lea rcx, [rbp - 0x60]
call fcn.18003e590
nop
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rcx, qword [rbp - 0x60]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x60]
call fcn.1800ac99c
mov edx, eax
test eax, eax
jne 0x18003fe0e
mov r8d, dword [rbp + 0x70]
bt r8d, 0xa
jae 0x18003fdff
mov eax, dword [rbp + 0x74]
cmp eax, 0xa000000c
jne 0x18003fdf1
lea edi, [rdx + 4]
jmp 0x18003fe2d
cmp eax, 0xa0000003
jne 0x18003fdff
mov edi, 0xa
jmp 0x18003fe2d
movzx edi, r8b
and edi, 0x10
or edi, 0x20
shr edi, 4
jmp 0x18003fe2d
mov dword [rsp + 0x64], 0xffff
sub eax, 2
je 0x18003fe2a
sub eax, 1
je 0x18003fe2a
sub eax, 0x32
je 0x18003fe2a
cmp eax, 0x46
jne 0x18003fe2d
mov edi, r15d
mov dword [rsp + 0x70], edx
lea rax, [0x18021c5a0]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
test edi, edi
je 0x18003fee5
cmp edi, 1
setne bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x18003fe92
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003fe8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fef0
call fcn.1800ae058
test bl, bl
je 0x18003fe9d
mov byte [0x1802b9d8c], 1
lea rcx, [rbp + 0x58]
call fcn.180030b70
mov rcx, qword [rax]
mov qword [0x1802b9990], rcx
xor ecx, ecx
call fcn.18002d470
call fcn.18003ae50
mov eax, r15d
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
xor bl, bl
test edx, edx
jne 0x18003fef6
jmp 0x18003fe56
call fcn.1800b4ecc
nop
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x70]
call fcn.18003ef20
int3