Function at 0x1113ae10
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1118c6b6
mov eax, dword fs:[0]
push eax
sub esp, 0x3cc
mov eax, dword [0x111ec774]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x330], eax
mov dword [esi], ecx
call fcn.1110fff0
lea ecx, [ebp - 0x3d8]
push ecx
mov dword [esi + 4], eax
mov edx, dword [0x111ee0d0]
push 0x111eb7c8
push edx
call dword [sym.imp.uSEr32.dll_GetClassInfoA]
xor edi, edi
test eax, eax
jne 0x1113af36
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], eax
mov eax, dword [0x111ee0d0]
push 5
mov dword [ebp - 0x36c], 0x11137580
mov dword [ebp - 0x360], eax
call dword [sym.imp.Gdi32.Dll_GetStockObject]
mov dword [ebp - 0x354], eax
call fcn.11145080
push 0x7f00
push edi
mov dword [ebp - 0x35c], eax
call dword [sym.imp.uSEr32.dll_LoadCursorA]
lea ecx, [ebp - 0x370]
push ecx
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x34c], 0x111eb7c8
call dword [sym.imp.uSEr32.dll_RegisterClassA]
movzx eax, ax
cmp eax, edi
jne 0x1113af36
push 0x1a13
push 0x111ba780
push 0x11195ae4
call fcn.11029a70
add esp, 0xc
push 0x111eb7c8
call dword [sym.imp.KeRneL32.DLl_GlobalAddAtomA]
mov ecx, dword [ebp - 0x330]
push edi
push edi
push 0x1119f94c
mov esi, bind
push 0x111a0f40
mov word [0x111f1bc4], ax
mov dword [ebp - 0x348], 0xcf0000
mov dword [ebp - 0x344], edi
mov dword [ebp - 0x340], edi
mov ebx, esi
mov dword [ebp - 0x3b0], edi
mov dword [ebp - 0x33c], edi
call fcn.1105e820
mov edi, eax
test edi, edi
je 0x1113b008
cmp edi, 1
jne 0x1113afa0
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x344], esi
jmp 0x1113afe4
cmp edi, 2
jne 0x1113afe4
push 0
lea edx, [ebp - 0x328]
push edx
push 0
push 0x30
call dword [sym.imp.uSEr32.dll_SystemParametersInfoA]
test eax, eax
je 0x1113afe4
mov eax, dword [ebp - 0x328]
mov esi, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x324]
mov ebx, dword [ebp - 0x31c]
sub esi, eax
sub ebx, ecx
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], ecx
mov ecx, dword [ebp - 0x338]
call fcn.11064cf0
push eax
push 0x41a
call fcn.11147af0
add esp, 8
mov dword [ebp - 0x33c], eax
jmp 0x1113b091
call fcn.1104b020
mov ecx, dword [0x111ee0f4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
mov ebx, dword [sym.imp.uSEr32.dll_GetSystemMetrics]
push 0x4e
mov dword [ebp - 0x348], esi
call ebx
push 0x4f
mov esi, eax
call ebx
mov ebx, eax
test esi, esi
je 0x1113b075
test ebx, ebx
je 0x1113b075
mov ecx, dword [0x111ee100]
push 0
push 0
push 0x111bc534
push 0x111a0f40
call fcn.1105e820
test eax, eax
jne 0x1113b075
push 0x4c
call dword [sym.imp.uSEr32.dll_GetSystemMetrics]
push 0x4d
mov dword [ebp - 0x344], eax
call dword [sym.imp.uSEr32.dll_GetSystemMetrics]
mov dword [ebp - 0x340], eax
jmp 0x1113b087
mov ebx, dword [sym.imp.uSEr32.dll_GetSystemMetrics]
push 0
call ebx
push 1
mov esi, eax
call ebx
mov ebx, eax
mov dword [ebp - 0x3b0], 0xffffffff
push 0
push 2
push 6
call fcn.11145c70
add esp, 0xc
test eax, eax
je 0x1113b0a8
call fcn.11135490
call dword [sym.imp.uSEr32.dll_EndMenu]
mov byte [ebp - 0x32a], 0
mov byte [ebp - 0x329], 0
call fcn.11028450
test eax, eax
je 0x1113b0f6
cmp dword [0x111ee268], 0
mov byte [ebp - 0x32a], 1
je 0x1113b0de
mov byte [ebp - 0x329], 1
jmp 0x1113b0f6
push 1
push 0x111b8030
call fcn.11031b50
mov ecx, dword [ebp - 0x334]
add esp, 8
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x334]
mov ecx, dword [0x111ee0d0]
push edx
mov edx, dword [ebp - 0x340]
push ecx
mov ecx, dword [ebp - 0x344]
push 0
push 0
push ebx
mov ebx, dword [ebp - 0x33c]
push esi
push edx
mov edx, dword [ebp - 0x348]
push ecx
mov eax, edi
neg eax
push edx
sbb eax, eax
push ebx
and eax, 0xfffffff8
add eax, 8
push 0x111eb7c8
push eax
call dword [sym.imp.uSEr32.dll_CreateWindowExA]
mov esi, eax
mov eax, dword [ebp - 0x334]
mov dword [eax + 8], esi
test esi, esi
jne 0x1113b164
push 0x1a71
push 0x111ba780
push 0x111aae30
call fcn.11029a70
add esp, 0xc
call dword [sym.imp.KeRneL32.DLl_GetCurrentThreadId]
mov ecx, dword [ebp - 0x334]
push ebx
mov dword [ecx + 0x10], eax
call fcn.11162777
mov eax, dword [ebp + 0xc]
add esp, 4
test al, 8
jne 0x1113b18f
test eax, 0x4000
mov eax, 3
je 0x1113b194
mov eax, 5
push eax
call dword [sym.imp.Gdi32.Dll_GetStockObject]
push eax
push 0xfffffffffffffff6
push esi
call dword [sym.imp.uSEr32.dll_SetClassLongA]
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x338]
mov edx, dword [edx + 0x30]
xor eax, eax
cmp edi, 2
setne al
push 0x200
mov dword [ebp - 0x348], edx
push eax
push 0
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
push esi
mov ecx, edx
call fcn.11125340
mov ebx, dword [sym.imp.uSEr32.dll_ShowWindow]
xor edx, edx
cmp edi, 2
setne dl
lea edx, [edx + edx + 3]
push edx
push esi
call ebx
push esi
call dword [sym.imp.uSEr32.dll_BringWindowToTop]
test edi, edi
je 0x1113b562
push esi
call dword [sym.imp.uSEr32.dll_IsIconic]
test eax, eax
je 0x1113b219
push 9
push esi
call ebx
mov edi, dword [sym.imp.uSEr32.dll_SystemParametersInfoA]
push 0
lea eax, [ebp - 0x330]
push eax
push 0
push 0x2000
call edi
push 0
push 0
push 0
push 0x2001
call edi
push esi
call dword [sym.imp.uSEr32.dll_SetForegroundWindow]
mov ecx, dword [ebp - 0x330]
push 0
push ecx
push 0
push 0x2001
call edi
cmp byte [ebp - 0x329], 0
je 0x1113b3cc
push 0x104
lea edx, [ebp - 0x114]
push edx
push 0
call dword [sym.imp.KeRneL32.DLl_GetModuleFileNameA]
lea eax, [ebp - 0x114]
push 0x5c
push eax
call fcn.11081e00
add esp, 8
test eax, eax
je 0x1113b291
mov byte [eax + 1], 0
xor eax, eax
jmp 0x1113b2a0
mov cl, byte [ebp + eax - 0x114]
mov byte [ebp + eax - 0x218], cl
inc eax
test cl, cl
jne 0x1113b2a0
lea eax, [ebp - 0x114]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1113b2c0
mov ecx, dword [0x11199590]
mov edx, dword [0x11199594]
mov dword [eax], ecx
mov ecx, dword [0x11199598]
mov dword [eax + 4], edx
mov edx, dword [0x1119959c]
mov dword [eax + 8], ecx
mov ecx, dword [0x111995a0]
mov dword [eax + 0xc], edx
mov dx, word [0x111995a4]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
lea eax, [ebp - 0x218]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1113b306
mov ecx, dword [0x111995a8]
mov edx, dword [0x111995ac]
mov dword [eax], ecx
mov ecx, dword [0x111995b0]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x338]
call fcn.11040d40
mov dword [ebp - 0x330], 0x10
cmp eax, 0x14
jl 0x1113b34c
mov dword [ebp - 0x330], 0x24
push 0
push 0x3f9
call fcn.11146710
add esp, 4
push eax
call fcn.11142e60
mov edi, eax
add esp, 8
mov dword [ebp - 0x33c], edi
push 0
push 0x3fa
mov dword [ebp - 4], 0
call fcn.11146710
add esp, 4
push eax
call fcn.11142e60
mov ebx, eax
mov dword [ebp - 0x338], ebx
mov edx, dword [ebp - 0x330]
push esi
push edx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x114]
push ecx
push 0x11195264
push ebx
push edi
mov byte [ebp - 4], 1
call fcn.1102c790
push ebx
call fcn.11162777
push edi
mov dword [ebp - 4], 0xffffffff
call fcn.11162777
add esp, 0x2c
push 0
push esi
call dword [sym.imp.uSEr32.dll_GetSystemMenu]
push 0x48f
mov edi, eax
call fcn.110963b0
push eax
call dword [sym.imp.uSEr32.dll_LoadMenuA]
mov dword [ebp - 0x330], eax
test eax, eax
jne 0x1113b409
push 0x1acb
push 0x111ba780
push 0x111bc528
call fcn.11029a70
add esp, 0xc
push 0x30
lea edx, [ebp - 0x3a0]
push 0
push edx
call fcn.11162be0
mov ebx, dword [sym.imp.uSEr32.dll_GetMenuItemCount]
add esp, 0xc
lea eax, [ebp - 0x3a0]
push eax
push 1
push edi
mov dword [ebp - 0x3a0], 0x30
mov dword [ebp - 0x39c], 0x10
mov dword [ebp - 0x398], 0x800
call ebx
push eax
push edi
call dword [sym.imp.uSEr32.dll_InsertMenuItemA]
mov eax, dword [ebp - 0x330]
lea edx, [ebp - 0x3a0]
push edx
push 1
push 0
push 0
lea ecx, [ebp - 0x318]
push eax
mov dword [ebp - 0x39c], 0x37
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x378], 0x100
call dword [sym.imp.uSEr32.dll_GetSubMenu]
push eax
call dword [sym.imp.uSEr32.dll_GetMenuItemInfoA]
lea ecx, [ebp - 0x3a0]
push ecx
push 1
push edi
call ebx
push eax
push edi
call dword [sym.imp.uSEr32.dll_InsertMenuItemA]
mov ecx, dword [ebp - 0x348]
push 0
push 1
call fcn.11124440
cmp byte [ebp - 0x329], 0
jne 0x1113b53e
lea edx, [ebp - 0x328]
push edx
push esi
call dword [sym.imp.uSEr32.dll_GetClientRect]
push 2
lea eax, [ebp - 0x328]
push eax
push 0
push esi
call dword [sym.imp.uSEr32.dll_MapWindowPoints]
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 0x328]
push ecx
push edx
call dword [sym.imp.uSEr32.dll_SetCursorPos]
push 0
push 2
push 6
call fcn.11145c70
add esp, 0xc
test eax, eax
je 0x1113b53e
mov ecx, dword [ebp - 0x324]
mov eax, dword [ebp - 0x31c]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [ebp - 0x328]
push eax
mov eax, dword [ebp - 0x320]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [0x111ee308]
push eax
call fcn.110f8ff0
mov eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp - 0x338]
push 1
mov dword [0x111ee1c4], edx
mov dword [0x111f1b58], esi
call fcn.11113160
mov edi, dword [sym.imp.uSEr32.dll_SetWindowPos]
add esp, 4
push 3
push 0
push 0
push 0
push 0
push 1
push esi
call edi
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
call edi
mov edi, dword [sym.imp.uSEr32.dll_SystemParametersInfoA]
push 0
lea eax, [ebp - 0x33c]
push eax
push 0
push 0x2000
call edi
push 0
push 0
push 0
push 0x2001
call edi
push esi
call dword [sym.imp.uSEr32.dll_SetForegroundWindow]
mov ecx, dword [ebp - 0x33c]
push 0
push ecx
push 0
push 0x2001
call edi
cmp byte [ebp - 0x32a], 0
jne 0x1113b5ff
push 0
push 2
push 6
call fcn.11145c70
add esp, 0xc
test eax, eax
je 0x1113b257
mov ecx, dword [0x111ee100]
push 0
push 0
push 0x1119ba18
push 0x111a0f40
call fcn.1105e820
test eax, eax
jne 0x1113b257
cmp byte [ebp - 0x329], al
jne 0x1113b264
mov ecx, dword [ebp - 0x330]
push eax
push eax
push 0x1119e834
push 0x111a0fec
call fcn.1105e820
test eax, eax
jne 0x1113b3cc
push eax
push 0x3e8
push 1
push esi
call dword [sym.imp.uSEr32.dll_SetTimer]
jmp 0x1113b3cc