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

Disassembly:
push 0xffffffffffffffff
push 0x4eb482
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x50e74c]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50e74c]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov dword [esp + 0xb0], 1
push eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov byte [esp + 0xb0], 2
xorps xmm0, xmm0
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0xb0], 3
movq qword [esp + 0x5c], xmm0
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 4
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0
call fcn.004a51a0
mov ebp, dword [esp + 0x68]
mov ecx, 1
mov esi, dword [esp + 0x6c]
cmp ebp, esi
movzx eax, byte [esp + 0x1a]
cmovne eax, ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x5c]
push eax
call fcn.004a5280
mov edi, dword [esp + 0x5c]
mov ecx, 1
cmp edi, dword [esp + 0x60]
movzx eax, byte [esp + 0x1b]
cmovne eax, ecx
mov ecx, ebx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x8c]
push eax
call fcn.004a6eb0
mov byte [esp + 0xb0], 5
mov ebx, dword [esp + 0x9c]
test ebx, ebx
je 0x4a3c62
mov ecx, esi
mov eax, 0x2aaaaaab
sub ecx, ebp
xor edi, edi
imul ecx
sar edx, 2
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
je 0x4a3c5a
mov esi, dword [esp + 0x68]
jmp 0x4a3b60
cmp dword [esp + 0xa0], 8
lea eax, [esp + 0x8c]
push ebx
cmovae eax, dword [esp + 0x90]
push eax
push dword [esi + 0x10]
push ecx
mov ecx, esi
call fcn.00473d80
test eax, eax
je 0x4a3b9d
inc edi
add esi, 0x18
cmp edi, ebp
jae 0x4a3c5a
mov ebx, dword [esp + 0x9c]
jmp 0x4a3b60
mov ecx, dword [esp + 0x60]
mov eax, 0x2aaaaaab
mov edi, dword [esp + 0x5c]
sub ecx, edi
imul ecx
mov dword [esp + 0x24], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x30], eax
je 0x4a3c5e
mov ebp, dword [esp + 0x9c]
cmp dword [edi + 0x14], 8
mov ebx, dword [edi + 0x10]
jb 0x4a3bde
mov edx, dword [edi]
jmp 0x4a3be0
mov edx, edi
cmp dword [esp + 0xa0], 8
lea ecx, [esp + 0x8c]
mov esi, ebx
cmovae ecx, dword [esp + 0x8c]
cmp ebp, ebx
cmovb esi, ebp
test esi, esi
jne 0x4a3c11
xor eax, eax
test eax, eax
jne 0x4a3c39
cmp ebp, ebx
jae 0x4a3c30
or eax, 0xffffffff
jmp 0x4a3c37
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4a3c22
add ecx, 2
add edx, 2
dec esi
jmp 0x4a3c00
movzx eax, word [ecx]
cmp ax, word [edx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4a3c04
xor eax, eax
cmp ebp, ebx
setne al
test eax, eax
sete al
test al, al
jne 0x4a3cd4
mov esi, dword [esp + 0x24]
add edi, 0x18
inc esi
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x30]
jb 0x4a3bd1
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, 0x2aaaaaab
sub ecx, ebp
xor esi, esi
imul ecx
mov dword [esp + 0x30], esi
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov dword [esp + 0x3c], ebx
je 0x4a3f40
mov ecx, dword [esp + 0x60]
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x40], eax
jmp 0x4a3cb0
mov dword [esp + 0x24], 0
test eax, eax
je 0x4a3f2c
cmp dword [edi + 0x14], 8
mov eax, dword [edi + 0x10]
jb 0x4a3e98
mov edx, dword [edi]
jmp 0x4a3e9a
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x8c]
push eax
call fcn.004a76c0
test al, al
je 0x4a3c5a
mov ebx, dword [esp + 0x2c]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
cmp dword [esp + 0xa0], 8
jae 0x4a3d2e
mov eax, dword [esp + 0x9c]
inc eax
je 0x4a3d5a
add eax, eax
push eax
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.004c5170
add esp, 0xc
jmp 0x4a3d5a
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0xb0], 6
mov eax, dword [esp + 0x8c]
mov dword [ebx], eax
mov byte [esp + 0xb0], 5
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov dword [esp + 0x1c], 1
mov byte [esp + 0xb0], 4
cmp dword [esp + 0xa0], 8
jb 0x4a3db7
push dword [esp + 0x8c]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 3
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x4a3e3c
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x4a3e1b
cmp dword [esi + 0x14], 8
jb 0x4a3e01
push dword [esi]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, ebp
jne 0x4a3df1
push edi
call fcn.004c515a
add esp, 4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 2
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x4a4125
mov edi, dword [esp + 0x6c]
mov esi, ebp
cmp ebp, edi
je 0x4a3e8a
lea ebx, [ebx]
cmp dword [esi + 0x14], 8
jb 0x4a3e70
push dword [esi]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x4a3e60
push ebp
call fcn.004c515a
add esp, 4
jmp 0x4a410d
mov edx, edi
cmp dword [ebp + 0x14], 8
mov ebx, dword [ebp + 0x10]
jb 0x4a3ea8
mov ecx, dword [ebp]
jmp 0x4a3eaa
mov ecx, ebp
cmp ebx, eax
mov esi, eax
cmovb esi, ebx
test esi, esi
jne 0x4a3ec7
xor eax, eax
test eax, eax
jne 0x4a3eef
mov ecx, dword [edi + 0x10]
cmp ebx, ecx
jae 0x4a3ee6
or eax, 0xffffffff
jmp 0x4a3eed
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4a3ed8
add ecx, 2
add edx, 2
dec esi
jmp 0x4a3eb3
movzx eax, word [ecx]
cmp ax, word [edx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4a3eb7
xor eax, eax
cmp ebx, ecx
setne al
test eax, eax
sete al
test al, al
je 0x4a3f08
mov ecx, dword [esp + 0x28]
push ebp
call fcn.004a76c0
test al, al
jne 0x4a4196
mov ecx, dword [esp + 0x24]
add edi, 0x18
mov eax, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, eax
jb 0x4a3cc0
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x5c]
inc esi
add ebp, 0x18
mov dword [esp + 0x30], esi
cmp esi, ebx
jb 0x4a3cb0
mov ebp, dword [esp + 0x68]
xor edi, edi
test ebx, ebx
je 0x4a3f6a
mov esi, ebp
jmp 0x4a3f50
mov ecx, dword [esp + 0x28]
push esi
call fcn.004a76c0
test al, al
jne 0x4a4348
inc edi
add esi, 0x18
cmp edi, ebx
jb 0x4a3f50
xor edi, edi
test ebx, ebx
je 0x4a3f8c
mov esi, ebp
mov ecx, dword [esp + 0x28]
push esi
call fcn.004a7580
test al, al
jne 0x4a4494
inc edi
add esi, 0x18
cmp edi, ebx
jb 0x4a3f72
cmp byte [esp + 0x34], 0
jne 0x4a403f
cmp byte [esp + 0x38], 0
jne 0x4a403f
cmp dword [esp + 0x84], 0
jne 0x4a403f
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x44]
push eax
call fcn.004a6eb0
mov esi, eax
mov byte [esp + 0xb0], 9
lea eax, [esp + 0x74]
cmp eax, esi
je 0x4a400d
cmp dword [esp + 0x88], 8
jb 0x4a3fe6
push dword [esp + 0x74]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0x88], 7
push esi
lea ecx, [esp + 0x78]
mov dword [esp + 0x88], 0
mov word [esp + 0x78], ax
call fcn.00402d00
mov byte [esp + 0xb0], 5
cmp dword [esp + 0x58], 8
jb 0x4a4028
push dword [esp + 0x44]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
mov ebx, dword [esp + 0x2c]
xor eax, eax
mov ecx, ebx
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
lea eax, [esp + 0x74]
push eax
call fcn.00402d00
mov dword [esp + 0x1c], 1
mov byte [esp + 0xb0], 4
cmp dword [esp + 0xa0], 8
jb 0x4a408b
push dword [esp + 0x8c]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], eax
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 3
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x4a40e8
push dword [esp + 0x20]
mov edx, dword [esp + 0x64]
push ecx
mov ecx, edi
call fcn.0047f9a0
push edi
call fcn.004c515a
add esp, 0xc
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov byte [esp + 0xb0], 2
test ebp, ebp
je 0x4a4125
push dword [esp + 0x20]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, ebp
call fcn.0047f9a0
push ebp
call fcn.004c515a
add esp, 0xc
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov byte [esp + 0xb0], 1
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [esp + 0xb0], 0
cmp dword [esp + 0x88], 8
jb 0x4a4151
push dword [esp + 0x74]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], eax
mov word [esp + 0x74], ax
mov eax, ebx
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.004c515f
add esp, 0xa0
ret 8
lea eax, [esp + 0x74]
cmp eax, ebp
je 0x4a41aa
push 0xffffffffffffffff
push 0
push ebp
mov ecx, eax
call fcn.00403000
mov ebx, dword [esp + 0x2c]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
cmp dword [esp + 0x88], 8
jae 0x4a41e8
mov eax, dword [esp + 0x84]
inc eax
je 0x4a420e
add eax, eax
push eax
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.004c5170
add esp, 0xc
jmp 0x4a420e
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0xb0], 7
mov eax, dword [esp + 0x74]
mov dword [ebx], eax
mov byte [esp + 0xb0], 5
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov dword [esp + 0x1c], 1
mov byte [esp + 0xb0], 4
cmp dword [esp + 0xa0], 8
jb 0x4a4268
push dword [esp + 0x8c]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 3
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x4a42ed
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x4a42cc
cmp dword [esi + 0x14], 8
jb 0x4a42b2
push dword [esi]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, ebp
jne 0x4a42a2
push edi
call fcn.004c515a
add esp, 4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0xb0], 2
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x4a4125
mov edi, dword [esp + 0x6c]
mov esi, ebp
cmp ebp, edi
je 0x4a433a
jmp 0x4a4310
cmp dword [esi + 0x14], 8
jb 0x4a4320
push dword [esi]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x4a4310
push ebp
call fcn.004c515a
add esp, 4
jmp 0x4a410d
lea eax, [esp + 0x74]
cmp eax, esi
je 0x4a435c
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00403000
mov ebx, dword [esp + 0x2c]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
cmp dword [esp + 0x88], 8
jae 0x4a439a
mov eax, dword [esp + 0x84]
inc eax
je 0x4a43c0
add eax, eax
push eax
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.004c5170
add esp, 0xc
jmp 0x4a43c0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0xb0], 8
mov eax, dword [esp + 0x74]
mov dword [ebx], eax
mov byte [esp + 0xb0], 5
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov dword [esp + 0x1c], 1
mov byte [esp + 0xb0], 4
cmp dword [esp + 0xa0], 8
jb 0x4a441a
push dword [esp + 0x8c]
call fcn.004c515a
add esp, 4
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
mov byte [esp + 0xb0], 3
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x4a40e8
mov eax, dword [esp + 0x60]
mov esi, edi
cmp edi, eax
je 0x4a4486
cmp dword [esi + 0x14], 8
jb 0x4a446c
push dword [esi]
call fcn.004c515a
mov eax, dword [esp + 0x64]
add esp, 4
xor ecx, ecx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], cx
add esi, 0x18
cmp esi, eax
jne 0x4a4458
push edi
call fcn.004c515a
add esp, 4
jmp 0x4a40d0
lea eax, [esp + 0x74]
cmp eax, esi
je 0x4a403f
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00403000
jmp 0x4a403f