Function at 0x4022e0
Capabilities:
Hide graphical window
Initialize winsock library
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6ec
mov eax, dword [0x431040]
xor eax, esp
mov dword [esp + 0x6e8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0x405730
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
push 0x4378a8
push 0x67
push edi
mov dword [0x43790c], eax
call esi
push 0x64
push 0x437840
push 0x6d
push edi
call esi
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x6b
push edi
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], 0x402700
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], edi
call esi
push 0x7f00
push 0
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x6c
push dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 6
mov dword [esp + 0x40], 0x6d
mov dword [esp + 0x44], 0x437840
call esi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push edi
push 0
push 0
push 0x258
push 0x258
push 0
push connect
push 0xcf0000
push 0x4378a8
push 0x437840
push 0
mov dword [0x4378a4], edi
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x43783c], eax
test eax, eax
jne 0x402406
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6e8]
xor ecx, esp
call fcn.0040971a
mov esp, ebp
pop ebp
ret 0x10
push dword [ebp + 0x14]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x43783c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str..GameGuard.ini
push 0x20
push 0x4369d4
push 0x42d74c
push str.CustomerName
push 0x42d240
call esi
push str..GameGuard.ini
push 0x24
push 0x4369f4
push 0x42d74c
push str.CustomerHardwareId
push 0x42d240
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..GameGuard.ini
push 0
push str.GuardServerPort
push 0x42d240
call esi
push str..GameGuard.ini
push 0
push str.MaxIpConnection
push 0x42d240
mov dword [0x436a34], eax
call esi
push str..GameGuard.ini
push 0
push str.EncDecKey1
push 0x42d240
mov dword [0x436a38], eax
call esi
push str..GameGuard.ini
push 0
push str.EncDecKey2
push 0x42d240
mov dword [0x436a40], eax
call esi
push str..GameGuard.ini
push 0
push str.EncDecSetNumber
push 0x42d240
mov dword [0x436a44], eax
call esi
push 0
push 0x42d240
push 0x42d24c
mov dword [0x436a48], eax
lea eax, [esp + 0x5fc]
push str.__s___s__UserCount_:__d_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [esp + 0x5f0]
push eax
push dword [0x43783c]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x43783c]
push 0x42d77c
push ecx
mov dword [0x436004], eax
call fcn.00404ef0
push str.LOGHACK_LOG
push ecx
call fcn.00404ef0
lea eax, [esp + 0x60]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
jne 0x402647
movzx eax, word [0x436a34]
push eax
call fcn.00407ff0
test al, al
je 0x40265d
lea ecx, [esp + 0x1f0]
call fcn.00401b80
sub esp, 8
mov ecx, 0x4369d0
call fcn.00407c00
push str._ServerInfo__Config_loaded_successfully
push 3
call fcn.004092b0
add esp, 4
call fcn.00406390
push str._ServerInfo__DumpList_loaded_successfully
push 3
call fcn.004092b0
add esp, 4
call fcn.004065f0
push str._ServerInfo__ChecksumList_loaded_successfully
push 3
call fcn.004092b0
add esp, 4
call fcn.00406a30
push str._ServerInfo__InternalList_loaded_successfully
push 3
call fcn.004092b0
add esp, 4
call fcn.004067a0
push str._Configs__InternalList_New_loaded_successfully
push 4
call fcn.004092b0
add esp, 4
call fcn.00406c00
push str._ServerInfo__WindowList_loaded_successfully
push 3
call fcn.004092b0
add esp, 4
call fcn.004013a0
push str._ServerInfo__BlackList_loaded_successfully
push 3
call fcn.004092b0
add esp, 4
push 0x436a64
push ecx
lea ecx, [esp + 0x1fc]
call fcn.00401cb0
test al, al
jne 0x402623
mov dword [0x436a64], 0
push 0
push 0x3e8
push 0x64
push dword [0x43783c]
call esi
push 0
push 0x1388
push 0x66
push dword [0x43783c]
call esi
jmp 0x40265d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAStartup___failed_with_error:__d
push 1
call fcn.004092b0
add esp, 0xc
call fcn.00407a70
push 0
push 0x7d0
push 0x65
push dword [0x43783c]
call esi
push 0x6d
push edi
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x4c]
push 0
push eax
call esi
test eax, eax
je 0x4026d9
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x14]
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x4026c8
lea eax, [esp + 0x44]
push eax
call edi
lea eax, [esp + 0x44]
push eax
call ebx
push 0
push 0
push 0
lea eax, [esp + 0x50]
push eax
call esi
test eax, eax
jne 0x4026a3
push dword [0x43790c]
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov ecx, dword [esp + 0x6f4]
mov eax, dword [esp + 0x4c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040971a
mov esp, ebp
pop ebp
ret 0x10