Function at 0x4f5af0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5ab198
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6336a0]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
xor esi, esi
cmp eax, esi
je 0x4f5b8f
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x30], esi
call eax
test eax, eax
jne 0x4f5b8f
cmp dword [esp + 0x28], esi
je 0x4f5b8f
call dword [0x634aa0]
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov word [esp + 0x3c], 3
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x6c], esi
mov eax, dword [ebx + 8]
xor ebp, ebp
cmp eax, esi
mov dword [esp + 0x34], ebp
jg 0x4f5ba7
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0xc
xor esi, esi
cmp ebp, esi
jl 0x4f5e81
cmp ebp, eax
jge 0x4f5e81
mov edi, dword [esp + 0x3c]
mov edx, dword [ebx + 4]
mov ecx, dword [edx + ebp*4]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x30]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x54]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x5c]
add ecx, 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov edi, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x68], ecx
mov esi, dword [edx]
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esi + 0x2c]
mov dword [eax + 0xc], ecx
call edx
test eax, eax
jl 0x4f5e6a
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4f5e6a
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x5d1e90
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jne 0x4f5e5e
cmp dword [esp + 0x14], eax
je 0x4f5e5e
lea ecx, [esp + 0x4c]
call fcn.0055d17f
mov eax, ebp
mov ecx, ebx
mov byte [esp + 0x6c], 1
call fcn.0044dc10
mov ecx, dword [esp + 0x74]
push eax
lea edi, [esp + 0x50]
call fcn.004f5680
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x54]
call eax
test eax, eax
jne 0x4f5d90
mov edx, dword [esp + 0x20]
test edx, edx
je 0x4f5d90
xor ebp, ebp
jmp 0x4f5ca4
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
lea eax, [esp + 0x2c]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [esp + 0x5c]
mov ecx, ebp
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], 0
mov ebx, dword [edx]
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0x2c]
push edx
mov dword [eax + 0xc], edi
call ecx
test eax, eax
jne 0x4f5d70
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4f5d70
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], 0
mov edx, dword [eax]
mov edx, dword [edx]
push 0x5d1f80
push eax
call edx
test eax, eax
jne 0x4f5d64
cmp dword [esp + 0x1c], eax
je 0x4f5d64
lea eax, [ebp + 1]
test eax, eax
jl 0x4f5e81
cmp eax, dword [esp + 0x54]
jge 0x4f5e81
mov eax, dword [esp + 0x50]
mov esi, dword [eax + ebp*4 + 4]
lea edi, [esp + 0x18]
call fcn.00496ce0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xec]
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
add ebp, 1
cmp ebp, 7
jl 0x4f5ca0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x28], 0
mov ecx, dword [eax]
push 0x5d1f80
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jne 0x4f5e44
mov eax, ebp
mov ecx, ebx
call fcn.0044dc10
mov ecx, dword [esp + 0x74]
add ecx, 0x2ec
call fcn.004bfa80
mov ecx, dword [eax]
push ecx
mov eax, ebp
mov ecx, ebx
call fcn.0044dc10
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
push edx
push ecx
mov esi, eax
call fcn.004f4590
cmp dword [esp + 0x54], 0
jle 0x4f5e81
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x3c]
call fcn.004acc80
mov byte [esp + 0x6c], 2
mov edi, dword [eax]
lea esi, [esp + 0x18]
call fcn.004f6130
lea ecx, [esp + 0x38]
mov byte [esp + 0x6c], 1
call fcn.00401f20
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6c], 0
call fcn.0055d21d
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebx + 8]
add ebp, 1
cmp ebp, eax
mov dword [esp + 0x34], ebp
jl 0x4f5ba5
jmp 0x4f5b78
call fcn.00555520
int3