Function at 0x4cf604
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffb94
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x460], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00405254
xor eax, eax
push ebp
push 0x4cf867
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.ole32.dll_CoInitialize_1
lea eax, [ebp - 8]
push eax
push 0x537a40
push 1
push 0
push 0x537a30
call sub.ole32.dll_CoCreateInstance
mov esi, eax
mov eax, esi
call fcn.004ceb8c
test al, al
jne 0x4cf686
mov ecx, 0x4cf880
mov dl, 1
mov eax, dword [0x4cebd0]
call fcn.0040e0f8
call fcn.00404790
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x539304]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax]
mov esi, eax
mov eax, esi
call fcn.004ceb8c
test al, al
jne 0x4cf6bb
mov ecx, 0x4cf8a4
mov dl, 1
mov eax, dword [0x4cebd0]
call fcn.0040e0f8
call fcn.00404790
mov eax, dword [ebp - 4]
call fcn.0040506c
inc eax
call fcn.0040aa40
mov edi, eax
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.0040a8b0
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0xffffffffffffffff
push edi
push 0
push 0
call sub.kernel32.dll_MultiByteToWideChar_1
push 0
lea eax, [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x14]
mov esi, eax
mov eax, esi
call fcn.004ceb8c
test al, al
jne 0x4cf722
mov ecx, 0x4cf8d4
mov dl, 1
mov eax, dword [0x4cebd0]
call fcn.0040e0f8
call fcn.00404790
push 0x104
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
lea edx, [ebp - 0x460]
lea eax, [ebp - 0x31c]
call fcn.0040aa2c
mov edx, dword [ebp - 0x460]
lea eax, [ebx + 0x3c]
call fcn.00404e08
push 2
lea eax, [ebp - 0x45c]
push eax
push 0x104
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
lea edx, [ebp - 0x464]
lea eax, [ebp - 0x31c]
call fcn.0040aa2c
mov edx, dword [ebp - 0x464]
lea eax, [ebx + 0x34]
call fcn.00404e08
push 0x104
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
lea edx, [ebp - 0x468]
lea eax, [ebp - 0x31c]
call fcn.0040aa2c
mov edx, dword [ebp - 0x468]
lea eax, [ebx + 0x38]
call fcn.00404e08
push 0x104
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
lea edx, [ebp - 0x46c]
lea eax, [ebp - 0x31c]
call fcn.0040aa2c
mov edx, dword [ebp - 0x46c]
lea eax, [ebx + 0x40]
call fcn.00404e08
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x44], eax
lea eax, [ebp - 0x12]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
mov ax, word [ebp - 0x12]
mov word [ebx + 0x48], ax
call sub.ole32.dll_CoUninitialize_1
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 8]
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 8]
mov eax, edi
call fcn.0040aa8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cf86e
lea eax, [ebp - 0x46c]
mov edx, 4
call fcn.00404dd8
lea eax, [ebp - 4]
call fcn.00404db4
ret