Function at 0x44d320
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48b0fa
mov eax, dword fs:[0]
push eax
sub esp, 0x194
mov eax, dword [0x4a0270]
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 dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.0044e100
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.0044e1a0
test eax, eax
jne 0x44d378
xor eax, eax
jmp 0x44d880
mov ecx, 0x5bf898
call fcn.0044d950
push eax
mov ecx, 0x5bf898
call fcn.0044d930
push eax
mov ecx, 0x5bf898
call fcn.0044d910
push eax
mov ecx, 0x5bf898
call fcn.0044d8f0
push eax
mov ecx, 0x7b3d68
call fcn.00416f70
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x44d3e2
push str.Failed_gDBGW_ManagerInit
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
push 0xffffffffffffffff
mov ecx, 0x7b3d68
call fcn.00417010
push eax
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
xor eax, eax
jmp 0x44d880
push str.Success_gDBGW_ManagerInit
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
mov ecx, 0x5bf898
call fcn.0044d970
cmp eax, 1
jne 0x44d5a8
cmp dword [ebp + 0x10], 0
jne 0x44d412
cmp dword [ebp + 0x14], 0
je 0x44d5a8
push 0x798
call fcn.0045fd52
add esp, 4
mov dword [ebp - 0x198], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x198], 0
je 0x44d448
mov ecx, dword [ebp - 0x198]
call fcn.004288b0
mov dword [ebp - 0x1a0], eax
jmp 0x44d452
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x19c]
mov dword [ecx + 8], edx
mov ecx, 0x5bf898
call fcn.0044d990
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 8]
call fcn.0044fc20
mov eax, dword [ebp + 0x14]
push eax
push 5
call dword [sym.imp.PMSConn.dll_unsigned_long_int___cdecl_PMSInitConn_unsigned_long_int__char___const_]
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 4
ja case.default.0x44d4b1
mov ecx, dword [ebp - 0x1a0]
jmp dword [ecx*4 + 0x44d8a0]
push str.PMSInitConn_:
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d4b1
push 0x491cc8
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d4b1
push 0x491cb4
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d4b1
push 0x491ca0
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d4b1
push str.PMS_ADL_Message_
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
cmp dword [ebp - 0x38], 0
jne case.default.0x44d536
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.PMSConn.dll_unsigned_long_int___cdecl_PMSRunConn_struct_IPMSObject__]
add esp, 4
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 4
ja case.default.0x44d536
mov ecx, dword [ebp - 0x1a0]
jmp dword [ecx*4 + 0x44d8b4]
push str.PMSRunConn_:
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
mov ecx, 0x5bf898
call fcn.0044d8d0
movsx eax, ax
push eax
mov ecx, dword [0x7bb084]
push ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 8]
call fcn.00428a10
jmp case.default.0x44d536
push 0x491cc8
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d536
push 0x491cb4
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d536
push 0x491ca0
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp case.default.0x44d536
push str.PMS_ADL_Message_
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
jmp 0x44d5b5
push str.PMSConn___NO_Connect_Or_NO_Argument___
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
mov ecx, 0x5bf898
call fcn.0040ec80
test eax, eax
jne 0x44d5d0
push str.NO_Valid_Check_Clients_Login_Hashed_Value____
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
mov ecx, 0x5bf898
call fcn.0040f380
test eax, eax
jne 0x44d5eb
push str.NO_Valid_Check_Clients_Server_Hashed_Value____
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
mov ecx, 0x5a0e48
call fcn.00404890
test eax, eax
jne 0x44d60d
push str.Failed_Load_Default_ServerData
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
xor eax, eax
jmp 0x44d880
mov ecx, dword [ebp - 0x14]
call fcn.0044f490
test eax, eax
jge 0x44d62d
push str.Failed_Load_Default_CharacterData
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
xor eax, eax
jmp 0x44d880
mov ecx, dword [ebp - 0x14]
call fcn.0044f930
test eax, eax
jne 0x44d64d
push str.Failed_HGW_LoadLibrary
mov ecx, dword [ebp - 0x14]
call fcn.0044f110
xor eax, eax
jmp 0x44d880
mov byte [ebp - 0x13c], 0
push 0x103
push 0
lea eax, [ebp - 0x13b]
push eax
call fcn.0045f1b0
add esp, 0xc
push str.cf_loginsrv
mov eax, dword [str.C:logcrossfire_s]
push eax
push 0x104
lea ecx, [ebp - 0x13c]
push ecx
call fcn.0045ef32
add esp, 0x10
mov ecx, 0x5bf898
call fcn.00402a20
test eax, eax
je 0x44d6a9
mov ecx, 0x5bf898
call fcn.00402a20
mov al, byte [eax]
mov byte [ebp - 0x13c], al
push 0x44cea0
push 0x44ce40
lea eax, [ebp - 0x13c]
push eax
call fcn.0042abb0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x91b0], 1
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xab94], 0
je 0x44d6e9
push 0
push 0
push 1
mov ecx, dword [ebp - 0x14]
call fcn.0044f150
push 0x88
call fcn.0045fd52
add esp, 4
mov dword [ebp - 0x190], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x190], 0
je 0x44d739
push 0
mov ecx, 0x5bf898
call fcn.0044d910
push eax
mov ecx, 0x5bf898
call fcn.0044d8f0
push eax
push 0x1e
mov ecx, dword [ebp - 0x190]
call fcn.00415950
mov dword [ebp - 0x1a0], eax
jmp 0x44d743
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x194]
mov dword [ecx + 0xfef90], edx
push 8
call fcn.0045fd52
add esp, 4
mov dword [ebp - 0x188], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x188], 0
je 0x44d798
mov ecx, dword [ebp - 0x188]
call fcn.0044d9b0
mov dword [ebp - 0x1a0], eax
jmp 0x44d7a2
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18c]
mov dword [ecx + 0xfef94], edx
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xfef98], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xfef94], 0
je 0x44d7f3
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xfef94]
add edx, 4
mov dword [ebp - 0x1a0], edx
jmp 0x44d7fd
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 0xfef9c], ecx
mov dword [ebp - 0x140], 0
lea eax, [ebp - 0x140]
push eax
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0xfef98
push ecx
push 0x44eb10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x14]
call fcn.0044db90
push 0
push 0
push 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x44d87d
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x44d853
mov eax, dword [ebp - 0x28]
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.0045ee62
mov esp, ebp
pop ebp
ret 0x10