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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
push 0x34
mov esi, eax
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov edi, eax
xor ebx, ebx
add esp, 4
cmp edi, ebx
je 0x100d3e04
mov word [edi + 0x29], bx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
fld dword [0x1013f730]
fst dword [edi]
mov dword [edi + 0x30], eax
fld dword [0x1013f548]
mov byte [edi + 0x2d], bl
fst dword [edi + 4]
mov byte [edi + 0x28], bl
fstp dword [edi + 0xc]
mov word [edi + 0x2b], 0x101
fstp dword [edi + 8]
fld dword [0x1013fd24]
fstp dword [edi + 0x18]
fld dword [0x10150f9c]
fstp dword [edi + 0x1c]
fld dword [0x10141280]
fstp dword [edi + 0x20]
fld dword [0x10140e10]
fstp dword [edi + 0x24]
jmp 0x100d3e06
xor edi, edi
mov dword [esi + 0x30d44], edi
xor eax, eax
mov dword [esi + 0x30d48], eax
mov dword [esi + 0x30d4c], eax
mov dword [esi + 0x30d50], eax
mov dword [esi + 0x30d54], eax
mov dword [esi + 0x30d58], eax
mov dword [esi + 0x30d5c], eax
mov dword [esi + 0x30d60], eax
mov dword [esi + 0x30d64], eax
mov dword [esi + 0x30d68], eax
mov dword [esi + 0x30d6c], eax
mov dword [esi + 0x30d70], eax
mov dword [esi + 0x30d74], eax
push 0x30d40
mov byte [0x1190acea], 0xff
mov dword [0x1190acec], ebx
push ebx
push 0x118d9f70
mov word [esi + 0x30d78], bx
mov dword [esi + 0x30d80], ebx
call sub.MSVCR100.dll_memset
push 0x100d2520
push 0x7da382
mov bl, 0xe8
call fcn.10110d60
push 0x100d2520
push 0x7e1bf7
call fcn.10110d60
push 0x100d1da0
push 0x7e6190
mov bl, 0xe9
call fcn.10110d60
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0x24
lea ecx, [ebp - 4]
push ecx
push 0x40
mov eax, 0x100d1de0
push 5
sub eax, 0x58b783
mov bl, 0xe8
xor edi, edi
push 0x58b77e
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], eax
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100d3f0c
mov edx, dword [ebp - 0x10]
mov cl, byte [ebp - 0xc]
mov eax, 0x58b77e
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 5
push 0x58b77e
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100d3f12
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 4]
push edx
push 0x40
mov ecx, 0x100d1de0
push 5
sub ecx, 0x5c7838
push 0x5c7833
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], ecx
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100d3f61
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x5c7833
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x5c7833
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100d3f67
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x100d1de0
push 5
sub edx, 0x5c7d76
push 0x5c7d71
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100d3fb6
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x5c7d71
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x5c7d71
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100d3fbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x100d1de0
push 5
sub edx, 0x5c7f20
push 0x5c7f1b
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100d400b
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x5c7f1b
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x5c7f1b
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100d4011
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x100d1de0
push 5
sub edx, 0x5c80c3
push 0x5c80be
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100d4060
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x5c80be
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x5c80be
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100d4066
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x100d1de0
push 5
sub edx, 0x7e22bf
push 0x7e22ba
mov byte [ebp - 0x10], bl
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100d40b5
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x7e22ba
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x7e22ba
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100d40bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret