Function at 0x10b85c90
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x10e2cda0]
sub esp, 0xd8
test eax, eax
push ebx
push ebp
push esi
push edi
mov ebp, ecx
je 0x10b85cd9
mov ecx, dword [ebp + 8]
xor eax, eax
test cl, 2
je 0x10b85cb4
mov eax, dword [ebp + 0x14]
jmp 0x10b85cc7
test cl, 4
je 0x10b85cc7
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadIconA]
mov edx, dword [ebp]
push eax
push 1
push 0x80
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [ebp + 8]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
test al, 1
je 0x10b85d00
mov ecx, dword [0x10e2c724]
lea eax, [esp + 0x68]
push 0x80
push eax
push 0x3fc
push ecx
call esi
jmp 0x10b85d05
mov byte [esp + 0x68], 0
mov edx, dword [ebp + 0x18]
shr edx, 0x10
jne 0x10b85d45
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x80
sub eax, ecx
lea edi, [esp + 0x68]
push eax
or ecx, 0xffffffff
xor eax, eax
mov dx, word [ebp + 0x18]
repne scasb al, byte es:[edi]
mov eax, dword [ebp + 0x10]
not ecx
dec ecx
lea ecx, [esp + ecx + 0x6c]
push ecx
push edx
push eax
call esi
jmp 0x10b85d8e
call fcn.10bd19f0
test eax, eax
je 0x10b85d62
mov ecx, dword [ebp + 0x18]
lea edx, [esp + 0x68]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__mbscat]
add esp, 8
jmp 0x10b85d8e
mov edi, dword [ebp + 0x18]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x68]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp]
lea eax, [esp + 0x68]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
test byte [ebp + 8], 8
je 0x10b85dce
mov eax, dword [ebp + 0x1c]
xor esi, esi
test eax, eax
jle 0x10b85ded
xor edi, edi
mov edx, dword [ebp + 0x24]
add edx, edi
push edx
call sym.PBVM90.dll_PBCreatePropertySheetPage
push eax
mov ecx, ebp
call fcn.10b854d0
mov eax, dword [ebp + 0x1c]
inc esi
add edi, 0x28
cmp esi, eax
jl 0x10b85dae
jmp 0x10b85ded
mov eax, dword [ebp + 0x1c]
xor esi, esi
test eax, eax
jle 0x10b85ded
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + esi*4]
push ecx
mov ecx, ebp
call fcn.10b854d0
mov eax, dword [ebp + 0x1c]
inc esi
cmp esi, eax
jl 0x10b85dd7
mov ecx, dword [ebp + 0x2c]
mov edx, 0x200
test ecx, ecx
jle 0x10b85e0d
mov eax, dword [ebp + 0x4c]
mov esi, dword [eax]
test byte [esi + 4], 0x20
je 0x10b85e07
or dword [ebp + 8], edx
add eax, 4
dec ecx
jne 0x10b85dfc
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [sym.imp.USER32.dll_DestroyWindow]
test edx, eax
jne 0x10b85f39
test al, 0x20
je 0x10b85ec0
mov eax, dword [ebp]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea edx, [esp + 0x28]
push edx
push 9
push eax
call esi
push eax
call ebx
mov edx, dword [ebp]
lea ecx, [esp + 0x38]
push ecx
push 2
push edx
call esi
push eax
call ebx
mov eax, dword [ebp]
push 9
push eax
call esi
push eax
call edi
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
sub ecx, eax
push 0
push ecx
push 2
mov ecx, ebp
call fcn.10b85960
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
sub edx, ecx
push 0
push edx
push 0x3ee
mov ecx, ebp
call fcn.10b85960
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
sub eax, edx
push 0
push eax
push 0x3ed
mov ecx, ebp
call fcn.10b85960
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
sub ecx, eax
push 0
push ecx
push 0x3ec
mov ecx, ebp
call fcn.10b85960
jmp 0x10b85f3f
mov eax, dword [ebp]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea edx, [esp + 0x38]
push edx
push 9
push eax
call esi
push eax
call ebx
mov edx, dword [ebp]
lea ecx, [esp + 0x28]
push ecx
push 0x3021
push edx
call esi
push eax
call ebx
mov eax, dword [ebp]
push 9
push eax
call esi
push eax
call edi
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
sub ecx, esi
push 0
push ecx
push 0x3021
mov ecx, ebp
call fcn.10b85960
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
sub edx, esi
push 0
push edx
push 2
mov ecx, ebp
call fcn.10b85960
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
sub eax, edx
push 0
push eax
push 1
mov ecx, ebp
call fcn.10b85960
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov eax, dword [ebp + 8]
test al, 0x20
jne 0x10b85fa7
test al, 0x80
je 0x10b85fa7
mov edx, dword [ebp]
lea ecx, [esp + 0x38]
push ecx
push 0x3021
push edx
call esi
push eax
call ebx
mov ecx, dword [ebp]
lea eax, [esp + 0x28]
push eax
push 2
push ecx
call esi
push eax
call ebx
mov edx, dword [ebp]
push 0x3021
push edx
call esi
push eax
call edi
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
sub eax, edi
push 0
push eax
push 2
mov ecx, ebp
call fcn.10b85960
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
sub ecx, edi
push 0
push ecx
push 1
mov ecx, ebp
call fcn.10b85960
mov eax, dword [ebp + 0x2c]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x24], edx
jle 0x10b85fe3
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x34]
cmp edx, ecx
jg 0x10b85fc6
mov edx, ecx
mov eax, dword [eax + 0x38]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jg 0x10b85fd5
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
add edi, 4
dec eax
mov dword [esp + 0x20], eax
jne 0x10b85fbb
test byte [ebp + 8], 0x20
je 0x10b85ff8
cmp edx, 0x114
jg 0x10b86005
mov edx, 0x114
jmp 0x10b86005
cmp edx, 0xd4
jg 0x10b86005
mov edx, 0xd4
mov eax, dword [esp + 0x24]
mov edi, dword [sym.imp.USER32.dll_SetRect]
push eax
push edx
push 0
lea ecx, [esp + 0x1c]
push 0
push ecx
call edi
mov eax, dword [ebp]
lea edx, [esp + 0x10]
push edx
push eax
call dword [sym.imp.USER32.dll_MapDialogRect]
mov eax, dword [ebp]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push 0x3eb
push eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
call esi
lea ecx, [esp + 0x48]
mov esi, eax
push ecx
push esi
call ebx
test byte [ebp + 8], 0x20
jne 0x10b86140
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edx
push eax
push 0
lea ecx, [esp + 0x1c]
push 0
push ecx
call edi
lea edx, [esp + 0x10]
push edx
push 1
push 0x1328
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
sub eax, edx
push 6
push eax
sub ecx, dword [esp + 0x18]
push ecx
push 0
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edx
push eax
push 0
lea ecx, [esp + 0x1c]
push 0
push ecx
call edi
lea edx, [esp + 0x10]
push edx
push 1
push 0x1328
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
sub eax, edx
push 6
push eax
sub ecx, dword [esp + 0x18]
push ecx
push 0
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
lea edi, [ebp + 0x34]
push edi
push esi
call ebx
mov edx, dword [ebp]
push 2
push edi
push edx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x1328
push esi
call edi
push 0
push 0
push 0x132c
push esi
call edi
cmp eax, 1
jle 0x10b86199
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
and ah, 0xf7
push eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x10b86199
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push 0
lea edx, [esp + 0x1c]
push 0
push edx
call edi
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
sub eax, edx
push 6
sub ecx, edi
push eax
push ecx
push 0
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
lea edi, [ebp + 0x34]
push edi
push esi
call ebx
mov edx, dword [ebp]
push 2
push edi
push edx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x18]
sub edi, eax
mov eax, dword [esp + 0x14]
sub edi, esi
mov esi, dword [esp + 0x4c]
add edi, edx
mov edx, dword [esp + 0x1c]
sub esi, ecx
mov ecx, dword [ebp]
sub esi, eax
lea eax, [esp + 0x10]
add esi, edx
push eax
push ecx
call ebx
mov eax, dword [ebp]
lea edx, [esp + 0x10]
push 2
push edx
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, esi
push 0
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x5c]
push ecx
add edx, edi
push 0
push 0x30
mov dword [esp + 0x28], edx
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
test eax, eax
push 1
je 0x10b86266
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov eax, edx
sub eax, ecx
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x68]
sub eax, ecx
sub eax, edx
mov edx, dword [esp + 0x20]
add eax, edx
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x70]
sub eax, ecx
sub eax, edx
mov edx, dword [esp + 0x20]
add eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10b862af
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
sub eax, edx
mov edx, dword [esp + 0x14]
push eax
sub ecx, edx
push ecx
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
sub edx, ecx
add eax, edx
cdq
sub eax, edx
sar eax, 1
push eax
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
sub ecx, edx
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp]
push eax
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
push esi
push edi
push 1
mov ecx, ebp
call fcn.10b85960
push esi
push edi
push 2
mov ecx, ebp
call fcn.10b85960
push esi
push edi
push 0x3021
mov ecx, ebp
call fcn.10b85960
push esi
push edi
push 9
mov ecx, ebp
call fcn.10b85960
push esi
push edi
push 0x3ec
mov ecx, ebp
call fcn.10b85960
push esi
push edi
push 0x3ed
mov ecx, ebp
call fcn.10b85960
push esi
push edi
push 0x3ee
mov ecx, ebp
call fcn.10b85960
mov eax, dword [ebp]
push 0x3ef
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
mov dword [esp + 0x20], eax
je 0x10b8637c
lea ecx, [esp + 0x28]
push ecx
push eax
call ebx
mov eax, dword [ebp]
lea edx, [esp + 0x28]
push 2
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add ecx, esi
add edx, esi
mov dword [esp + 0x34], ecx
sub ecx, edx
push 1
add eax, edi
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
sub eax, ecx
mov dword [esp + 0x34], edx
push eax
push edx
push ecx
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebp + 8]
test ah, 1
je 0x10b8638f
mov edx, dword [ebp]
push 0
push 1
push edx
call dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
test eax, eax
jle 0x10b863ca
mov al, byte [ebp + 8]
push 0
test al, 0x40
je 0x10b863bf
mov eax, dword [ebp + 0x20]
mov ecx, ebp
push eax
call fcn.10b85a60
push eax
mov ecx, ebp
call fcn.10b85700
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd8
ret
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, ebp
call fcn.10b85700
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd8
ret