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

Disassembly:
push 0xffffffffffffffff
push 0x4eb1b2
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.004a4f00
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.004a4fe0
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.004a6c10
mov byte [esp + 0xb0], 5
mov ebx, dword [esp + 0x9c]
test ebx, ebx
je 0x4a39c2
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 0x4a39ba
mov esi, dword [esp + 0x68]
jmp 0x4a38c0
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.00473620
test eax, eax
je 0x4a38fd
inc edi
add esi, 0x18
cmp edi, ebp
jae 0x4a39ba
mov ebx, dword [esp + 0x9c]
jmp 0x4a38c0
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 0x4a39be
mov ebp, dword [esp + 0x9c]
cmp dword [edi + 0x14], 8
mov ebx, dword [edi + 0x10]
jb 0x4a393e
mov edx, dword [edi]
jmp 0x4a3940
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 0x4a3971
xor eax, eax
test eax, eax
jne 0x4a3999
cmp ebp, ebx
jae 0x4a3990
or eax, 0xffffffff
jmp 0x4a3997
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4a3982
add ecx, 2
add edx, 2
dec esi
jmp 0x4a3960
movzx eax, word [ecx]
cmp ax, word [edx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4a3964
xor eax, eax
cmp ebp, ebx
setne al
test eax, eax
sete al
test al, al
jne 0x4a3a34
mov esi, dword [esp + 0x24]
add edi, 0x18
inc esi
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x30]
jb 0x4a3931
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 0x4a3ca0
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 0x4a3a10
mov dword [esp + 0x24], 0
test eax, eax
je 0x4a3c8c
cmp dword [edi + 0x14], 8
mov eax, dword [edi + 0x10]
jb 0x4a3bf8
mov edx, dword [edi]
jmp 0x4a3bfa
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x8c]
push eax
call fcn.004a7420
test al, al
je 0x4a39ba
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 0x4a3a8e
mov eax, dword [esp + 0x9c]
inc eax
je 0x4a3aba
add eax, eax
push eax
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.004c4ec0
add esp, 0xc
jmp 0x4a3aba
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 0x4a3b17
push dword [esp + 0x8c]
call fcn.004c4eaa
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 0x4a3b9c
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x4a3b7b
cmp dword [esi + 0x14], 8
jb 0x4a3b61
push dword [esi]
call fcn.004c4eaa
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 0x4a3b51
push edi
call fcn.004c4eaa
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 0x4a3e85
mov edi, dword [esp + 0x6c]
mov esi, ebp
cmp ebp, edi
je 0x4a3bea
lea ebx, [ebx]
cmp dword [esi + 0x14], 8
jb 0x4a3bd0
push dword [esi]
call fcn.004c4eaa
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 0x4a3bc0
push ebp
call fcn.004c4eaa
add esp, 4
jmp 0x4a3e6d
mov edx, edi
cmp dword [ebp + 0x14], 8
mov ebx, dword [ebp + 0x10]
jb 0x4a3c08
mov ecx, dword [ebp]
jmp 0x4a3c0a
mov ecx, ebp
cmp ebx, eax
mov esi, eax
cmovb esi, ebx
test esi, esi
jne 0x4a3c27
xor eax, eax
test eax, eax
jne 0x4a3c4f
mov ecx, dword [edi + 0x10]
cmp ebx, ecx
jae 0x4a3c46
or eax, 0xffffffff
jmp 0x4a3c4d
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4a3c38
add ecx, 2
add edx, 2
dec esi
jmp 0x4a3c13
movzx eax, word [ecx]
cmp ax, word [edx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4a3c17
xor eax, eax
cmp ebx, ecx
setne al
test eax, eax
sete al
test al, al
je 0x4a3c68
mov ecx, dword [esp + 0x28]
push ebp
call fcn.004a7420
test al, al
jne 0x4a3ef6
mov ecx, dword [esp + 0x24]
add edi, 0x18
mov eax, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, eax
jb 0x4a3a20
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 0x4a3a10
mov ebp, dword [esp + 0x68]
xor edi, edi
test ebx, ebx
je 0x4a3cca
mov esi, ebp
jmp 0x4a3cb0
mov ecx, dword [esp + 0x28]
push esi
call fcn.004a7420
test al, al
jne 0x4a40a8
inc edi
add esi, 0x18
cmp edi, ebx
jb 0x4a3cb0
xor edi, edi
test ebx, ebx
je 0x4a3cec
mov esi, ebp
mov ecx, dword [esp + 0x28]
push esi
call fcn.004a72e0
test al, al
jne 0x4a41f4
inc edi
add esi, 0x18
cmp edi, ebx
jb 0x4a3cd2
cmp byte [esp + 0x34], 0
jne 0x4a3d9f
cmp byte [esp + 0x38], 0
jne 0x4a3d9f
cmp dword [esp + 0x84], 0
jne 0x4a3d9f
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x44]
push eax
call fcn.004a6c10
mov esi, eax
mov byte [esp + 0xb0], 9
lea eax, [esp + 0x74]
cmp eax, esi
je 0x4a3d6d
cmp dword [esp + 0x88], 8
jb 0x4a3d46
push dword [esp + 0x74]
call fcn.004c4eaa
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 0x4a3d88
push dword [esp + 0x44]
call fcn.004c4eaa
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 0x4a3deb
push dword [esp + 0x8c]
call fcn.004c4eaa
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 0x4a3e48
push dword [esp + 0x20]
mov edx, dword [esp + 0x64]
push ecx
mov ecx, edi
call fcn.0047f250
push edi
call fcn.004c4eaa
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 0x4a3e85
push dword [esp + 0x20]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, ebp
call fcn.0047f250
push ebp
call fcn.004c4eaa
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 0x4a3eb1
push dword [esp + 0x74]
call fcn.004c4eaa
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.004c4eaf
add esp, 0xa0
ret 8
lea eax, [esp + 0x74]
cmp eax, ebp
je 0x4a3f0a
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 0x4a3f48
mov eax, dword [esp + 0x84]
inc eax
je 0x4a3f6e
add eax, eax
push eax
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.004c4ec0
add esp, 0xc
jmp 0x4a3f6e
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 0x4a3fc8
push dword [esp + 0x8c]
call fcn.004c4eaa
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 0x4a404d
mov ebp, dword [esp + 0x60]
mov esi, edi
cmp edi, ebp
je 0x4a402c
cmp dword [esi + 0x14], 8
jb 0x4a4012
push dword [esi]
call fcn.004c4eaa
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 0x4a4002
push edi
call fcn.004c4eaa
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 0x4a3e85
mov edi, dword [esp + 0x6c]
mov esi, ebp
cmp ebp, edi
je 0x4a409a
jmp 0x4a4070
cmp dword [esi + 0x14], 8
jb 0x4a4080
push dword [esi]
call fcn.004c4eaa
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 0x4a4070
push ebp
call fcn.004c4eaa
add esp, 4
jmp 0x4a3e6d
lea eax, [esp + 0x74]
cmp eax, esi
je 0x4a40bc
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 0x4a40fa
mov eax, dword [esp + 0x84]
inc eax
je 0x4a4120
add eax, eax
push eax
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.004c4ec0
add esp, 0xc
jmp 0x4a4120
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 0x4a417a
push dword [esp + 0x8c]
call fcn.004c4eaa
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 0x4a3e48
mov eax, dword [esp + 0x60]
mov esi, edi
cmp edi, eax
je 0x4a41e6
cmp dword [esi + 0x14], 8
jb 0x4a41cc
push dword [esi]
call fcn.004c4eaa
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 0x4a41b8
push edi
call fcn.004c4eaa
add esp, 4
jmp 0x4a3e30
lea eax, [esp + 0x74]
cmp eax, esi
je 0x4a3d9f
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00403000
jmp 0x4a3d9f