Function at 0x100bc970
Capabilities:
Hide graphical window

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ffe90
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1060
call fcn.100d5ce0
mov eax, dword [0x1013c014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x64], 0
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1030], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1038], eax
je 0x100bc9e3
call fcn.100bc6a0
push ecx
mov ecx, edi
mov dword [edi + 0x64], 0
call fcn.100bd7d0
xor esi, esi
mov dword [edi + 0x60], 0
mov dword [ebp - 0x102c], esi
mov esi, dword [ebp - 0x1030]
test esi, esi
je 0x100bcbf8
mov eax, dword [esi + 0x30]
test eax, eax
mov ecx, dword [esi + 4]
cmove eax, esi
cmp ecx, 2
jne 0x100bca5c
cmp dword [esi + 0x64], 0xffffffff
je 0x100bcbf8
mov esi, 1
xor ecx, ecx
cmp word [eax + 0x38], 3
mov dword [ebp - 0x102c], esi
jne 0x100bca31
mov ecx, dword [eax + 0x40]
push ecx
push 0x10112fec
lea eax, [ebp - 0x1018]
push 0x800
push eax
call fcn.100a4830
mov eax, dword [ebp - 0x102c]
add esp, 0x10
mov esi, dword [ebp - 0x1030]
jmp 0x100bcbfa
cmp ecx, 6
je 0x100bcb60
cmp ecx, 7
je 0x100bcb60
cmp ecx, 8
je 0x100bcb60
cmp ecx, 9
je 0x100bcb60
cmp ecx, 0xa
je 0x100bcb60
cmp ecx, 0xb
je 0x100bcb60
cmp ecx, 0xd
je 0x100bcb60
cmp ecx, 3
je 0x100bcb08
cmp ecx, 4
je 0x100bcb08
cmp ecx, 5
jne 0x100bcbf8
mov esi, 9
xor edx, edx
cmp word [eax + 0x38], 3
mov dword [ebp - 0x102c], esi
jne 0x100bcadd
mov ecx, dword [eax + 0x40]
mov eax, ecx
shr eax, 0x10
movzx edx, al
movzx eax, cl
and ecx, 0xff00
shl eax, 0x10
or edx, eax
or edx, ecx
push edx
push 0x101150e4
lea eax, [ebp - 0x1018]
push 0x800
push eax
call fcn.100a4830
mov eax, dword [ebp - 0x102c]
add esp, 0x10
mov esi, dword [ebp - 0x1030]
jmp 0x100bcbfa
xor ecx, ecx
mov word [ebp - 0x1018], cx
cmp word [eax + 0x38], 3
mov dword [0x10158f50], ecx
jne 0x100bcb40
mov ecx, dword [eax + 0x40]
lea edx, [ebp - 0x1018]
push 0
push 0
push 0
push 0x800
mov dword [0x10158f50], ecx
call fcn.100babf0
add esp, 0x10
xor eax, eax
cmp byte [ebx + 0x10], al
je 0x100bcbfa
cmp dword [esi + 4], 4
sete al
add eax, 7
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
cmp word [eax + 0x38], 8
jne 0x100bcb82
push dword [eax + 0x40]
mov edx, 0x800
lea ecx, [ebp - 0x1018]
call fcn.100a4780
mov ecx, dword [esi + 4]
add esp, 4
jmp 0x100bcb8b
xor eax, eax
mov word [ebp - 0x1018], ax
cmp ecx, 6
jne 0x100bcb9d
mov eax, 2
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
cmp ecx, 7
jne 0x100bcbaf
mov eax, 3
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
cmp ecx, 8
jne 0x100bcbc1
mov eax, 4
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
cmp ecx, 9
jne 0x100bcbd3
mov eax, 5
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
cmp ecx, 0xa
jne 0x100bcbe5
mov eax, 6
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
xor eax, eax
cmp ecx, 0xb
setne al
add eax, 0xa
mov dword [ebp - 0x102c], eax
jmp 0x100bcbfa
xor eax, eax
mov dword [edi + 0x5c], eax
test eax, eax
je 0x100bccfc
mov edx, dword [esi + 8]
lea ecx, [ebp - 0x1034]
call fcn.100aedf0
mov eax, dword [ebp - 0x1038]
xorps xmm0, xmm0
mov dword [ebp - 0x106c], eax
mov eax, dword [ebp - 0x1034]
mov dword [ebp - 0x1060], eax
lea eax, [ebp - 0x1070]
push eax
push 0
push 0x113f
push dword [edi + 0x44]
mov dword [ebp - 0x1070], 1
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0
movups xmmword [ebp - 0x105c], xmm0
mov dword [ebp - 0x104c], 0
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x1028]
push eax
push dword [edi + 0x44]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x1038]
mov esi, dword [ebp - 0x1020]
mov dword [ebp - 0x1028], eax
lea eax, [ebp - 0x1028]
push eax
push 1
push 0x1104
push dword [edi + 0x44]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1020]
mov edx, dword [ebp - 0x1034]
mov dword [ebp - 0x1028], eax
add edx, 0xfffffff0
mov eax, dword [ebp - 0x1038]
mov dword [edi + 0x60], eax
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1020], esi
mov dword [edi + 0x64], eax
mov dword [ebp - 4], 0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100bccf6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x102c]
cmp eax, 3
je 0x100bcd3e
cmp eax, 4
je 0x100bcd3e
cmp eax, 5
je 0x100bcd3e
cmp eax, 6
je 0x100bcd3e
cmp eax, 0xa
je 0x100bcd3e
cmp eax, 9
je 0x100bcd3e
cmp eax, 0xb
je 0x100bcd3e
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [edi + 0x50]
call esi
push 0
push dword [edi + 0x54]
call esi
mov esi, dword [ebp - 0x102c]
jmp 0x100bce32
movups xmm1, xmmword [ebp - 0x1028]
mov esi, dword [ebp - 0x102c]
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
movups xmmword [ebp - 0x1048], xmm1
sub ecx, eax
psrldq xmm1, 8
lea eax, [ecx + ecx*2]
movd ecx, xmm1
cdq
sub eax, edx
mov edx, dword [ebp - 0x1044]
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x1030], ecx
cmp esi, 6
jne 0x100bcdd7
mov eax, dword [ebp - 0x103c]
push 0x44
sub eax, edx
push eax
mov eax, dword [ebp - 0x1040]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [edi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebp - 0x1030]
sub eax, dword [ebp - 0x1034]
mov ecx, dword [ebp - 0x1040]
sub ecx, dword [ebp - 0x1034]
mov dword [ebp - 0x1030], eax
jmp 0x100bcdee
push 0
push dword [edi + 0x54]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x1030]
mov ecx, dword [ebp - 0x1040]
mov edx, dword [ebp - 0x103c]
sub ecx, eax
sub edx, dword [ebp - 0x1044]
push 0x44
push edx
push ecx
push dword [ebp - 0x1044]
mov dword [ebp - 0x1034], eax
push eax
push 0
push dword [edi + 0x50]
call dword [sym.imp.USER32.dll_SetWindowPos]
movzx eax, byte [ebx + 0x10]
push eax
push dword [edi + 0x50]
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1020], eax
test esi, esi
je 0x100bcecc
lea eax, [ebp - 0x1018]
push eax
push dword [edi + 0x4c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
movzx eax, byte [ebx + 0x10]
push 0
xor eax, 1
push eax
push 0xcf
push dword [edi + 0x4c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x101c]
mov edx, dword [ebp - 0x1024]
sub eax, edx
mov ecx, dword [ebp - 0x1028]
push 0x44
push eax
mov eax, dword [ebp - 0x1020]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [edi + 0x4c]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push dword [edi + 0x4c]
push 0x28
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, 7
jne 0x100bcea9
lea eax, [esi - 6]
jmp 0x100bceb6
xor eax, eax
mov ecx, 2
cmp esi, 8
cmove eax, ecx
push eax
push 0x434c5348
push 0x100bad60
push dword [edi + 0x4c]
call dword [sym.imp.COMCTL32.dll_SetWindowSubclass]
jmp 0x100bced7
push 0
push dword [edi + 0x4c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100d4906
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc