Function at 0x4cf760
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 0x4cf9c3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.ole32.dll_CoInitialize_1
lea eax, [ebp - 8]
push eax
push 0x537a14
push 1
push 0
push 0x537a04
call sub.ole32.dll_CoCreateInstance
mov esi, eax
mov eax, esi
call fcn.004cec78
test al, al
jne 0x4cf7e2
mov ecx, 0x4cf9dc
mov dl, 1
mov eax, dword [0x4ced2c]
call fcn.0040e128
call fcn.00404790
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x5392d8]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax]
mov esi, eax
mov eax, esi
call fcn.004cec78
test al, al
jne 0x4cf817
mov ecx, 0x4cfa00
mov dl, 1
mov eax, dword [0x4ced2c]
call fcn.0040e128
call fcn.00404790
mov eax, dword [ebp - 4]
call fcn.0040506c
inc eax
call fcn.0040aa70
mov edi, eax
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.0040a8e0
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.004cec78
test al, al
jne 0x4cf87e
mov ecx, 0x4cfa30
mov dl, 1
mov eax, dword [0x4ced2c]
call fcn.0040e128
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.0040aa5c
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.0040aa5c
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.0040aa5c
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.0040aa5c
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.0040aabc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cf9ca
lea eax, [ebp - 0x46c]
mov edx, 4
call fcn.00404dd8
lea eax, [ebp - 4]
call fcn.00404db4
ret