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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x783a8996
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push esi
push edi
mov eax, dword [0x783c8018]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov ebx, ecx
xor edi, edi
cmp dword [ebx + 0x48], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
je 0x7837fa59
xor eax, eax
cmp dword [ebx + 0x54], edi
je 0x7837fa3e
inc eax
cmp dword [ebx + 0x10], eax
mov dword [esp + 0x18], eax
jl 0x7837fa3c
mov dword [esp + 0x20], 0x30
mov dword [esp + 0x2c], 0x28
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax - 4]
cmp eax, edi
je 0x7837fa18
mov eax, dword [eax + 4]
jmp 0x7837fa10
cmp eax, edi
mov ecx, eax
je 0x7837fa54
mov ecx, dword [ecx + 8]
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
add ecx, 0xa8
cmp dword [ecx], edi
mov dword [esp + 0x30], eax
je 0x7837fa04
inc dword [esp + 0x1c]
xor eax, eax
inc eax
cmp dword [esp + 0x1c], eax
mov dword [ecx], edi
jne 0x7837f53e
mov dword [ebx + 0x44], eax
push dword [esp + 0x18]
mov edi, dword [ebx + 0x54]
lea esi, [esp + 0x18]
call fcn.7837a981
test al, al
je 0x7837fa0a
mov eax, dword [esp + 0x28]
add eax, 0xac
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x3c], eax
call sym.MFC80U.DLL_Ordinal_493
xor edi, edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x88], 1
mov esi, dword [ebx + 0x54]
mov eax, dword [esi + 0x14]
push dword [eax + ecx + 0x10]
push dword [esp + 0x1c]
call fcn.7837a9af
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.7837b38a
push dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
call fcn.7837a9af
sub eax, dword [esp + 0x54]
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x20]
push edi
push edi
push eax
mov eax, dword [esp + 0x6c]
imul eax, eax, 0x34
add eax, dword [esp + 0x64]
add ecx, edx
mov esi, dword [ecx + 0x10]
movzx edx, word [ecx + 0x14]
mov ecx, dword [ecx + 8]
push edi
push edi
push esi
push ecx
call fcn.7837a7f8
mov eax, dword [ebx + 0x50]
add esp, 0x1c
inc dword [esp + 0x60]
mov eax, dword [eax]
lea ecx, [esp + 0x4c]
call fcn.7837b410
movzx eax, word [esp + 0x14]
cmp eax, 0x81
jg 0x7837f94b
je 0x7837f913
cmp eax, 8
jg 0x7837f7ef
je 0x7837f765
dec eax
dec eax
je 0x7837f742
dec eax
je 0x7837f6fb
dec eax
je 0x7837f6b4
dec eax
je 0x7837f691
dec eax
je 0x7837f666
dec eax
jne 0x7837f991
push eax
push 7
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
lea eax, [esp + 0x44]
jmp 0x7837f6a2
push 0
push 6
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
push dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
call fcn.7837a9af
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
jmp 0x7837f991
push 0
push 5
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
lea eax, [esp + 0x44]
mov esi, dword [ebx + 0x54]
push eax
push dword [esp + 0x1c]
call fcn.78380879
jmp 0x7837f991
push 0
push 4
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov eax, esi
call fcn.7837b27c
test al, al
je 0x7837f991
mov eax, dword [esp + 0x28]
fld dword [esp + 0x44]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov eax, dword [eax + ecx + 4]
add eax, dword [esi + 8]
fstp dword [eax]
jmp 0x7837f991
push 0
push 3
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov eax, esi
call fcn.7837b27c
test al, al
je 0x7837f991
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov eax, dword [eax + ecx + 4]
mov ecx, dword [esp + 0x44]
add eax, dword [esi + 8]
mov dword [eax], ecx
jmp 0x7837f991
push 0
push 2
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
lea eax, [esp + 0x44]
mov esi, dword [ebx + 0x54]
push eax
push dword [esp + 0x1c]
call fcn.78380845
jmp 0x7837f991
push 0
push 8
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
and dword [esp + 0x34], edi
mov esi, dword [ebx + 0x54]
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x28]
mov eax, esi
mov dword [esp + 0x28], edi
call fcn.7837b27c
test al, al
je 0x7837f7a5
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov eax, dword [eax + ecx + 4]
add eax, dword [esi + 8]
mov eax, dword [eax]
jmp 0x7837f7a9
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0x44]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [ebx + 0x54]
mov dword [esp + 0x34], eax
lea edx, [esp + 0x28]
mov eax, esi
mov dword [esp + 0x28], edi
call fcn.7837b27c
test al, al
je 0x7837f991
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov eax, dword [eax + ecx + 4]
mov ecx, dword [esp + 0x34]
jmp 0x7837f738
sub eax, 0xb
je 0x7837f8fd
sub eax, 3
je 0x7837f8b4
dec eax
dec eax
je 0x7837f8ae
dec eax
je 0x7837f867
dec eax
je 0x7837f81e
dec eax
jne 0x7837f991
push eax
push 0x13
jmp 0x7837f6ff
push 0
push 0x12
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov eax, esi
call fcn.7837b27c
test al, al
je 0x7837f991
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov eax, dword [eax + ecx + 4]
add eax, dword [esi + 8]
mov cx, word [esp + 0x44]
mov word [eax], cx
jmp 0x7837f991
push 0
push 0x11
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov eax, esi
call fcn.7837b27c
test al, al
je 0x7837f991
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov eax, dword [eax + ecx + 4]
add eax, dword [esi + 8]
mov cl, byte [esp + 0x44]
mov byte [eax], cl
jmp 0x7837f991
push 0
push 0x10
jmp 0x7837f86b
push 0
push 0xe
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
mov eax, dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov eax, esi
call fcn.7837b27c
test al, al
je 0x7837f991
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x14]
imul eax, eax, 0x30
mov edi, dword [eax + ecx + 4]
add edi, dword [esi + 8]
lea esi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x7837f991
push 0
push 0xb
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
lea eax, [esp + 0x44]
jmp 0x7837f753
xor edi, edi
push edi
push 8
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
mov esi, dword [ebx + 0x54]
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x20]
push edi
push edi
push dword [eax + ecx + 0x10]
push dword [esp + 0x24]
call fcn.7837a9af
push eax
push 0xffffffffffffffff
push dword [esp + 0x58]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x7837f991
cmp eax, 0x82
jne 0x7837f991
push 0
push 8
lea ecx, [esp + 0x44]
call sym.MFC80U.DLL_Ordinal_1387
push dword [esp + 0x18]
mov esi, dword [ebx + 0x54]
call fcn.7837a9af
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + edx + 0x10]
shr ecx, 1
lea edx, [ecx - 1]
push edx
push dword [esp + 0x48]
push ecx
push eax
call dword [sym.imp.MSVCR80.dll_wcsncpy_s]
push eax
call fcn.78316ae8
add esp, 0x14
mov eax, dword [ebx + 0x50]
and dword [esp + 0x28], 0
lea ecx, [esp + 0x4c]
mov dword [eax + 8], ecx
mov esi, dword [ebx + 0x50]
mov eax, dword [esi + 8]
mov edi, dword [eax + 4]
test edi, edi
jbe 0x7837f9c6
mov eax, dword [esp + 0x28]
mov ecx, esi
call fcn.783807c2
test eax, eax
jl 0x7837f9c6
inc dword [esp + 0x28]
cmp dword [esp + 0x28], edi
jb 0x7837f9ad
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
push dword [esp + 0x38]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ecx + 8], eax
call esi
push dword [esp + 0x58]
mov edi, dword [sym.imp.MSVCR80.dll_free]
call edi
push dword [esp + 0x74]
call edi
or dword [esp + 0x90], 0xffffffff
pop ecx
pop ecx
lea eax, [esp + 0x3c]
push eax
call esi
mov eax, dword [esp + 0x30]
xor edi, edi
inc dword [esp + 0x24]
jmp 0x7837fa10
mov eax, dword [esp + 0x30]
xor edi, edi
cmp eax, edi
jne 0x7837f507
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x2c], 0x28
add dword [esp + 0x20], 0x30
cmp eax, dword [ebx + 0x10]
jle 0x7837f4ec
cmp dword [esp + 0x1c], edi
jle 0x7837fa3c
mov dword [ebx + 0x44], edi
xor eax, eax
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jmp sym.MFC80U.DLL_Ordinal_1176
lea ecx, [ebx + 0xc]
cmp dword [ecx], edi
jne 0x7837fa72
mov eax, dword [ebx + 8]
mov edx, dword [eax]
push ecx
push 0x782e20d0
push eax
call dword [edx]
cmp eax, edi
jl 0x7837fa3c
cmp dword [ebx + 0x10], edi
mov dword [esp + 0x18], edi
jle 0x7837fbd9
mov dword [esp + 0x20], edi
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax + 0x24]
mov eax, dword [eax + 4]
cmp eax, edi
je 0x7837fbc3
mov ecx, dword [esp + 0x24]
imul ecx, ecx, 0x30
mov dword [esp + 0x28], ecx
cmp eax, edi
mov ecx, eax
je 0x7837fa54
mov ecx, dword [ecx + 8]
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
add ecx, 0xa8
cmp dword [ecx], edi
mov dword [esp + 0x34], eax
je 0x7837fbb2
inc dword [esp + 0x1c]
xor esi, esi
inc esi
cmp dword [esp + 0x1c], esi
mov dword [ecx], edi
jne 0x7837fb05
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push eax
call dword [ecx + 0x18]
cmp eax, edi
jl 0x7837fa3e
cmp dword [esp + 0x38], esi
jne 0x7837fb02
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xc]
cmp eax, edi
jl 0x7837fa3e
mov dword [ebx + 0x44], esi
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x30], 0x10
call sym.MFC80U.DLL_Ordinal_1194
mov dword [esp + 0x88], 2
mov esi, dword [esp + 0x30]
add esi, 0xac
movzx eax, word [esi]
cmp eax, edi
jl 0x7837fb4b
cmp eax, 1
jle 0x7837fb46
cmp eax, 8
je 0x7837fcb0
cmp eax, 0xa
jne 0x7837fb4b
or dword [esp + 0x2c], 0xffffffff
push esi
lea ecx, [esp + 0x40]
call sym.MFC80U.DLL_Ordinal_794
mov eax, dword [ebx + 0x3c]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], 1
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x3c]
lea edi, [esp + 0x4c]
push edi
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x10]
push esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
or dword [esp + 0x88], 0xffffffff
lea eax, [esp + 0x3c]
push eax
call esi
mov eax, dword [esp + 0x34]
xor edi, edi
inc dword [esp + 0x24]
add dword [esp + 0x28], 0x30
cmp eax, edi
jne 0x7837faa4
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x20], 0x28
cmp eax, dword [ebx + 0x10]
jl 0x7837fa83
mov eax, dword [ebx + 0x1c]
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x7837fc7f
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x7837fa54
mov esi, dword [eax + 8]
mov ecx, eax
mov eax, dword [esi]
cmp dword [eax + 0x50], edi
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
je 0x7837fc75
mov eax, dword [eax + 0x50]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push 0x782e20b0
push eax
call dword [ecx]
test eax, eax
jl 0x7837fc75
mov eax, dword [esp + 0x30]
push dword [esi + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x7837fc6b
inc dword [esp + 0x1c]
xor esi, esi
inc esi
cmp dword [esp + 0x1c], esi
jne 0x7837fc6b
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push eax
call dword [ecx + 0x18]
cmp eax, edi
jl 0x7837fa3e
cmp dword [esp + 0x34], esi
jne 0x7837fc68
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xc]
cmp eax, edi
jl 0x7837fa3e
mov dword [ebx + 0x44], esi
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [esp + 0x28], edi
jne 0x7837fbe8
cmp dword [esp + 0x1c], edi
jle 0x7837fa3c
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
push edi
push edi
push edi
push eax
call dword [ecx + 0x1c]
mov esi, eax
cmp esi, edi
mov dword [ebx + 0x44], edi
jge 0x7837fa3c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
mov eax, esi
jmp 0x7837fa3e
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xb4]
cmp word [eax], di
jne 0x7837fb4b
or dword [esp + 0x2c], 0xffffffff
jmp 0x7837fb55