Function at 0x1000c828
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x10087004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, edx
mov ebx, ecx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x94], ebx
call fcn.1000396e
push 0xffffffffffffffeb
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
and dword [ebp - 0x50], 0
and dword [ebp - 0x48], 0
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x4c], 0xffffff
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
push ebx
mov dword [edi + 0x14], eax
call dword [sym.imp.USER32.dll_GetParent]
xor esi, esi
test eax, eax
cmove esi, dword [0x100899f0]
push esi
push 0
push 0x80
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
push esi
push 1
push 0x80
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
push 8
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0x3ea
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
and dword [ebp - 0x74], 0
lea ecx, [edi + 0x30]
push ecx
lea edx, [ebp - 0x74]
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x44]
call fcn.1000c751
mov edx, dword [ebp - 0x74]
test edx, edx
push 9
pop eax
cmove edx, eax
xor ecx, ecx
cmp byte [ebp - 0x44], cl
lea eax, [ebp - 0x44]
cmove eax, ecx
push eax
push ecx
push 0x190
mov ecx, ebx
call fcn.10006172
add esp, 0x10
mov esi, eax
mov dword [ebp - 0xa4], esi
mov dword [edi + 0x2c], esi
push 1
push esi
push 0x30
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push esi
push 0x30
push dword [ebp - 0x84]
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
push esi
push 0x30
push dword [ebp - 0x84]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [edi]
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x1000c972
cmp byte [eax + 0x60], 2
jne 0x1000c972
mov edx, dword [eax + 0xc4]
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xd4]
add ecx, edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x9c], ecx
jmp 0x1000c980
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xac], eax
mov edx, dword [edi + 4]
mov ecx, ebx
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xb4]
push esi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.1000c6a3
mov edx, dword [edi]
lea eax, [ebp - 0xa8]
push esi
push eax
lea eax, [ebp - 0x74]
mov ecx, ebx
push eax
call fcn.1000c6a3
mov eax, dword [ebp - 0x78]
add esp, 0x18
cmp eax, dword [ebp - 0x74]
cmovl eax, dword [ebp - 0x74]
cmp dword [edi + 8], 0
mov dword [ebp - 0xb0], eax
jge 0x1000ca0c
push dword [edi + 0x10]
push dword [ebp - 0x84]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x78]
push esi
push eax
lea eax, [ebp - 0x90]
mov ecx, ebx
push eax
call fcn.1000c6a3
mov eax, dword [ebp - 0x78]
add esp, 0xc
mov dword [ebp - 0xb8], eax
add eax, 0xf
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x90]
add eax, 0x14
jmp 0x1000ca25
push 0
push dword [ebp - 0x84]
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x74], eax
mov edx, dword [0x10087a68]
mov ecx, ebx
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x8c]
push esi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.1000c6a3
mov ecx, dword [edi + 8]
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov edx, ecx
add dword [ebp - 0x8c], 4
add eax, 0xa
mov esi, dword [ebp - 0xa8]
xor ebx, ebx
and edx, 0xf
mov dword [ebp - 0x90], eax
xor edi, edi
mov eax, edi
cmp dword [eax + 0x10087aa0], edx
jne 0x1000ca82
mov ebx, dword [eax + 0x10087aa8]
mov esi, dword [eax + 0x10087aa4]
add eax, 0xc
cmp eax, 0x54
jb 0x1000ca6e
mov edx, esi
mov dword [ebp - 0x7c], edi
mov eax, ecx
or edx, 0x200
and eax, 0x4000
mov eax, dword [ebp - 0x90]
cmove edx, esi
add eax, 8
mov esi, eax
mov dword [ebp - 0x78], edx
imul esi, ebx
and ecx, 0xf0
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0xa8], eax
sub esi, 8
mov dword [ebp - 0x80], esi
cmp ecx, 0x30
jne 0x1000cad4
mov eax, 0x7f03
jmp 0x1000caf6
cmp ecx, 0x40
jne 0x1000cae0
mov eax, 0x7f04
jmp 0x1000caf6
cmp ecx, 0x10
jne 0x1000caec
mov eax, 0x7f01
jmp 0x1000caf6
cmp ecx, 0x20
jne 0x1000cb5d
mov eax, 0x7f02
push eax
push edi
mov dword [ebp - 0x7c], eax
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x3e9
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push esi
mov edi, eax
push 0x170
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
push esi
call dword [sym.imp.USER32.dll_DestroyIcon]
lea eax, [ebp - 0x60]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x98]
push eax
push ebx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x80]
jmp 0x1000cb73
push edi
push 0x3e9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, edi
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa0]
add eax, 0x22
mov edi, dword [ebp - 0x80]
add ecx, 0x22
add eax, edx
add ecx, edx
cmp ecx, eax
jge 0x1000cb97
cmp eax, esi
cmovg edi, eax
cmp ecx, eax
jle 0x1000cb9e
cmp ecx, esi
cmovg edi, ecx
cmp esi, eax
jle 0x1000cba7
cmp esi, ecx
cmovg edi, esi
add edi, dword [ebp - 0x9c]
cmp dword [ebp - 0x7c], 0
je 0x1000cbbe
lea eax, [edx + 0xa]
mov dword [ebp - 0x94], eax
jmp 0x1000cbc8
mov dword [ebp - 0x94], 0xe
mov ecx, dword [ebp - 0x74]
mov eax, edi
add ecx, dword [ebp - 0x8c]
sub eax, esi
mov esi, dword [ebp - 0xb4]
add edi, dword [ebp - 0x9c]
add esi, 0x50
cdq
add esi, ecx
sub eax, edx
sar eax, 1
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x64]
sub eax, esi
cdq
push 4
sub eax, edx
push esi
sar eax, 1
push edi
push eax
mov eax, dword [ebp - 0x68]
sub eax, edi
cdq
sub eax, edx
sar eax, 1
push eax
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov esi, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x94]
add edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
add ecx, 0x14
mov edi, dword [ebp - 0xb4]
add eax, edx
push dword [esi + 4]
mov dword [esi + 0x24], eax
mov dword [ebp - 0x80], edx
lea eax, [ecx + edi]
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x28], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp dword [esi + 8], 0
mov dword [esi + 0x18], eax
jge 0x1000cc9a
mov eax, dword [ebp - 0x88]
push 4
push dword [ebp - 0xb8]
add eax, 0x20
push dword [ebp - 0xa0]
add eax, edi
push eax
push dword [ebp - 0x80]
push 0
push dword [ebp - 0x84]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x88]
add eax, edi
mov esi, dword [ebp - 0xa4]
add edx, 0x23
mov ecx, dword [ebp - 0x78]
add edx, eax
xor eax, eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x74], eax
mov edi, 0x10087a20
mov eax, dword [edi + 8]
test ecx, eax
je 0x1000cd2e
push 0
push dword [0x10089444]
add eax, 0x200
push eax
push ebx
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push edx
push dword [ebp - 0x7c]
push 0x50010020
push dword [edi]
push str.K7CustomBtnV1
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 0xa8]
add dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x1000cd25
push 0
push esi
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
inc dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x80]
add edi, 0xc
cmp edi, 0x10087a98
jl 0x1000ccc0
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov esi, dword [ebp - 0xbc]
test dword [esi + 8], 0x1000
je 0x1000cd62
push 3
xor esi, esi
push esi
push esi
push esi
push esi
push 0xffffffffffffffff
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x1000cd64
xor esi, esi
cmp dword [ebp - 0x74], 1
je 0x1000cd80
push esi
push ebx
call dword [sym.imp.USER32.dll_GetSystemMenu]
push 1
push 0xf060
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10029e88
leave
ret