Function at 0x10003d20
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1009e040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call fcn.10004790
mov eax, dword [0x1009f61c]
test eax, eax
je 0x10003e63
sub eax, 0x24e
je 0x10003d58
sub eax, 0x1c
je 0x10003d58
sub eax, 0x10
jne 0x10003e63
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x10a
push dword [0x1009f628]
call esi
push 0xfc
push dword [0x1009f628]
call esi
push 0x10c
push dword [0x1009f628]
call esi
push 0xfd
push dword [0x1009f628]
call esi
push 0x10d
push dword [0x1009f628]
call esi
push 0x109
push dword [0x1009f628]
call esi
push 0x120
push dword [0x1009f628]
call esi
push 0x119
push dword [0x1009f628]
mov dword [0x100a1634], eax
call esi
push 0x118
push dword [0x1009f628]
mov dword [0x100a1650], eax
call esi
push 0x126
push dword [0x1009f628]
mov dword [0x100a1638], eax
call esi
push 0x1a7
push dword [0x1009f628]
call esi
push 0x1d8
push dword [0x1009f628]
mov dword [0x100a1644], eax
call esi
push 0x191
push dword [0x1009f628]
mov dword [0x100a1640], eax
call esi
push 0x193
push dword [0x1009f628]
mov dword [0x100a163c], eax
call esi
push 0x195
push dword [0x1009f628]
mov dword [0x100a164c], eax
call esi
push 0x194
push dword [0x1009f628]
call esi
push 0x24e
push dword [0x1009f628]
call esi
mov dword [0x100a1648], eax
call fcn.1000fa30
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 0x30
push fcn.100049b0
call esi
mov ecx, fcn.100049b0
mov eax, 0x275
mov word [ecx + 0xc], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 0x30
push fcn.100049b0
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 0x30
push 0x100049d0
call esi
mov ecx, 0x100049d0
mov eax, 0x475
mov word [ecx + 0xc], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 0x30
push 0x100049d0
call esi
call fcn.10006c10
mov ecx, dword [0x1009f624]
test ecx, ecx
je 0x10004027
mov eax, dword [0x1009f61c]
mov edx, eax
sub edx, 0x24e
je 0x10003f34
sub edx, 0x1c
je 0x10003f2c
sub edx, 0x10
jne 0x10003f7d
lea eax, [ecx + 0x7f197c]
mov dword [0x100a160c], eax
lea esi, [ecx + 0x34f3a0]
lea eax, [ecx + 0x7f2a2a]
mov dword [0x100a1610], eax
lea eax, [ecx + 0x7f2b27]
mov dword [0x100a1614], eax
lea eax, [ecx + 0x7f2d92]
mov dword [0x100a1618], eax
jmp 0x10003f3a
lea esi, [ecx + 0x300710]
jmp 0x10003f3a
lea esi, [ecx + 0x301250]
xor edx, edx
mov dword [0x100a1604], esi
xor ecx, ecx
call esi
push 0x680010
mov dword [0x100a1608], eax
call fcn.100828b8
push 0x680010
mov esi, eax
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
mov dword [0x1009f634], esi
call fcn.1000b200
mov eax, dword [0x1009f61c]
mov ecx, dword [0x1009f624]
test ecx, ecx
je 0x10004027
sub eax, 0x24e
je 0x10003fee
sub eax, 0x1c
je 0x10003fc4
sub eax, 0x10
jne 0x10004027
lea eax, [ecx + 0x1d03d0]
mov dword [0x100a1518], eax
lea edx, [ecx + 0x2651d0]
lea eax, [ecx + 0x1d1410]
mov dword [0x100a1548], eax
lea eax, [ecx + 0x1d1550]
add ecx, 0x1da520
jmp 0x1000400c
lea eax, [ecx + 0x3bd4d0]
mov dword [0x100a1518], eax
lea edx, [ecx + 0x430c80]
lea eax, [ecx + 0x3bdef0]
mov dword [0x100a1548], eax
lea eax, [ecx + 0x3bdcb0]
add ecx, 0x3baa20
jmp 0x1000400c
mov dword [0x100a1518], ecx
lea eax, [ecx + 0x3be7f0]
mov dword [0x100a1548], ecx
lea edx, [ecx + 0x4317c0]
add ecx, 0x3bb560
mov dword [0x100a1544], ecx
mov dword [0x100a151c], edx
mov dword [0x100a1540], eax
mov dword [0x100a1554], 0x100a1520
call fcn.10008450
mov edx, dword [0x1009f61c]
mov ecx, dword [0x1009f624]
pop esi
test edx, edx
je 0x10004142
mov eax, edx
sub eax, 0x26a
je 0x1000406d
sub eax, 0x10
jne 0x1000408e
lea eax, [ecx + 0x95254c]
mov dword [0x100a16c0], eax
lea eax, [ecx + 0x434f0]
mov dword [0x100a16bc], eax
lea eax, [ecx + 0x43700]
jmp 0x10004089
lea eax, [ecx + 0x8784ac]
mov dword [0x100a16c0], eax
lea eax, [ecx + 0x477d30]
mov dword [0x100a16bc], eax
lea eax, [ecx + 0x4778f0]
mov dword [0x100a16c4], eax
mov dword [0x100a1658], 0x1001c0f0
mov dword [0x100a165c], 0x1001c100
mov dword [0x100a1660], 0x1001c110
mov dword [0x100a1664], 0x1001c120
mov dword [0x100a1668], 0x1001c140
mov dword [0x100a166c], 0x1001c160
mov dword [0x100a1670], 0x1001c180
mov dword [0x100a1674], 0x1001c1a0
mov dword [0x100a1678], 0x1001c1d0
mov dword [0x100a167c], 0x1001c200
mov dword [0x100a1680], 0x1001c230
mov dword [0x100a1684], 0x1001c260
mov dword [0x100a1688], 0x1001c2a0
mov dword [0x100a168c], 0x1001c2e0
mov dword [0x100a1690], 0x1001c320
mov dword [0x100a1694], 0x1001c360
mov dword [0x100a1698], 0x1001c3b0
mov dword [0x100a16b8], 0x1001be90
test ecx, ecx
je 0x10004195
sub edx, 0x24e
je 0x1000418a
sub edx, 0x1c
je 0x10004171
sub edx, 0x10
jne 0x10004195
lea eax, [ecx + 0x702c50]
mov dword [0x100a1630], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100828aa
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 0x737f00]
mov dword [0x100a1630], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100828aa
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 0x7386a0]
mov dword [0x100a1630], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100828aa
mov esp, ebp
pop ebp
ret