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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x100d3080]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x100d5e5c], 0
push esi
push edi
jne 0x1000613b
mov esi, dword [0x100d5f84]
push ecx
lea ecx, [esi + 0x68ee30]
call fcn.1005eb60
lea ecx, [esi + 0x68ee30]
call fcn.1005ee00
push ecx
mov eax, esp
push ecx
mov esi, esp
lea ecx, [ebp - 8]
mov dword [eax], 0x10005be0
mov eax, dword [0x100d5f84]
add eax, 0x824008
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
lea ecx, [ebp - 8]
mov eax, dword [eax]
mov dword [esi], eax
call fcn.10003a80
add esp, 4
mov eax, esp
push ecx
mov dword [eax], 0x10005c00
lea ecx, [ebp - 8]
mov eax, dword [0x100d5f84]
mov esi, esp
add eax, 0x9a01f0
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
lea ecx, [ebp - 8]
mov eax, dword [eax]
mov dword [esi], eax
call fcn.10003a80
mov ecx, dword [0x100d4274]
add esp, 8
test ecx, ecx
je 0x10005e17
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
cmp eax, edx
jae 0x10005d0e
mov dword [ecx + eax*4], 0x100d4070
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005d38
mov dword [ecx + eax*4], 0x100d4210
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005d62
mov dword [ecx + eax*4], 0x100d4160
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005d8c
mov dword [ecx + eax*4], 0x100d4090
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005db6
mov dword [ecx + eax*4], 0x100d4690
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005ddc
mov dword [ecx + eax*4], 0x100d45e0
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005e02
mov dword [ecx + eax*4], 0x100d41a8
mov eax, dword [0x100d4278]
mov edx, dword [0x100d427c]
inc eax
mov ecx, dword [0x100d4274]
mov dword [0x100d4278], eax
test ecx, ecx
je 0x10005e17
cmp eax, edx
jae 0x10005e17
mov dword [ecx + eax*4], 0x100d4250
inc dword [0x100d4278]
mov ecx, dword [0x100d3e44]
test ecx, ecx
je 0x10005f07
mov eax, dword [0x100d3e48]
mov edx, dword [0x100d3e4c]
cmp eax, edx
jae 0x10005e52
mov dword [ecx + eax*4], 0x100d3d4c
mov eax, dword [0x100d3e48]
mov edx, dword [0x100d3e4c]
inc eax
mov ecx, dword [0x100d3e44]
mov dword [0x100d3e48], eax
test ecx, ecx
je 0x10005f07
cmp eax, edx
jae 0x10005e7c
mov dword [ecx + eax*4], 0x100d4050
mov eax, dword [0x100d3e48]
mov edx, dword [0x100d3e4c]
inc eax
mov ecx, dword [0x100d3e44]
mov dword [0x100d3e48], eax
test ecx, ecx
je 0x10005f07
cmp eax, edx
jae 0x10005ea6
mov dword [ecx + eax*4], 0x100d3d6c
mov eax, dword [0x100d3e48]
mov edx, dword [0x100d3e4c]
inc eax
mov ecx, dword [0x100d3e44]
mov dword [0x100d3e48], eax
test ecx, ecx
je 0x10005f07
cmp eax, edx
jae 0x10005ecc
mov dword [ecx + eax*4], 0x100d41c8
mov eax, dword [0x100d3e48]
mov edx, dword [0x100d3e4c]
inc eax
mov ecx, dword [0x100d3e44]
mov dword [0x100d3e48], eax
test ecx, ecx
je 0x10005f07
cmp eax, edx
jae 0x10005ef2
mov dword [ecx + eax*4], 0x100d4648
mov eax, dword [0x100d3e48]
mov edx, dword [0x100d3e4c]
inc eax
mov ecx, dword [0x100d3e44]
mov dword [0x100d3e48], eax
test ecx, ecx
je 0x10005f07
cmp eax, edx
jae 0x10005f07
mov dword [ecx + eax*4], 0x100d4230
inc dword [0x100d3e48]
mov ecx, dword [0x100d44d4]
test ecx, ecx
je 0x10005fcd
mov eax, dword [0x100d44d8]
mov edx, dword [0x100d44dc]
cmp eax, edx
jae 0x10005f42
mov dword [ecx + eax*4], 0x100d4480
mov eax, dword [0x100d44d8]
mov edx, dword [0x100d44dc]
inc eax
mov ecx, dword [0x100d44d4]
mov dword [0x100d44d8], eax
test ecx, ecx
je 0x10005fcd
cmp eax, edx
jae 0x10005f6c
mov dword [ecx + eax*4], 0x100d41e8
mov eax, dword [0x100d44d8]
mov edx, dword [0x100d44dc]
inc eax
mov ecx, dword [0x100d44d4]
mov dword [0x100d44d8], eax
test ecx, ecx
je 0x10005fcd
cmp eax, edx
jae 0x10005f92
mov dword [ecx + eax*4], 0x100d4180
mov eax, dword [0x100d44d8]
mov edx, dword [0x100d44dc]
inc eax
mov ecx, dword [0x100d44d4]
mov dword [0x100d44d8], eax
test ecx, ecx
je 0x10005fcd
cmp eax, edx
jae 0x10005fb8
mov dword [ecx + eax*4], 0x100d4620
mov eax, dword [0x100d44d8]
mov edx, dword [0x100d44dc]
inc eax
mov ecx, dword [0x100d44d4]
mov dword [0x100d44d8], eax
test ecx, ecx
je 0x10005fcd
cmp eax, edx
jae 0x10005fcd
mov dword [ecx + eax*4], 0x100d44a8
inc dword [0x100d44d8]
mov ecx, dword [0x100d5fdc]
mov dword [0x100d41a4], 0x10006150
mov dword [ebp - 8], 0x10006290
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10005ff8
mov dword [eax], 0x10006290
add dword [ecx + 4], 4
jmp 0x10006002
lea edx, [ebp - 8]
push edx
push eax
call fcn.1000cc10
mov ecx, dword [0x100d5fdc]
mov dword [ebp - 8], 0x10006370
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10006023
mov dword [eax], 0x10006370
add dword [ecx + 4], 4
jmp 0x1000602d
lea edx, [ebp - 8]
push edx
push eax
call fcn.1000cc10
mov ecx, dword [0x100d6038]
mov dword [ebp - 8], 0x10006930
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1000604e
mov dword [eax], 0x10006930
add dword [ecx + 4], 4
jmp 0x10006058
lea edx, [ebp - 8]
push edx
push eax
call fcn.1000cc10
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x81b440
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 6
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 6
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov ecx, dword [esi]
mov dword [0x100d5e48], ecx
mov cx, word [esi + 4]
mov word [0x100d5e4c], cx
test eax, eax
je 0x100060be
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
call fcn.100076c0
mov ecx, dword [0x100d5f84]
add ecx, 0x823eca
push ecx
mov eax, esp
mov dword [ebp - 8], ecx
push ecx
mov esi, esp
lea ecx, [ebp - 8]
mov dword [eax], 0x10005bb0
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
lea ecx, [ebp - 8]
mov eax, dword [eax]
mov dword [esi], eax
call fcn.10003a80
mov eax, dword [0x100d5e58]
add esp, 8
sub eax, 8
je 0x1000610f
sub eax, 1
jne 0x10006114
call fcn.100053b0
jmp 0x10006114
call fcn.10005140
mov esi, dword [0x100d4274]
mov eax, dword [0x100d4278]
lea edi, [esi + eax*4]
cmp esi, edi
je 0x10006134
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x18]
add esi, 4
cmp esi, edi
jne 0x10006126
mov byte [0x100d5e5c], 1
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1005ff0b
mov esp, ebp
pop ebp
ret