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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x10042fd0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
push edi
cmp dword [0x77e3d8], esi
je 0x10020f6e
fild dword [ebp + 8]
mov edi, dword [ebp + 8]
mov dword [0x77e350], edi
mov dword [0x77e354], ebx
fdiv qword [0x1003d788]
fstp dword [0x78f5c8]
fild dword [ebp + 0xc]
fdiv qword [0x1003db50]
fstp dword [0x78f5cc]
cmp dword [0x77e3d8], esi
jne 0x10020d5e
call fcn.10020ba0
push esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
mov esi, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sar esi, 1
push 1
sub esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
mov edi, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
sar edi, 1
sub edi, eax
cmp dword [0x77e3d8], 0
mov eax, dword [0x7afee84]
jne 0x10020dd6
push 0x80000000
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [0x7afee84]
push 0x40008
push 0xffffffffffffffec
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0
push 0x80000000
lea edx, [ebp - 0x14]
push edx
jmp 0x10020def
push 0x2ca0000
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0
push 0x2ca0000
lea ecx, [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
mov ecx, dword [0x7afee84]
push 0x74
push edx
push eax
push edi
push esi
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
mov ecx, dword [0x7afee84]
push 1
push edx
push eax
push edi
push esi
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
call fcn.10001670
mov edx, 0x63b6c2
call edx
mov eax, 0x463272
call eax
mov esi, dword [ebp + 8]
mov ecx, 0x40760b
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], ebx
call ecx
mov edx, 0x4a92bd
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], ebx
call edx
mov edx, 0x4a930a
mov ecx, eax
call edx
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push 0x4215cb
call esi
lea ecx, [ebp - 0x18]
push ecx
mov byte [0x4215cb], 0x20
mov edx, dword [ebp - 0x18]
push edx
push 1
push 0x4215cb
call esi
mov ecx, dword [0x7afee34]
push 0xe
push 0xb4
add ecx, 4
mov eax, 0x4215b7
call eax
mov ecx, dword [0x7afee34]
push 0xe
push 0x32
add ecx, 0xf0
mov edx, 0x4215b7
call edx
mov ecx, dword [0x7afee38]
push 0xe
push 0x64
add ecx, 4
mov eax, 0x4215b7
call eax
mov ecx, dword [0x7afee38]
push 0xe
push 0x64
add ecx, 0xf0
mov edx, 0x4215b7
call edx
mov ecx, dword [0x7afee3c]
push 0xe
push 0x64
add ecx, 4
mov eax, 0x4215b7
call eax
mov ecx, dword [0x7afee3c]
push 0xe
push 0x64
add ecx, 0xf0
mov edx, 0x4215b7
call edx
mov ecx, dword [0x7afee40]
push 0x14
push 0xc8
mov eax, 0x4215b7
call eax
mov ecx, dword [0x7afee44]
push 0x14
push 0xc8
mov edx, 0x4215b7
call edx
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push 0x4215cb
call esi
lea ecx, [ebp - 0x18]
push ecx
mov byte [0x4215cb], 5
mov edx, dword [ebp - 0x18]
push edx
push 1
push 0x4215cb
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10036e30
mov esp, ebp
pop ebp
ret