Function at 0x10004410
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d51d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push esi
push edi
mov eax, 0xcccccccc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x1c]
add ecx, 0xc
call fcn.100acad7
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
call fcn.100acad7
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14
call fcn.100acad7
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1c]
add ecx, 0x18
call fcn.100acad7
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1c]
add ecx, 0x30
call fcn.1006b490
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x2c], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0x1c]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 8], 0
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x18
call fcn.1006a2d0
lea ecx, [ebp + 8]
call fcn.100acbca
test eax, eax
jne 0x10004511
push 0x13
push 0x100f33fc
call fcn.100b0670
test eax, eax
je 0x10004511
int3
xor edx, edx
test edx, edx
jne 0x100044f4
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
push ecx
mov edx, dword [ebp - 0x1c]
add edx, 0xc
push edx
mov eax, dword [ebp - 0x1c]
add eax, 0x20
push eax
lea ecx, [ebp + 8]
call fcn.100acc14
push eax
call fcn.100be140
test eax, eax
jne 0x100045b9
lea ecx, [ebp + 8]
push ecx
push str.http:__
lea edx, [ebp - 0x14]
push edx
call fcn.1006a5f8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp + 8]
call fcn.1006a2d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.1006a0d0
mov edx, dword [ebp - 0x1c]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x1c]
add eax, 0x10
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0xc
push ecx
mov edx, dword [ebp - 0x1c]
add edx, 0x20
push edx
lea ecx, [ebp + 8]
call fcn.100acc14
push eax
call fcn.100be140
test eax, eax
jne 0x100045b9
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], SysFreeString
jmp 0x10004728
lea ecx, [ebp + 0xc]
call fcn.100acbca
test eax, eax
jne 0x100045d6
push 0x20
push 0x100f3458
call fcn.100b0670
test eax, eax
je 0x100045d6
int3
xor ecx, ecx
test ecx, ecx
jne 0x100045b9
mov esi, esp
push 0
push 0x3021
mov ecx, dword [ebp - 0x1c]
add ecx, 0x18
call fcn.100acc14
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x30
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x30]
call dword [eax + 0x28]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x1000461a
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 4], reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x10004728
mov esi, esp
push 2
push 0
mov ecx, dword [ebp - 0x1c]
add ecx, 0x30
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x30]
call dword [eax + 0x30]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x40], eax
push 0x2f
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
call fcn.1004fb36
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x10004662
push 0x5c
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
call fcn.1004fb36
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
je 0x100046c3
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
call fcn.100acbca
cmp eax, 1
jle 0x100046c3
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
call fcn.100acbca
sub eax, dword [ebp - 0x10]
sub eax, 1
push eax
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
call fcn.1004f8e7
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14
call fcn.1006a2d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x18]
call fcn.1006a0d0
jmp 0x100046d5
mov edx, dword [ebp - 0x1c]
add edx, 0x10
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14
call fcn.1006a2d0
push 0
push 0
push 4
push 0
mov eax, dword [ebp - 0x1c]
push eax
push 0x100048e1
call fcn.1006d1f5
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x44], 0
jne 0x10004706
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], reloc.OLEAUT32.dll_SysReAllocString
jmp 0x10004728
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 4], 1
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x44]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x44]
call fcn.100b732f
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.1006a0d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.1006a0d0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x2c
cmp ebp, esp
call fcn.10021b10
mov esp, ebp
pop ebp
ret 8