Function at 0x4036fe
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
mov eax, dword [0x448008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [0x46159c], ecx
call fcn.0040242e
call fcn.00402642
xor ebx, ebx
mov eax, connect
push ebx
push dword [0x461320]
push ebx
push dword [0x46159c]
push eax
push eax
push eax
push eax
push 0x80000043
push ebx
push str.tooltips_class32
push 8
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x4615a4], eax
call fcn.004042b7
mov dword [0x461620], ebx
call fcn.0040bde3
call fcn.0040dacc
call fcn.0040e2db
push ebx
push dword [0x46159c]
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
test edi, edi
je 0x4037a8
push edi
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov esi, eax
jmp 0x40379b
push 0x400
dec esi
push esi
push edi
call dword [sym.imp.USER32.dll_DeleteMenu]
test esi, esi
jg 0x40378d
mov dl, 1
mov ecx, edi
call fcn.00403509
call fcn.00403698
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x118]
push eax
push dword [0x46159c]
call esi
push 0x461318
push dword [0x46159c]
mov dword [0x46131c], ebx
mov dword [0x461318], ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [ebp - 0x118]
mov ecx, 0x389
sub dword [0x461318], eax
mov eax, dword [ebp - 0x114]
sub dword [0x46131c], eax
lea eax, [ebp - 0x128]
push eax
call fcn.00402d5e
push eax
call esi
mov ecx, dword [0x461318]
mov eax, ecx
sub eax, dword [ebp - 0x118]
add eax, dword [ebp - 0x120]
sub ecx, dword [ebp - 0x114]
add ecx, dword [ebp - 0x11c]
mov dword [0x4615e4], eax
lea eax, [ebp - 0x128]
mov dword [0x4615e8], ecx
mov ecx, 0x396
push eax
call fcn.00402d5e
push eax
call esi
mov eax, dword [0x461318]
mov ecx, 0x4b0
sub eax, dword [ebp - 0x118]
add eax, dword [ebp - 0x120]
mov dword [0x4615dc], eax
mov eax, dword [0x4615e8]
mov dword [0x4615e0], eax
lea eax, [ebp - 0x138]
push eax
call fcn.00402d5e
push eax
call esi
mov ecx, dword [ebp - 0x12c]
mov eax, ecx
sub eax, dword [ebp - 0x11c]
sub ecx, dword [0x46131c]
mov dword [0x461610], ebx
inc ecx
mov ebx, dword [0x44e4c8]
mov dword [0x4615f4], eax
xor eax, eax
cmp ebx, 3
mov dword [0x461614], ecx
cmovg ebx, eax
cmp ebx, 2
jne 0x4038d4
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 8
call esi
push 4
mov edi, eax
call esi
add eax, dword [0x44e4e8]
add eax, edi
mov dword [0x44e4e8], eax
cmp dword [0x44e4dc], 0
jle 0x403946
cmp dword [0x44e4e0], 0
jle 0x403946
xor esi, esi
push 1
lea edx, [ebp - 0x160]
mov ecx, esi
call fcn.00402cea
mov ecx, dword [esi*8 + 0x44e4d4]
mov eax, dword [ebp - 0x148]
cmp ecx, eax
jl 0x403912
mov eax, dword [ebp - 0x140]
cmp ecx, eax
jle 0x403919
mov dword [esi*8 + 0x44e4d4], eax
mov ecx, dword [esi*8 + 0x44e4d8]
mov eax, dword [ebp - 0x144]
cmp ecx, eax
jl 0x403934
mov eax, dword [ebp - 0x13c]
cmp ecx, eax
jle 0x40393b
mov dword [esi*8 + 0x44e4d8], eax
inc esi
cmp esi, 4
jl 0x4038e8
jmp 0x403a08
mov eax, dword [0x461318]
mov ecx, dword [0x4615dc]
mov edx, dword [0x4615e0]
push 0xffffffffffffffff
lea eax, [eax*2 + 0x158]
mov dword [0x44e4e4], ecx
cmp eax, ecx
mov dword [0x44e4e8], edx
push 0x10
cmovl eax, ecx
push 0x1040
push dword [0x4615a0]
mov dword [0x44e4d4], eax
lea eax, [edx + 0x84]
mov dword [0x44e4d8], eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [0x4615ec]
mov edx, eax
movzx ecx, ax
mov eax, dword [0x461318]
shr edx, 0x10
lea ecx, [ecx + eax*2]
cmp ecx, esi
cmovg ecx, esi
add edx, dword [0x4615e0]
mov dword [0x44e4dc], ecx
mov dword [0x44e4e0], edx
mov dword [0x44e4ec], ecx
mov dword [0x44e4f0], edx
mov eax, dword [ebx*8 + 0x44e4d4]
cdq
sub eax, edx
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
mov dword [0x44e4cc], eax
mov eax, dword [ebx*8 + 0x44e4d8]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [0x4615f0]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
mov dword [0x44e4d0], eax
push 1
lea eax, [ebx + 0x42f]
push eax
push dword [0x46159c]
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov eax, dword [0x44e4c8]
cmp ebx, 2
push 1
pop ecx
cmove eax, ecx
mov dl, cl
mov ecx, ebx
mov dword [0x44e4c8], eax
call fcn.00402abc
xor ebx, ebx
inc ebx
push ebx
push dword [0x46159c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0xfa
push ebx
push dword [0x46159c]
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.0040d8ae
mov al, byte [0x44a6e9]
mov esi, dword [0x46159c]
test al, al
je 0x403a98
movzx eax, al
lea ecx, [ebp - 0x108]
push eax
push str.NxCoreAccess__Line___d_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042a623
mov esp, ebp
pop ebp
ret