Function at 0x10069070
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
push edi
push eax
push 0x40
push 5
mov edi, edx
mov dword [0x101e7208], 1
push 0x54659f
mov dword [ebp - 8], edi
mov ebx, ecx
call esi
mov eax, dword [0x100d4f4c]
mov ecx, 0x54659f
mov dword [ecx], eax
mov al, byte [0x100d4f50]
mov byte [ecx + 4], al
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push ecx
call esi
cmp byte [0x101e76a7], 0
mov eax, dword [0x101e720c]
je 0x100691c5
cmp eax, dword [0x101e7210]
jl 0x10069347
mov eax, dword [0x100e65c4]
cmp eax, 0xffff
je 0x100691dd
cmp eax, dword [edi]
jne 0x10069347
mov esi, dword [ebp + 0x10]
movsd xmm1, qword [0x100d6790]
movsd xmm0, qword [esi]
comisd xmm1, xmm0
jae 0x1006924d
cmp byte [ebx + 0x58], 0
jne 0x10069347
cmp dword [0x101ef13c], 0
jne 0x10069347
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov edx, dword [esi]
mov eax, edx
mov ecx, dword [edi]
shl eax, 8
add ecx, eax
cmp word [ecx + ecx + 0x8177d66], 0
je 0x100692ec
imul eax, edx, 0x202
cmp word [eax + 0x8177d64], 1
je 0x100692ec
cmp word [ecx + ecx + 0x8177d62], 0
je 0x1006917b
imul eax, edx, 0x1fe
mov ecx, 0x8177d64
sub ecx, eax
cmp word [ecx], 1
jne 0x10069347
mov al, byte [edi]
mov byte [ebx + 0x8c], al
mov al, dl
mov byte [ebx + 0x90], al
imul eax, dword [edi], 0x64
push 0x64
add eax, 0x32
movd xmm0, eax
imul eax, edx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [ebx + 0x37c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x380], xmm0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [edi]
dec edx
jmp 0x10069331
cmp eax, dword [0x101e7210]
jl 0x10069347
mov eax, dword [0x100e65c4]
cmp eax, 0xffff
jne 0x1006922c
mov edx, dword [edi]
mov eax, dword [0x101ef130]
imul ecx, edx, 0x2b8
cmp byte [ecx + eax + 4], 1
jne 0x10069347
cmp dword [0x101eefa8], 0
jne 0x1006921f
cmp dword [0x101ef1b4], 0
jne 0x1006921f
movzx eax, byte [ebx + 0x8c]
mov dword [0x101eefa8], eax
movzx eax, byte [ebx + 0x90]
mov dword [0x101ef1b4], eax
pop edi
pop esi
mov dword [0x100e65c4], edx
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, dword [edi]
jne 0x10069347
mov esi, dword [ebp + 0x10]
movsd xmm1, qword [0x100d6790]
movsd xmm0, qword [esi]
comisd xmm1, xmm0
jb 0x1006910e
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1006926c
mov eax, dword [ebp + 0xc]
mov ecx, ebx
mov edx, dword [ebp + 8]
push dword [eax]
mov edx, dword [edx]
dec edx
call fcn.1003ff40
add esp, 4
mov eax, dword [ebp - 8]
mov edi, dword [0x932b60]
push 1
mov eax, dword [eax]
mov dword [0x7c398c8], eax
mov dword [0x7c39870], eax
imul ecx, eax, 0x2b8
mov dword [0x932b60], eax
mov eax, dword [0x101ef130]
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
movsd xmm0, qword [0x100d6778]
add esp, 0xc
comisd xmm0, xmmword [esi]
mov dword [0x7c39870], 0
mov dword [0x932b60], edi
jb 0x100692db
mov eax, dword [ebp + 0xc]
mov ecx, ebx
push dword [eax]
mov eax, dword [ebp + 8]
mov edx, dword [eax]
call fcn.1003ff40
add esp, 4
pop edi
pop esi
mov dword [0x101e720c], 1
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edi]
mov byte [ebx + 0x8c], al
mov al, dl
mov byte [ebx + 0x90], al
imul eax, dword [edi], 0x64
push 0x64
add eax, 0x32
movd xmm0, eax
imul eax, edx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [ebx + 0x37c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x380], xmm0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [edi]
inc edx
push dword [esi]
mov ecx, ebx
call fcn.1003ff40
mov dword [0x101ef13c], 1
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret