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

Disassembly:
sub esp, 0xe8
push ebx
push ebp
mov ebp, dword [esp + 0xf4]
push esi
push edi
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x10c01a65
mov dword [esp + 0x100], 0x10e04008
mov esi, dword [esp + 0x104]
test esi, esi
jne 0x10c01a88
push 0x48
push 0x5a
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 6
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, eax
neg esi
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x10c01ac0
mov ecx, dword [ebp + 0x8c0]
push 0x96a
push ecx
call dword [sym.imp.USER32.dll_LoadBitmapA]
test eax, eax
mov dword [esp + 0x108], eax
je 0x10c01ac0
mov ecx, dword [ebp + 4]
mov edx, eax
mov eax, dword [ebp + 8]
push edx
push eax
push ecx
call sym.PBVM90.dll_shBitmapColorMap3D
mov eax, dword [esp + 0x10c]
test eax, eax
jne 0x10c01ad6
mov dword [esp + 0x10c], str.123456789
mov edx, dword [esp + 0x10c]
push 1
push edx
push ebp
call fcn.10c09db0
mov ebx, eax
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x48]
add esp, 0xc
rep stosd dword es:[edi], eax
mov dword [esp + 0x3c], esi
mov byte [esp + 0x53], al
call fcn.10bd19f0
test eax, eax
je 0x10c01b21
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x58]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__mbscpy]
add esp, 8
jmp 0x10c01b49
mov edi, dword [esp + 0x100]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x58]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x9dc]
test eax, eax
je 0x10c01b5a
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [esp + 0x3c]
push ecx
call sym.PBVM90.dll_shCreateFontIndirect
push eax
mov dword [ebp + 0x9dc], eax
mov esi, dword [esp + 0x14]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, ebx
or ecx, 0xffffffff
mov dword [esp + 0x18], eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
mov dword [esp + 0x14], edi
call fcn.10bd19f0
test eax, eax
je 0x10c01baa
lea edx, [esp + 0x78]
push 0x10e04020
push edx
call dword [sym.imp.MSVCRT.dll__mbscpy]
add esp, 8
jmp 0x10c01bd8
mov edi, 0x10e04024
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x78]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov edx, 1
test edi, edi
jle 0x10c01bf4
mov al, byte [ebx + ecx]
cmp al, 0x26
je 0x10c01bef
mov byte [esp + edx + 0x78], al
inc edx
inc ecx
cmp ecx, edi
jl 0x10c01be3
mov byte [esp + edx + 0x78], 0
call fcn.10bd19f0
test eax, eax
je 0x10c01c17
lea ecx, [esp + 0x78]
push 0x10e04028
push ecx
call dword [sym.imp.MSVCRT.dll__mbscat]
add esp, 8
jmp 0x10c01c2d
lea edi, [esp + 0x78]
or ecx, 0xffffffff
xor eax, eax
mov dx, word [0x10e0402c]
repne scasb al, byte es:[edi]
mov word [edi - 1], dx
cmp ebx, dword [esp + 0x10c]
je 0x10c01c40
mov eax, dword [ebp + 4]
push ebx
push eax
call sym.PBVM90.dll_pbstg_fee
lea edi, [esp + 0x78]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
lea eax, [esp + 0x7c]
push ecx
push eax
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
and ecx, 0xffff
shl ecx, 0x10
and edx, 0xffff
push eax
or ecx, edx
push esi
mov dword [ebp + 0x9d4], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp + 0xc]
push esi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
lea edx, [esp + 0x24]
mov esi, dword [esp + 0x108]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
push esi
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
and eax, 0xffff
and ecx, 0xffff
shl eax, 0x10
or eax, ecx
mov dword [ebp + 0x9d8], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebp
call fcn.10c04e30
add esp, 4
push ebp
call fcn.10c04fd0
add esp, 4
push ebp
call fcn.10c06b10
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret 0x14