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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x64
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
push edi
xor edi, edi
push esi
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
call dword [eax + 0x1c]
mov dword [ebp - 0xc], eax
cmp eax, edi
jne 0x4f4e071
mov eax, 0x80004005
jmp 0x4f4e58a
push ebx
push eax
call fcn.04f41c39
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x50]
push ecx
mov dword [ebp - 8], eax
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test eax, eax
jne 0x4f4e537
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50]
cmp eax, 0x46464952
je 0x4f4e366
cmp eax, 0x5453494c
je 0x4f4e1a6
cmp eax, 0x64697567
je 0x4f4e166
cmp eax, 0x68797473
je 0x4f4e115
cmp eax, 0x73726576
jne 0x4f4e4ce
mov eax, dword [ebp - 0x4c]
push 8
pop ecx
mov dword [ebp - 8], eax
cmp eax, ecx
jb 0x4f4e0da
mov dword [ebp - 8], ecx
mov eax, dword [ebx]
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 8]
lea ecx, [ebp - 0x28]
push ecx
push ebx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jl 0x4f4e19c
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
jne 0x4f4e19c
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x60], ecx
jmp 0x4f4e4ce
mov eax, dword [ebp - 0x4c]
push 0xc
pop ecx
mov dword [ebp - 8], eax
cmp eax, ecx
jb 0x4f4e125
mov dword [ebp - 8], ecx
mov eax, dword [ebx]
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 8]
lea ecx, [ebp - 0x3c]
push ecx
push ebx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jl 0x4f4e19c
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
jne 0x4f4e19c
mov eax, dword [ebp - 4]
fld qword [ebp - 0x38]
mov cl, byte [ebp - 0x3c]
fstp qword [eax + 0x68]
mov byte [eax + 0x64], cl
mov cl, byte [ebp - 0x3b]
mov byte [eax + 0x65], cl
mov cx, word [ebp - 0x3a]
mov word [eax + 0x66], cx
jmp 0x4f4e4ce
mov eax, dword [ebp - 0x4c]
push 0x10
pop ecx
mov dword [ebp - 8], eax
cmp eax, ecx
jb 0x4f4e176
mov dword [ebp - 8], ecx
mov eax, dword [ebx]
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 8]
mov ecx, dword [ebp - 4]
add ecx, 0x3c
push ecx
push ebx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jl 0x4f4e19c
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
je 0x4f4e4ce
mov edi, 0x80004005
jmp 0x4f4e537
mov eax, dword [ebp - 0x48]
cmp eax, 0x4f464e55
je 0x4f4e34d
cmp eax, 0x66727270
je 0x4f4e2d6
cmp eax, 0x6e747470
je 0x4f4e221
cmp eax, 0x74726170
jne 0x4f4e4ce
mov ecx, dword [ebp - 4]
add ecx, 0x38
call fcn.04f4c3e1
mov dword [ebp - 8], eax
test eax, eax
je 0x4f4e519
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add eax, 0x38
push eax
lea eax, [ebp - 0x50]
push eax
push esi
call fcn.04f49588
mov edi, eax
test edi, edi
jl 0x4f4e4fc
cmp edi, 1
jne 0x4f4e4ce
mov ecx, dword [ebp - 4]
push dword [ebp - 8]
add ecx, 0x38
call fcn.04f4cd44
jmp 0x4f4e4ce
push 0
push dword [ebp - 8]
push ebx
call fcn.04f41c10
push 0x48
call fcn.04f57727
pop ecx
test eax, eax
je 0x4f4e24c
mov ecx, dword [ebp - 4]
add ecx, 0x64
push 0
push ecx
mov ecx, eax
call fcn.04f4da26
mov ebx, eax
jmp 0x4f4e24e
xor ebx, ebx
test ebx, ebx
je 0x4f4e519
mov eax, dword [esi]
push 0x40
push 0
lea ecx, [ebp - 0x64]
push ecx
push esi
mov dword [ebp - 0x5c], 0x6e747470
call dword [eax + 0xc]
test eax, eax
jne 0x4f4e50c
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
lea eax, [ebp - 0x64]
push eax
push esi
mov ecx, ebx
call fcn.04f4d5ff
push 0
lea ecx, [ebp - 0x64]
push ecx
mov edi, eax
mov eax, dword [esi]
push esi
call dword [eax + 0x10]
test edi, edi
jl 0x4f4e511
push 8
call fcn.04f57727
pop ecx
test eax, eax
je 0x4f4e2b0
and dword [eax + 4], 0
mov dword [eax], ebx
jmp 0x4f4e2b2
xor eax, eax
test eax, eax
je 0x4f4e519
test byte [ebx + 0x16], 0x10
mov ecx, dword [ebp - 4]
push eax
je 0x4f4e2d1
add ecx, 0x78
call fcn.04f4b76a
jmp 0x4f4e4cb
add ecx, 0x74
jmp 0x4f4e2c7
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x50]
push eax
push esi
call fcn.04f4bd6d
mov edi, eax
test edi, edi
jl 0x4f4e537
jmp 0x4f4e4cb
mov eax, dword [ebp - 0x64]
sub eax, 0x4d414e49
je 0x4f4e31b
sub eax, 0xc
je 0x4f4e31b
sub eax, 0x1a33130e
jne 0x4f4e341
mov eax, dword [ebp - 0x60]
cmp eax, 0x7e
jb 0x4f4e313
push 0x7e
pop eax
mov ecx, dword [ebp - 4]
add ecx, 0x4c
jmp 0x4f4e32c
mov eax, dword [ebp - 0x60]
cmp eax, 0x7e
jb 0x4f4e326
push 0x7e
pop eax
mov ecx, dword [ebp - 4]
add ecx, 0x54
push ecx
push eax
push ebx
call fcn.04f4677b
mov edi, eax
test edi, edi
jl 0x4f4e537
mov ebx, dword [ebp - 0xc]
mov eax, dword [esi]
push 0
lea ecx, [ebp - 0x64]
push ecx
push esi
call dword [eax + 0x10]
mov eax, dword [esi]
push 0
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push esi
call dword [eax + 0xc]
test eax, eax
je 0x4f4e2f2
jmp 0x4f4e4ce
cmp dword [ebp - 0x48], 0x44424d44
je 0x4f4e37c
cmp dword [ebp - 0x48], 0x4e424141
jne 0x4f4e4ce
push 8
call fcn.04f57727
pop ecx
test eax, eax
je 0x4f4e390
and dword [eax + 4], 0
mov esi, eax
jmp 0x4f4e392
xor esi, esi
test esi, esi
je 0x4f4e3b2
and dword [esi], 0
push esi
push 0x4f414fc
push 3
push 0
push 0x4f4133c
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
jmp 0x4f4e3b7
mov edi, 0x8007000e
test edi, edi
jl 0x4f4e520
mov edx, dword [ebx]
lea edi, [ebp - 0x30]
push edi
push 1
xor eax, eax
push eax
xor ecx, ecx
push ecx
push ebx
call dword [edx + 0x14]
mov edi, eax
test edi, edi
jl 0x4f4e520
mov eax, dword [ebp - 0x30]
mov edx, dword [ebx]
xor ecx, ecx
lea edi, [ebp - 0x30]
push edi
push ecx
push ecx
add eax, 0xfffffff4
push eax
push ebx
call dword [edx + 0x14]
mov edi, eax
test edi, edi
jl 0x4f4e520
mov eax, dword [esi]
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push 0x4f41afc
push eax
call dword [ecx]
mov edi, eax
test edi, edi
je 0x4f4e419
mov dword [ebp - 0x14], edi
jl 0x4f4e520
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x14]
mov edi, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x1c], 0
test edi, edi
jl 0x4f4e520
mov eax, dword [esi]
and dword [ebp - 8], 0
mov ecx, dword [eax]
lea edx, [ebp - 8]
push edx
push 0x4f415fc
push eax
call dword [ecx]
mov edi, eax
test edi, edi
jl 0x4f4e520
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push eax
call dword [ecx + 0xc]
mov edi, eax
test edi, edi
jl 0x4f4e49b
cmp dword [ebp - 0x48], 0x4e424141
jne 0x4f4e47a
test byte [ebp - 0x1c], 2
jne 0x4f4e489
cmp dword [ebp - 0x48], 0x44424d44
jne 0x4f4e49b
cmp dword [ebp - 0x20], 0
jne 0x4f4e49b
mov eax, dword [esi]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x80], eax
mov dword [ebp - 0x20], 1
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test edi, edi
jl 0x4f4e520
mov ebx, dword [ebp - 4]
add ebx, 0x18
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x7c]
mov dword [esi + 4], ecx
push ebx
mov dword [eax + 0x7c], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0xc]
mov eax, dword [esi]
push 0
lea ecx, [ebp - 0x50]
push ecx
push esi
call dword [eax + 0x10]
push ebx
call fcn.04f41c39
push 0
push dword [ebp + 0xc]
lea ecx, [ebp - 0x50]
push ecx
mov dword [ebp - 8], eax
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test eax, eax
je 0x4f4e094
jmp 0x4f4e537
mov ecx, dword [ebp - 4]
push dword [ebp - 8]
add ecx, 0x38
call fcn.04f4cd44
jmp 0x4f4e537
mov edi, 0x80004005
push ebx
call fcn.04f4df24
jmp 0x4f4e537
mov edi, 0x8007000e
jmp 0x4f4e537
test esi, esi
je 0x4f4e537
mov eax, dword [esi]
test eax, eax
je 0x4f4e530
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call fcn.04f57743
pop ecx
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x74]
test esi, esi
je 0x4f4e555
mov ebx, eax
add ebx, 0x38
mov ecx, dword [esi]
push ebx
call fcn.04f4cbea
mov esi, dword [esi + 4]
test esi, esi
jne 0x4f4e546
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x78]
test esi, esi
je 0x4f4e571
lea ebx, [eax + 0x38]
mov ecx, dword [esi]
push ebx
call fcn.04f4cbea
mov esi, dword [esi + 4]
test esi, esi
jne 0x4f4e562
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
pop ebx
test edi, edi
jne 0x4f4e588
cmp dword [ebp - 0x14], 0
je 0x4f4e588
mov edi, dword [ebp - 0x14]
mov eax, edi
pop edi
pop esi
leave
ret 8