Function at 0x4078a0
Capabilities:
Create thread
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45313c
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [0x46f070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0xfc]
cmp ecx, dword [eax + 4]
jne 0x407ef5
cmp byte [ebx + 0x15d], 0
lea ecx, [ebp - 0x2c]
je 0x407a46
push str.Disconnecting._Please_wait...
call fcn.0044fee0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
mov ecx, dword [ebx + 0x12c]
push eax
call fcn.00401a50
mov dword [ebp - 4], 1
or edi, 0xffffffff
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x407942
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407942
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407942
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
push 0xffffffffffffffff
push dword [ebx + 0x160]
mov byte [ebx + 0x15d], 0
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push str.Client_stopped.
lea ecx, [ebp - 0x2c]
call fcn.0044fee0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 2
mov ecx, dword [ebx + 0x12c]
push eax
call fcn.00401a50
mov dword [ebp - 4], 3
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x4079ae
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4079ae
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4079ae
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Spectate
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.0044fee0
mov dword [ebp - 4], 4
lea eax, [ebp - 0x2c]
mov esi, dword [ebx + 0xfc]
push eax
lea ecx, [esi + 0x4c]
call fcn.00401440
or dword [esi + 0x34], 1
mov ecx, esi
call fcn.004472f0
mov dword [ebp - 4], 5
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x407a12
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407a12
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x407a12
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebx + 0xf4]
and dword [ecx + 0x38], 0xf7ffffff
or dword [ecx + 0x34], 0x80
call fcn.004472f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.SoftwareMicrosoftMicrosoft_GamesAge_of_Empires_II:_The_Conquerors_Expansion1.0
call fcn.0044fee0
push 0x4641e4
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 6
call fcn.0044fee0
push 0x463970
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.0044fee0
push 0x463e98
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.0044fee0
push str._r_n_t
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call fcn.0044fee0
mov ecx, dword [ebx + 0x10c]
lea eax, [ebp - 0x50]
push eax
call fcn.00401760
push ecx
push 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xb
push ecx
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.0044f510
push ecx
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xc
push ecx
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.0044f600
push ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xd
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, eax
call fcn.0044f0c0
mov byte [ebp - 4], 0x10
or edi, 0xffffffff
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x407b15
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407b15
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407b15
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x12
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x407b3f
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407b3f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407b3f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x407b69
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407b69
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407b69
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x407b93
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407b93
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407b93
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x407bbd
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407bbd
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407bbd
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x407be7
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407be7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407be7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x1c
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x407c11
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407c11
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407c11
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Spectate_IP
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1b
call fcn.0044fee0
mov ecx, dword [ebx + 0xf4]
lea eax, [ebp - 0x24]
push eax
call fcn.00401760
push ecx
push eax
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0x2c]
call fcn.00450010
add esp, 0xc
mov byte [ebp - 4], 0x1d
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x407c6c
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407c6c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407c6c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x407c96
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407c96
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407c96
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Age_of_Empires_II_Expansion
push str.Age_of_Empires_II_Expansion
mov byte [ebp - 4], 0x1b
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
je 0x407d65
push 4
push 0x4641e8
push str.The_game_must_be_closed_before_spectating._Close_it_now_
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x407cf5
lea ecx, [ebp - 0x5c]
call fcn.004093b0
lea ecx, [ebp - 0x2c]
call fcn.00401320
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
mov dword [ebp + 8], 0
mov dword [ebp - 0x18], eax
lea eax, [ebp + 8]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp + 8]
test eax, eax
je 0x407d24
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
mov dword [ebp - 0x18], eax
push 0
push 0
push 0x10
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
push 0
push 0
push 0x10
push dword [ebp - 0x10]
call esi
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x407d5a
push 0x7530
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x407d65
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0xffffffffffffffff
push dword [ebx + 0x160]
mov byte [ebx + 0x15d], 0
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push str.Starting_client.
lea ecx, [ebp - 0x34]
mov byte [ebx + 0x15d], 1
call fcn.0044fee0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebx + 0x12c]
push eax
call fcn.00401a50
mov byte [ebp - 4], 0x20
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x407dcb
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407dcb
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407dcb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push 0
push 0
push ebx
push 0x404c20
push 0
push 0
mov byte [ebp - 4], 0x1b
call dword [sym.imp.KERNEL32.DLL_CreateThread]
push str.Client_started.
lea ecx, [ebp - 0x34]
mov dword [ebx + 0x160], eax
call fcn.0044fee0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x21
mov ecx, dword [ebx + 0x12c]
push eax
call fcn.00401a50
mov byte [ebp - 4], 0x22
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x407e33
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407e33
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407e33
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Disconnect
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1b
call fcn.0044fee0
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x34]
mov esi, dword [ebx + 0xfc]
push eax
lea ecx, [esi + 0x4c]
call fcn.00401440
or dword [esi + 0x34], 1
mov ecx, esi
call fcn.004472f0
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x407e8f
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407e8f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407e8f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebx + 0xf4]
or dword [ecx + 0x38], 0x8000000
or dword [ecx + 0x34], 0x80
call fcn.004472f0
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x407ee9
push dword [ebp + 8]
mov edx, dword [ebp - 0x58]
push ecx
call fcn.0040a500
mov eax, dword [ebp - 0x54]
add esp, 8
mov ecx, dword [ebp - 0x5c]
sub eax, ecx
sar eax, 3
push eax
push ecx
call fcn.00409710
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 4], 0x25
jmp 0x40879a
mov eax, dword [ebx + 0x124]
cmp ecx, dword [eax + 4]
jne 0x4087bf
push str.SoftwareMicrosoftMicrosoft_GamesAge_of_Empires_II:_The_Conquerors_Expansion1.0
lea ecx, [ebp - 0x2c]
call fcn.0044fee0
push 0x4641e4
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x26
call fcn.0044fee0
push 0x463970
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x27
call fcn.0044fee0
push 0x463e98
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x28
call fcn.0044fee0
push str._r_n_t
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x29
call fcn.0044fee0
mov ecx, dword [ebx + 0x10c]
lea eax, [ebp - 0x58]
push eax
call fcn.00401760
push ecx
push 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x2b
push ecx
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.0044f510
push ecx
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2c
push ecx
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x50]
push ecx
mov ecx, eax
call fcn.0044f600
push ecx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x2d
push ecx
lea ecx, [ebp - 0x68]
push ecx
mov ecx, eax
call fcn.0044f0c0
mov byte [ebp - 4], 0x30
or edi, 0xffffffff
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x407fd6
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x407fd6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x407fd6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x32
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x408000
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408000
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408000
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x34
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x40802a
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40802a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40802a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x36
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x408054
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408054
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408054
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x38
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x40807e
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40807e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40807e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3a
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4080a8
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4080a8
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4080a8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3c
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x4080d2
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4080d2
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4080d2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x68]
sar eax, 3
mov dword [ebp - 0x10], eax
cmp eax, 4
jbe 0x40810c
push 0
push str.Server_Settings_Error
push str.You_can_only_set_up_to_4_allowed_spectators._Please_clear_the_textbox_if_you_would_like_to_allow_all_spectators_to_watch_without_restrictions.
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x68]
call fcn.004093b0
mov dword [ebp - 4], 0x3d
jmp 0x40879a
xor ecx, ecx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x408248
mov dword [ebp + 8], ecx
xor ebx, ebx
nop
push 0x464078
lea ecx, [ebp - 0x3c]
call fcn.0044fee0
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x68]
lea ecx, [eax + ebx*8]
push ecx
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0044f0c0
mov byte [ebp - 4], 0x42
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x40817f
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40817f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40817f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x41
mov edx, dword [ebp - 0x58]
mov eax, edx
mov ecx, dword [ebp - 0x5c]
sub eax, ecx
sar eax, 3
cmp eax, 4
jne 0x408200
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x48]
sub eax, dword [ebp - 0x48]
add eax, 4
push eax
call fcn.004092e0
mov ecx, dword [ebp - 0x5c]
call fcn.0044fa60
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x48]
mov byte [ecx + esi], al
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx + 8]
call fcn.0044fa60
mov ecx, dword [ebp + 8]
mov byte [ecx + esi + 1], al
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx + 0x10]
call fcn.0044fa60
mov ecx, dword [ebp + 8]
mov byte [ecx + esi + 2], al
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx + 0x18]
call fcn.0044fa60
mov ecx, dword [ebp + 8]
mov byte [ecx + esi + 3], al
add ecx, 4
mov edx, dword [ebp - 0x58]
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x3e
test ecx, ecx
je 0x40823b
push dword [ebp + 8]
push ecx
call fcn.0040a500
mov eax, dword [ebp - 0x54]
add esp, 8
mov ecx, dword [ebp - 0x5c]
sub eax, ecx
sar eax, 3
push eax
push ecx
call fcn.00409710
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
inc ebx
cmp ebx, dword [ebp - 0x10]
jb 0x408130
mov ebx, dword [ebp - 0x20]
push str._r_n_t
lea ecx, [ebp - 0x3c]
call fcn.0044fee0
mov ecx, dword [ebx + 0x134]
lea eax, [ebp - 0x50]
push eax
call fcn.00401760
push ecx
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x44
push ecx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.0044f510
mov ecx, eax
mov byte [ebp - 4], 0x45
call fcn.0044fa60
mov byte [ebp + 0xb], al
mov byte [ebp - 4], 0x46
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x4082b2
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x4082b2
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4082b2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x47
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x4082dc
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4082dc
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4082dc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x48
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x408306
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408306
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408306
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
mov al, byte [ebp + 0xb]
test al, al
je 0x408315
cmp al, 0x20
jbe 0x408319
mov byte [ebp + 0xb], 0x20
push str._r_n_t
lea ecx, [ebp - 0x3c]
call fcn.0044fee0
mov ecx, dword [ebx + 0x114]
lea eax, [ebp - 0x50]
push eax
call fcn.00401760
push ecx
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x4a
push ecx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.0044f510
mov ecx, eax
mov byte [ebp - 4], 0x4b
call fcn.0044fa60
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x4c
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x408383
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x408383
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408383
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x4d
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x4083ad
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4083ad
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4083ad
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x4e
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x4083d7
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4083d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4083d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4083e9
cmp eax, 0xf0
jbe 0x4083f0
mov dword [ebp - 0x10], 0xa
push str._r_n_t
lea ecx, [ebp - 0x3c]
call fcn.0044fee0
mov ecx, dword [ebx + 0x11c]
lea eax, [ebp - 0x50]
push eax
call fcn.00401760
push ecx
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x50
push ecx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.0044f510
mov ecx, eax
mov byte [ebp - 4], 0x51
call fcn.0044fa60
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x52
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x40845a
mov ecx, edi
lock xadd dword [esi + 4], ecx
jne 0x40845a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40845a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x53
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x408484
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408484
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408484
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x54
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x4084ae
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4084ae
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4084ae
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
mov ecx, 5
mov eax, dword [ebp - 0x18]
cmp eax, 0xf0
cmova eax, ecx
mov dword [ebp - 0x18], eax
movzx eax, byte [ebp + 0xb]
push eax
mov dword [ebp + 8], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0044e0c0
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x3c]
mov esi, dword [ebx + 0x134]
push eax
lea ecx, [esi + 0x4c]
call fcn.00401440
or dword [esi + 0x34], 1
mov ecx, esi
call fcn.004472f0
mov byte [ebp - 4], 0x56
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x408521
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408521
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408521
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x3c]
push dword [ebp - 0x10]
push eax
call fcn.0044dec0
mov byte [ebp - 4], 0x57
lea eax, [ebp - 0x3c]
mov esi, dword [ebx + 0x114]
push eax
lea ecx, [esi + 0x4c]
call fcn.00401440
or dword [esi + 0x34], 1
mov ecx, esi
call fcn.004472f0
mov byte [ebp - 4], 0x58
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x40857c
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40857c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40857c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x3c]
push dword [ebp - 0x18]
push eax
call fcn.0044dec0
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0x3c]
mov esi, dword [ebx + 0x11c]
push eax
lea ecx, [esi + 0x4c]
call fcn.00401440
or dword [esi + 0x34], 1
mov ecx, esi
call fcn.004472f0
mov byte [ebp - 4], 0x5a
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x4085d7
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4085d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4085d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x3c]
imul eax, dword [ebp - 0x10], 0x780
push str.Max_Connections
mov dword [ebp - 0x20], eax
imul eax, dword [ebp - 0x18], 0x3e8
mov dword [ebp - 0x18], eax
call fcn.0044fee0
sub esp, 8
lea eax, [ebp - 0x3c]
lea edx, [ebp - 0x2c]
push dword [ebp + 8]
push eax
call fcn.004500a0
add esp, 0x10
mov byte [ebp - 4], 0x5b
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x40863b
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40863b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40863b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Spec_Late_Join
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3e
call fcn.0044fee0
sub esp, 8
lea eax, [ebp - 0x3c]
lea edx, [ebp - 0x2c]
push dword [ebp - 0x20]
push eax
call fcn.004500a0
add esp, 0x10
mov byte [ebp - 4], 0x5c
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x40868b
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40868b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x40868b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Spec_Join_Delay
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3e
call fcn.0044fee0
sub esp, 8
lea eax, [ebp - 0x3c]
lea edx, [ebp - 0x2c]
push dword [ebp - 0x18]
push eax
call fcn.004500a0
add esp, 0x10
mov byte [ebp - 4], 0x5d
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x4086db
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4086db
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x4086db
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push str.Allow_List
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3e
call fcn.0044fee0
push 0
sub esp, 0xc
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0x48]
mov ecx, esp
push eax
call fcn.00409340
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x2c]
call fcn.00450110
add esp, 0x14
mov byte [ebp - 4], 0x5f
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x408739
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408739
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408739
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push 0
push str.Server_Settings
push str.The_server_stream_configuration_has_been_updated.
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x48]
call fcn.004094a0
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x408793
push dword [ebp + 8]
mov edx, dword [ebp - 0x64]
push ecx
call fcn.0040a500
mov eax, dword [ebp - 0x60]
add esp, 8
mov ecx, dword [ebp - 0x68]
sub eax, ecx
sar eax, 3
push eax
push ecx
call fcn.00409710
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 0x60
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x4087bf
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4087bf
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x4087bf
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8