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

Disassembly:
sub esp, 0x7c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x8c]
xor ebp, ebp
push edi
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push ebp
push esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], ebp
call edi
push 4
push esi
mov dword [esp + 0x18], eax
call edi
lea eax, [esp + 0x4c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
cmp eax, ebp
je 0x10c06c53
add dword [esp + 0x50], eax
jmp 0x10c06c64
push 0
push 0x40
lea ecx, [esp + 0x54]
push 0xf
push ecx
push ebx
call sym.PBVM90.dll_osDrawMiddle
push 4
push esi
call edi
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x10c06c82
mov eax, dword [ecx + 4]
test eax, eax
mov dword [ecx + 8], eax
je 0x10c06c82
mov esi, dword [eax + 8]
jmp 0x10c06c84
xor esi, esi
test esi, esi
je 0x10c06cef
mov edi, dword [sym.imp.USER32.dll_CopyRect]
mov edx, dword [esi]
lea eax, [esp + 0x7c]
add edx, 0x18
push edx
push eax
call edi
mov eax, dword [0x10e2ceec]
test eax, eax
je 0x10c06cbb
push 0x80f
lea ecx, [esp + 0x80]
push 4
push ecx
push ebx
call sym.PBVM90.dll_osDrawEdge3D
jmp 0x10c06ccd
push 0x4f
lea edx, [esp + 0x80]
push 6
push edx
push ebx
call sym.PBVM90.dll_osDrawEdge2D
mov eax, dword [0x10e2d2a8]
test eax, eax
je 0x10c06cdf
cmp eax, esi
jne 0x10c06cdf
mov ebp, 1
mov eax, dword [esp + 0x1c]
push eax
call sym.PBVM90.dll_shlist_get_prev
mov esi, eax
test esi, esi
jne 0x10c06c8e
mov edi, dword [esp + 0x1c]
test ebp, ebp
jne 0x10c06d09
mov eax, dword [0x10e2d2a4]
test eax, eax
je 0x10c06d09
push eax
call fcn.10c085a0
add esp, 4
mov esi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push ebx
call esi
push ebx
mov dword [esp + 0x3c], eax
call esi
test edi, edi
mov dword [esp + 0x34], eax
mov eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
je 0x10c06d3c
mov eax, dword [edi]
test eax, eax
mov dword [edi + 8], eax
je 0x10c06d3c
mov ebp, dword [eax + 8]
jmp 0x10c06d3e
xor ebp, ebp
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x10c072a2
jmp 0x10c06d50
mov edi, dword [esp + 0x1c]
mov al, byte [ebp + 0x28]
xor ecx, ecx
test al, 0x20
mov dword [esp + 0x24], ecx
je 0x10c06d91
mov edx, dword [ebp]
cmp word [edx + 8], 4
je 0x10c06d91
push edi
call sym.PBVM90.dll_shlist_get_handle
mov ecx, dword [ebp + 8]
mov esi, eax
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
call fcn.10c08ff0
add esp, 0xc
push esi
push edi
call sym.PBVM90.dll_shlist_set_current
xor ecx, ecx
cmp dword [esp + 0x2c], ecx
je 0x10c06e01
mov eax, dword [0x10e2ceec]
mov edx, dword [ebp]
cmp eax, ecx
je 0x10c06dbf
xor eax, eax
mov ax, word [edx + 8]
cmp eax, 3
ja case.default.0x10c06dca
jmp dword [eax*4 + 0x10c07314]
mov dword [esp + 0x14], 0xa
jmp 0x10c06dfd
xor eax, eax
mov ax, word [edx + 8]
cmp eax, 3
ja case.default.0x10c06dca
jmp dword [eax*4 + 0x10c07324]
mov dword [esp + 0x14], 8
jmp 0x10c06dfd
mov dword [esp + 0x14], 2
jmp 0x10c06dfd
mov dword [esp + 0x14], 4
jmp 0x10c06dfd
mov dword [esp + 0x14], 1
jmp 0x10c06dfd
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [ebp]
mov cx, word [eax + 8]
cmp cx, 4
je 0x10c06ef4
cmp cx, 1
je 0x10c06e7c
cmp cx, 3
je 0x10c06e7c
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x18]
mov esi, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ecx + 0x9a8]
lea eax, [eax + ecx + 4]
lea ebp, [edx + ecx + 1]
lea edx, [ecx + ecx]
lea ecx, [esp + 0x4c]
lea edi, [eax + 3]
sub esi, edx
push edi
push esi
push eax
push ebp
push ecx
call dword [sym.imp.USER32.dll_SetRect]
push 0xf
lea edx, [esp + 0x50]
push 4
push edx
push ebx
call sym.PBVM90.dll_osDrawEdge3D
lea eax, [edi + 3]
lea ecx, [esp + 0x4c]
push eax
push esi
push edi
push ebp
push ecx
call dword [sym.imp.USER32.dll_SetRect]
push 0xf
lea edx, [esp + 0x50]
push 4
push edx
jmp 0x10c06eea
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov ecx, dword [ecx + 0x9a8]
test esi, esi
lea edx, [edx + ecx + 3]
lea ebp, [esi + ecx + 1]
lea edi, [edx + 3]
jne 0x10c06e9c
inc ebp
mov esi, dword [eax + 0x24]
add ecx, ecx
sub esi, ecx
push esi
push edi
push ebp
push edx
lea edx, [esp + 0x5c]
push edx
call dword [sym.imp.USER32.dll_SetRect]
push 0xf
lea eax, [esp + 0x50]
push 4
push eax
push ebx
call sym.PBVM90.dll_osDrawEdge3D
mov ecx, edi
push esi
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x9a8]
sub ecx, eax
lea eax, [esp + 0x50]
add ecx, 3
push ecx
push ebp
push edi
push eax
call dword [sym.imp.USER32.dll_SetRect]
push 0xf
lea ecx, [esp + 0x50]
push 4
push ecx
push ebx
call sym.PBVM90.dll_osDrawEdge3D
mov ebp, dword [esp + 0x18]
lea edx, [esp + 0x6c]
xor edi, edi
push edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov eax, dword [ebp + 0x24]
cmp eax, edi
je 0x10c06f24
mov ecx, dword [eax]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 8]
cmp eax, edi
je 0x10c06f24
mov esi, dword [eax + 8]
jmp 0x10c06f26
xor esi, esi
test esi, esi
je 0x10c07201
mov edx, dword [esp + 0x10]
mov eax, dword [ebp]
cmp word [eax + 8], 4
jne 0x10c06fa7
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x10c06f4d
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
jmp 0x10c06fa7
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
cmp edx, ecx
je 0x10c06fa3
mov edx, dword [eax + 0x18]
add ecx, 0xfffffffc
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0x20]
mov dword [esp + 0x68], ecx
push 0x42
lea ecx, [esp + 0x60]
push 0x10
push ecx
push ebx
mov dword [esp + 0x74], eax
call sym.PBVM90.dll_osDrawEdge2D
push 0x42
lea edx, [esp + 0x60]
mov eax, dword [esp + 0x64]
push 0x14
inc eax
push edx
push ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
call sym.PBVM90.dll_osDrawEdge2D
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp]
mov ax, word [ecx + 8]
cmp ax, 1
je 0x10c06fc0
cmp ax, 3
je 0x10c06fc0
cmp ax, 4
jne 0x10c07017
mov eax, dword [esp + 0x6c]
test eax, eax
jl 0x10c07017
mov eax, dword [esi + 8]
mov ecx, eax
sub ecx, dword [esp + 0x74]
cmp ecx, 1
jl 0x10c07017
cmp word [esi + 6], 0xffff
jne 0x10c07017
mov ecx, dword [edx + 0x9bc]
test ecx, ecx
je 0x10c07017
test edi, edi
jne 0x10c0700c
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 0x9b0]
add ecx, dword [esi + 0xc]
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + 0x9bc]
jmp 0x10c07010
mov eax, dword [esp + 0x44]
add eax, ecx
inc edi
mov dword [esp + 0x44], eax
mov ecx, dword [ebp]
mov ax, word [ecx + 8]
test ax, ax
je 0x10c07029
cmp ax, 2
jne 0x10c0708b
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x10c0708b
mov eax, dword [esi + 0xc]
sub eax, dword [esp + 0x78]
cmp eax, 1
jle 0x10c0708b
cmp word [esi + 6], 0xffff
jne 0x10c07097
mov eax, dword [edx + 0x9c0]
test eax, eax
je 0x10c0708b
test edi, edi
jne 0x10c07086
mov eax, dword [edx + 0x9a8]
mov ecx, dword [ecx + 0x18]
lea eax, [ecx + eax*2]
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x40], ecx
mov eax, dword [edx + 0x9ac]
add eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, ecx
add eax, dword [edx + 0x9c0]
mov dword [esp + 0x48], eax
jmp 0x10c0708a
add dword [esp + 0x48], eax
inc edi
cmp word [esi + 6], 0xffff
je 0x10c07175
test edi, edi
je 0x10c07175
mov ecx, dword [ebp]
mov ax, word [ecx + 8]
cmp ax, 1
je 0x10c07115
cmp ax, 3
je 0x10c07115
cmp ax, 4
je 0x10c07115
test ax, ax
je 0x10c070c7
cmp ax, 2
jne 0x10c07167
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
sub eax, ecx
mov edi, dword [esp + 0x24]
cdq
sub eax, edx
sar eax, 1
test edi, edi
lea eax, [ecx + eax - 1]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
je 0x10c070fd
push 0x42
lea edx, [esp + 0x40]
push 0x10
push edx
push ebx
call sym.PBVM90.dll_osDrawEdge2D
mov eax, dword [esp + 0x40]
inc eax
test edi, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
je 0x10c07167
push 0x42
lea eax, [esp + 0x40]
push 0x14
push eax
jmp 0x10c07161
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
sub eax, ecx
mov edi, dword [esp + 0x24]
cdq
sub eax, edx
sar eax, 1
test edi, edi
lea eax, [ecx + eax - 1]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
je 0x10c0714b
push 0x41
lea ecx, [esp + 0x40]
push 0x10
push ecx
push ebx
call sym.PBVM90.dll_osDrawEdge2D
mov eax, dword [esp + 0x3c]
inc eax
test edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
je 0x10c07167
push 0x41
lea edx, [esp + 0x40]
push 0x14
push edx
push ebx
call sym.PBVM90.dll_osDrawEdge2D
mov edx, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov eax, dword [esi + 0x30]
test eax, eax
je 0x10c071ad
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x10c071ad
cmp word [esi + 6], 0xffff
je 0x10c07193
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
push eax
push ecx
push ebx
push esi
push edx
call sym.PBVM90.dll_FN_ToolBarPaintItem
mov edx, dword [esp + 0x10]
add esi, 8
mov eax, dword [esi]
mov dword [esp + 0x6c], eax
mov ecx, dword [esi + 4]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 8]
mov dword [esp + 0x74], eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10c071f7
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10c071e3
cmp ecx, dword [eax + 4]
je 0x10c071e3
mov ecx, dword [ecx + 4]
jmp 0x10c071e5
xor ecx, ecx
mov dword [eax + 8], ecx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 8]
test eax, eax
je 0x10c071f7
mov esi, dword [eax + 8]
jmp 0x10c071f9
xor esi, esi
test esi, esi
jne 0x10c06f32
mov eax, dword [0x10e2d2a4]
test eax, eax
je 0x10c07233
mov ecx, dword [0x10e2d2ac]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10c0722e
mov edx, dword [0x10e2d2ac]
push 0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esp + 0x30], eax
mov eax, dword [0x10e2d2a4]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x10c0726d
test eax, eax
je 0x10c0726d
and word [eax + 0x1a], 0xffbf
mov eax, dword [0x10e2d2ac]
push eax
mov eax, dword [0x10e2d2a4]
mov dx, word [eax + 0x1a]
push edx
push eax
push ecx
call fcn.10c0a510
mov eax, dword [0x10e2d2a4]
add esp, 0x10
push eax
call fcn.10c085a0
add esp, 4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x10c07294
mov eax, dword [ecx + 8]
test eax, eax
je 0x10c07286
cmp eax, dword [ecx + 4]
je 0x10c07286
mov eax, dword [eax + 4]
jmp 0x10c07288
xor eax, eax
test eax, eax
mov dword [ecx + 8], eax
je 0x10c07294
mov ebp, dword [eax + 8]
jmp 0x10c07296
xor ebp, ebp
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x10c06d4c
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10c072f5
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x10c072f5
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x4c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x10e2ceec]
test eax, eax
mov eax, dword [esp + 0x14]
je 0x10c072e5
push eax
lea ecx, [esp + 0x50]
push 6
push ecx
push ebx
call sym.PBVM90.dll_osDrawEdge3D
jmp 0x10c072f5
or al, 0x40
lea edx, [esp + 0x4c]
push eax
push 6
push edx
push ebx
call sym.PBVM90.dll_osDrawEdge2D
mov eax, dword [esp + 0x34]
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
push eax
call esi
mov ecx, dword [esp + 0x38]
push ecx
call esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret 0xc