Function at 0x631f2349
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb98
mov dword [esp + 8], 0x400
lea eax, [ebp - 0x458]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.63182528
test eax, eax
je 0x631f3ab5
mov dword [ebp + 8], 0
mov dword [esp + 4], str.StartServer
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f250a
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaa6c]
movzx eax, byte [eax + 0xc]
test al, al
jne 0x631f23e0
mov dword [esp], 0x633d2a2f
call fcn.631ae53b
test eax, eax
je 0x631f23e0
mov dword [esp], 0x633d2a3d
call fcn.631ae53b
test eax, eax
jne 0x631f23e0
mov dword [esp], str.startpb_popmenu
call fcn.631f225b
jmp 0x631f3aef
mov dword [esp + 4], 0
mov dword [esp], str.cg_thirdPerson
call fcn.631ae36b
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaa6c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x633d2a6a
mov dword [esp + 4], 0x100
lea eax, [ebp - 0xaf7]
mov dword [esp], eax
call fcn.631e0da0
mov dword [esp + 8], 1
lea eax, [ebp - 0xaf7]
mov dword [esp + 4], eax
mov dword [esp], 0x633d2a6d
call fcn.6318254a
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x5ac]
mov eax, dword [eax + 0xc]
add eax, 0x177a
mov eax, dword [edx + eax*8 + 8]
mov dword [esp + 4], eax
mov dword [esp], str.g_gametype
call fcn.631ae318
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov eax, dword [eax + 0xc]
test eax, eax
js 0x631f2493
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov eax, dword [eax + 0xc]
cmp eax, 0x7f
jle 0x631f24ae
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.631add97
mov ecx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov edx, dword [eax + 0xc]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 5
add eax, ecx
add eax, 0xc6e0
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.wait___wait___map__s_n
mov dword [esp + 4], 0x100
lea eax, [ebp - 0xaf7]
mov dword [esp], eax
call fcn.631e0da0
lea eax, [ebp - 0xaf7]
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.getCDKey
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2719
mov dword [esp + 8], 1
lea eax, [ebp - 0x972]
mov dword [esp + 4], eax
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.631926b9
mov dword [esp + 4], 0x633d2aa1
mov dword [esp], str.cdkey1
call fcn.631ae318
mov dword [esp + 4], 0x633d2aa1
mov dword [esp], str.cdkey2
call fcn.631ae318
mov dword [esp + 4], 0x633d2aa1
mov dword [esp], str.cdkey3
call fcn.631ae318
mov dword [esp + 4], 0x633d2aa1
mov dword [esp], str.cdkey4
call fcn.631ae318
mov dword [esp + 4], 0x633d2aa1
mov dword [esp], str.cdkey5
call fcn.631ae318
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call sub.msvcr100.dll_strlen
cmp eax, 0x10
jne 0x631f26c0
mov dword [esp + 8], 4
lea eax, [ebp - 0x96d]
mov dword [esp + 4], eax
lea eax, [ebp - 0x977]
mov dword [esp], eax
call sub.msvcr100.dll_strncpy
mov byte [ebp - 0x973], 0
lea eax, [ebp - 0x977]
mov dword [esp + 4], eax
mov dword [esp], str.cdkey1
call fcn.631ae318
mov dword [esp + 8], 4
lea eax, [ebp - 0x96d]
add eax, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x977]
mov dword [esp], eax
call sub.msvcr100.dll_strncpy
mov byte [ebp - 0x973], 0
lea eax, [ebp - 0x977]
mov dword [esp + 4], eax
mov dword [esp], str.cdkey2
call fcn.631ae318
mov dword [esp + 8], 4
lea eax, [ebp - 0x96d]
add eax, 8
mov dword [esp + 4], eax
lea eax, [ebp - 0x977]
mov dword [esp], eax
call sub.msvcr100.dll_strncpy
mov byte [ebp - 0x973], 0
lea eax, [ebp - 0x977]
mov dword [esp + 4], eax
mov dword [esp], str.cdkey3
call fcn.631ae318
mov dword [esp + 8], 4
lea eax, [ebp - 0x96d]
add eax, 0xc
mov dword [esp + 4], eax
lea eax, [ebp - 0x977]
mov dword [esp], eax
call sub.msvcr100.dll_strncpy
mov byte [ebp - 0x973], 0
lea eax, [ebp - 0x977]
mov dword [esp + 4], eax
mov dword [esp], str.cdkey4
call fcn.631ae318
lea eax, [ebp - 0x972]
mov dword [esp], eax
call sub.msvcr100.dll_strlen
cmp eax, 4
jne 0x631f3ab8
mov dword [esp + 8], 4
lea eax, [ebp - 0x972]
mov dword [esp + 4], eax
lea eax, [ebp - 0x977]
mov dword [esp], eax
call sub.msvcr100.dll_strncpy
mov byte [ebp - 0x973], 0
lea eax, [ebp - 0x977]
mov dword [esp + 4], eax
mov dword [esp], str.cdkey5
call fcn.631ae318
jmp 0x631f3ab8
mov dword [esp + 4], str.verifyCDKey
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2872
mov byte [ebp - 0x96d], 0
mov dword [esp], str.cdkey1
call fcn.631ae488
mov dword [esp + 8], eax
mov dword [esp + 4], 0x11
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.631e0866
mov dword [esp], str.cdkey2
call fcn.631ae488
mov dword [esp + 8], eax
mov dword [esp + 4], 0x11
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.631e0866
mov dword [esp], str.cdkey3
call fcn.631ae488
mov dword [esp + 8], eax
mov dword [esp + 4], 0x11
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.631e0866
mov dword [esp], str.cdkey4
call fcn.631ae488
mov dword [esp + 8], eax
mov dword [esp + 4], 0x11
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.631e0866
mov dword [esp], str.cdkey5
call fcn.631ae488
mov dword [esp + 8], 5
mov dword [esp + 4], eax
lea eax, [ebp - 0x972]
mov dword [esp], eax
call fcn.631e0550
lea eax, [ebp - 0x972]
mov dword [esp + 4], eax
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.631924e2
test eax, eax
je 0x631f2851
mov dword [esp], str.EXE_CDKEYVALID
call fcn.63182540
mov dword [esp + 4], eax
mov dword [esp], str.ui_cdkeyvalid
call fcn.631ae318
lea eax, [ebp - 0x972]
mov dword [esp + 4], eax
lea eax, [ebp - 0x96d]
mov dword [esp], eax
call fcn.6319273b
jmp 0x631f3aef
mov dword [esp], str.EXE_CDKEYINVALID
call fcn.63182540
mov dword [esp + 4], eax
mov dword [esp], str.ui_cdkeyvalid
call fcn.631ae318
jmp 0x631f3aef
mov dword [esp + 4], str.loadArenas
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f28d1
call fcn.63181f3e
call fcn.63181f44
call fcn.63181f4a
mov dword [esp + 0x10], str.createserver_maps
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], 0xcaee200
call fcn.63182562
call fcn.63181f50
jmp 0x631f3aef
mov dword [esp + 4], str.loadGameInfo
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f28f5
call fcn.63181f56
jmp 0x631f3aef
mov dword [esp + 4], str.LoadMods
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2919
call fcn.63181f5c
jmp 0x631f3aef
mov dword [esp + 4], str.voteTypeMap
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2997
mov ecx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov edx, dword [eax + 0xc]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 5
add eax, ecx
add eax, 0xc6e0
mov edx, dword [eax + 8]
mov ecx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x5ac]
mov eax, dword [eax + 0xc]
add eax, 0x177a
mov eax, dword [ecx + eax*8 + 8]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.callvote_typemap__s__s_n
call fcn.631e0ef5
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.voteMap
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2a2c
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov eax, dword [eax + 0xc]
test eax, eax
js 0x631f3abb
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov edx, dword [eax + 0xc]
mov eax, 0xcae5c48
mov eax, dword [eax + 0xc6e0]
cmp edx, eax
jge 0x631f3abb
mov ecx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x584]
mov edx, dword [eax + 0xc]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 5
add eax, ecx
add eax, 0xc6e0
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], str.callvote_map__s_n
call fcn.631e0ef5
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.voteGame
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2a7f
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x5ac]
mov eax, dword [eax + 0xc]
add eax, 0x177a
mov eax, dword [edx + eax*8 + 8]
mov dword [esp + 4], eax
mov dword [esp], str.callvote_g_gametype__s_n
call fcn.631e0ef5
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.clearError
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2ae2
mov dword [esp + 4], 0x633d2aa1
mov dword [esp], str.com_errorMessage
call fcn.631ae318
mov dword [esp + 4], 0
mov dword [esp], str.com_isNotice
call fcn.631ae36b
mov eax, 0xc5f8f4
mov eax, dword [eax + 0xc]
test eax, eax
je 0x631f3abe
mov dword [esp], 0xffffffef
call fcn.6319f963
jmp 0x631f3abe
mov dword [esp + 4], str.RefreshServers
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2b28
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.631f5fd5
mov dword [esp + 4], 1
mov dword [esp], 0xcaee200
call fcn.631f625b
jmp 0x631f3aef
mov dword [esp + 4], str.RefreshFilter
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2b6e
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.631f5fd5
mov dword [esp + 4], 1
mov dword [esp], 0xcaee200
call fcn.631f625b
jmp 0x631f3aef
mov dword [esp + 4], str.addPlayerProfiles
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2b92
call fcn.631f45a6
jmp 0x631f3aef
mov dword [esp + 4], str.sortPlayerProfiles
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2bdb
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9d40]
test eax, eax
sete al
mov edx, 0xcae5c48
movzx eax, al
mov dword [edx + 0x9d40], eax
mov dword [esp], 0
call fcn.63181f6e
jmp 0x631f3aef
mov dword [esp + 4], str.selectActivePlayerProfile
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2c38
mov eax, 0x1435d1c
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.63181f74
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
js 0x631f3ac1
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c3c]
cmp dword [ebp - 0xc], eax
jge 0x631f3ac1
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.63181f7a
jmp 0x631f3ac1
mov dword [esp + 4], str.createPlayerProfile
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2c5c
call fcn.63181f62
jmp 0x631f3aef
mov dword [esp + 4], str.deletePlayerProfile
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2c80
call fcn.63181f68
jmp 0x631f3aef
mov dword [esp + 4], str.loadPlayerProfile
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2cce
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaa70]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
test al, al
je 0x631f3ac4
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaa70]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.631ab120
jmp 0x631f3ac4
mov dword [esp + 4], str.RunMod
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2d8b
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11910]
add eax, 0x22e0
mov eax, dword [edx + eax*8 + 0xc]
test eax, eax
je 0x631f3ac7
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11910]
add eax, 0x22e0
mov eax, dword [edx + eax*8 + 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.mods
mov dword [esp + 8], 0x633d2c4a
mov dword [esp + 4], 0x104
lea eax, [ebp - 0x55c]
mov dword [esp], eax
call fcn.631e0da0
mov eax, 0x1435d78
mov eax, dword [eax]
movzx eax, byte [eax + 0xc]
test al, al
je 0x631f2d64
call fcn.63181f80
lea eax, [ebp - 0x55c]
mov dword [esp + 4], eax
mov dword [esp], str.fs_game
call fcn.631ae318
mov dword [esp], 0x633d2c58
call fcn.63182376
jmp 0x631f3ac7
mov dword [esp + 4], str.ClearMods
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2dd6
mov eax, 0x1435d78
mov eax, dword [eax]
movzx eax, byte [eax + 0xc]
test al, al
je 0x631f2db9
call fcn.63181f80
mov dword [esp], str.fs_game
call fcn.631ae606
mov dword [esp], 0x633d2c58
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.closeJoin
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2e67
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d78]
test eax, eax
je 0x631f2e4a
call fcn.631f3af1
mov eax, 0xcae5c48
mov dword [eax + 0x2560c], 0
mov eax, 0xcae5c48
mov dword [eax + 0x26770], 0
mov eax, 0xcae5c48
mov dword [eax + 0xaa64], 0
mov dword [esp + 4], 1
mov dword [esp], 0xcaee200
call fcn.631f625b
jmp 0x631f3aef
mov dword [esp], str.joinserver
call fcn.631f22d1
mov dword [esp], 0x633d2c84
call fcn.631f225b
jmp 0x631f3aef
mov dword [esp + 4], str.StopRefresh
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2eb8
call fcn.631f3af1
mov eax, 0xcae5c48
mov dword [eax + 0x2560c], 0
mov eax, 0xcae5c48
mov dword [eax + 0x26770], 0
mov eax, 0xcae5c48
mov dword [eax + 0xaa64], 0
jmp 0x631f3aef
mov dword [esp + 4], str.ServerStatus
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2f6f
mov dword [esp], 0xcaee200
call fcn.631f3be6
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
test eax, eax
js 0x631f3aca
mov eax, 0xcae5c48
mov edx, dword [eax + 0x11d7c]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x25600]
cmp edx, eax
jge 0x631f3aca
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
add eax, 0x475c
mov edx, dword [edx + eax*4 + 0x10]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0xcb0b674
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6319f997
mov dword [esp + 4], 1
mov dword [esp], 0xcaee200
call fcn.63182582
jmp 0x631f3aca
mov dword [esp + 4], str.UpdateFilter
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f2fdd
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x631f2fae
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.631f5fd5
mov dword [esp + 4], 1
mov dword [esp], 0xcaee200
call fcn.631f625b
mov dword [esp + 4], 0
fld dword [0x633d40d8]
fstp dword [esp]
call fcn.63182593
jmp 0x631f3aef
mov dword [esp + 4], str.JoinServer
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3100
mov dword [esp + 4], 0
mov dword [esp], str.cg_thirdPerson
call fcn.631ae36b
mov dword [esp], 0xcaee200
call fcn.631f3be6
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov edx, dword [eax + 0xc]
mov ecx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
add eax, 0x475c
mov eax, dword [ecx + eax*4 + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6319faeb
cmp eax, 1
jne 0x631f3074
mov dword [esp], 0x633d2a3d
call fcn.631ae53b
test eax, eax
jne 0x631f3074
mov dword [esp], str.joinpb_popmenu
call fcn.631f225b
jmp 0x631f3aef
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
js 0x631f3acd
mov eax, 0xcae5c48
mov eax, dword [eax + 0x25600]
cmp dword [ebp - 0x10], eax
jge 0x631f3acd
mov edx, 0xcae5c48
mov eax, dword [ebp - 0x10]
add eax, 0x475c
mov edx, dword [edx + eax*4 + 0x10]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], 0x400
lea ecx, [ebp - 0x95c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6319f997
lea eax, [ebp - 0x95c]
mov dword [esp + 4], eax
mov dword [esp], str.connect__s_n
call fcn.631e0ef5
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3acd
mov dword [esp + 4], str.Quit
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3139
mov dword [esp + 8], 0x633d2cda
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.63181ea8
jmp 0x631f3aef
mov dword [esp + 4], str.Controls
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3190
mov dword [esp + 4], 1
mov dword [esp], str.cl_paused
call fcn.631ae3be
mov dword [esp], 0x10
call fcn.6319f918
mov dword [esp], 0xcaee200
call fcn.631f5a3b
mov dword [esp], str.setup_menu2
call fcn.631f225b
jmp 0x631f3aef
mov dword [esp + 4], str.Leave
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f31df
mov dword [esp], str.disconnect_n
call fcn.63182376
mov dword [esp], 0x10
call fcn.6319f918
mov dword [esp], 0xcaee200
call fcn.631f5a3b
mov dword [esp], 0x633d2c84
call fcn.631f225b
jmp 0x631f3aef
mov dword [esp + 4], str.ServerSort
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3285
lea eax, [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.6318259d
test eax, eax
je 0x631f3ad0
mov eax, 0xcae5c48
mov edx, dword [eax + 0x11d6c]
mov eax, dword [ebp - 0x14]
cmp edx, eax
jne 0x631f3247
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d70]
test eax, eax
sete al
mov edx, 0xcae5c48
movzx eax, al
mov dword [edx + 0x11d70], eax
mov edx, 0xcae5c48
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x11d6c], eax
mov eax, 0xcae5c48
mov eax, dword [eax + 0x25600]
mov dword [esp + 0xc], 0x63181f86
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov dword [esp], 0xcaf79c8
call sub.msvcr100.dll_qsort
jmp 0x631f3ad0
mov dword [esp + 4], str.closeingame
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f32db
mov dword [esp], 0xffffffef
call fcn.6319f963
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6318b260
mov dword [esp + 4], 0
mov dword [esp], str.cl_paused
call fcn.631ae3be
mov dword [esp], 0xcaee200
call fcn.631f5a3b
jmp 0x631f3aef
mov dword [esp + 4], str.voteKick
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3356
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c38]
test eax, eax
js 0x631f3ad3
mov eax, 0xcae5c48
mov edx, dword [eax + 0x9c38]
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaad0]
cmp edx, eax
jge 0x631f3ad3
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c38]
shl eax, 5
add eax, 0xcaf071c
mov dword [esp + 4], eax
mov dword [esp], str.callvote_kick___s__n
call fcn.631e0ef5
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.voteTempBan
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f33d1
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c38]
test eax, eax
js 0x631f3ad6
mov eax, 0xcae5c48
mov edx, dword [eax + 0x9c38]
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaad0]
cmp edx, eax
jge 0x631f3ad6
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c38]
shl eax, 5
add eax, 0xcaf071c
mov dword [esp + 4], eax
mov dword [esp], str.callvote_tempBanUser___s__n
call fcn.631e0ef5
mov dword [esp], eax
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.addFavorite
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3501
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
cmp eax, 2
je 0x631f3ad9
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x58], 0
mov dword [esp], 0xcaee200
call fcn.631f3be6
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
test eax, eax
js 0x631f34ea
mov eax, 0xcae5c48
mov edx, dword [eax + 0x11d7c]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x25600]
cmp edx, eax
jge 0x631f34ea
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
add eax, 0x475c
mov edx, dword [edx + eax*4 + 0x10]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], 0x400
lea ecx, [ebp - 0x95c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6319fbfb
mov dword [esp + 4], str.hostname
lea eax, [ebp - 0x95c]
mov dword [esp], eax
call fcn.631e1289
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.631e0550
mov dword [esp + 4], str.addr
lea eax, [ebp - 0x95c]
mov dword [esp], eax
call fcn.631e1289
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.631e0550
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.631f3c58
jmp 0x631f3ad9
mov dword [esp + 4], str.deleteFavorite
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3605
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
cmp eax, 2
jne 0x631f3adc
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
test eax, eax
js 0x631f3adc
mov eax, 0xcae5c48
mov edx, dword [eax + 0x11d7c]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x25600]
cmp edx, eax
jge 0x631f3adc
mov dword [esp], 0xcaee200
call fcn.631f3be6
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x11d7c]
add eax, 0x475c
mov edx, dword [edx + eax*4 + 0x10]
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], 0x400
lea ecx, [ebp - 0x95c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6319fbfb
mov byte [ebp - 0x38], 0
mov dword [esp + 4], str.addr
lea eax, [ebp - 0x95c]
mov dword [esp], eax
call fcn.631e1289
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.631e0550
movzx eax, byte [ebp - 0x38]
test al, al
je 0x631f3adc
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.631a02bc
jmp 0x631f3adc
mov dword [esp + 4], str.createFavorite
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f36aa
mov eax, 0xcae5c48
mov eax, dword [eax + 0x560]
mov eax, dword [eax + 0xc]
cmp eax, 2
jne 0x631f3adf
mov byte [ebp - 0x58], 0
mov byte [ebp - 0x38], 0
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0x633d2da3
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.631e0550
mov dword [esp], str.ui_favoriteAddress
call fcn.631ae488
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.631e0550
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.631f3c58
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.631f5fd5
jmp 0x631f3adf
mov dword [esp + 4], str.update
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f36fc
mov dword [esp + 8], 0x400
lea eax, [ebp - 0x95c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.63182528
test eax, eax
je 0x631f3ae2
lea eax, [ebp - 0x95c]
mov dword [esp], eax
call fcn.631f3dfc
jmp 0x631f3ae2
mov dword [esp + 4], str.setPbClStatus
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3740
lea eax, [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.6318259d
test eax, eax
je 0x631f3ae5
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.631ddfaf
jmp 0x631f3ae5
mov dword [esp + 4], str.startSingleplayer
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f376b
mov dword [esp], str.startSingleplayer_n
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.getLanguage
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f37ab
mov dword [esp], str.loc_language
call fcn.631ae4b6
mov dword [esp + 4], eax
mov dword [esp], str.ui_language
call fcn.631ae3be
call fcn.63181f8c
jmp 0x631f3aef
mov dword [esp + 4], str.verifyLanguage
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f37cf
call fcn.63181f8c
jmp 0x631f3aef
mov dword [esp + 4], str.updateLanguage
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f381b
mov dword [esp], str.ui_language
call fcn.631ae4b6
mov dword [esp + 4], eax
mov dword [esp], str.loc_language
call fcn.631ae3be
call fcn.63181f8c
mov dword [esp], 0x633d2c58
call fcn.63182376
jmp 0x631f3aef
mov dword [esp + 4], str.mutePlayer
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f388c
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c38]
test eax, eax
js 0x631f3ae8
mov eax, 0xcae5c48
mov edx, dword [eax + 0x9c38]
mov eax, 0xcae5c48
mov eax, dword [eax + 0xaad0]
cmp edx, eax
jge 0x631f3ae8
mov edx, 0xcae5c48
mov eax, 0xcae5c48
mov eax, dword [eax + 0x9c38]
add eax, 0x2eb4
mov eax, dword [edx + eax*4 + 4]
mov dword [esp], eax
call fcn.631825b2
jmp 0x631f3ae8
mov dword [esp + 4], str.openMenuOnDvar
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
je 0x631f38c4
mov dword [esp + 4], str.openMenuOnDvarNot
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3948
mov dword [esp + 0x1c], pe_nt_image_headers32
lea eax, [ebp - 0xb77]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x100
lea eax, [ebp - 0xaf7]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], pe_nt_image_headers32
lea eax, [ebp - 0x9f7]
mov dword [esp + 8], eax
lea eax, [ebp - 0x458]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.631f20f8
test eax, eax
je 0x631f3aeb
lea eax, [ebp - 0xaf7]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x9f7]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb77]
mov dword [esp + 4], eax
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631f2086
jmp 0x631f3aeb
mov dword [esp + 4], str.closeMenuOnDvar
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
je 0x631f3980
mov dword [esp + 4], str.closeMenuOnDvarNot
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3a04
mov dword [esp + 0x1c], pe_nt_image_headers32
lea eax, [ebp - 0xb77]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x100
lea eax, [ebp - 0xaf7]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], pe_nt_image_headers32
lea eax, [ebp - 0x9f7]
mov dword [esp + 8], eax
lea eax, [ebp - 0x458]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.631f20f8
test eax, eax
je 0x631f3aee
lea eax, [ebp - 0xaf7]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x9f7]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb77]
mov dword [esp + 4], eax
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631f20bf
jmp 0x631f3aee
mov dword [esp + 4], str.setRecommended
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3a36
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.63181f92
jmp 0x631f3aef
mov dword [esp + 4], str.clearLoadErrorsSummary
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3a61
mov dword [esp], 0xcaee200
call fcn.631f5a3b
jmp 0x631f3aef
mov dword [esp + 4], str.installcod4x
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.631e078c
test eax, eax
jne 0x631f3a8e
mov dword [esp], 0xcaee200
call fcn.631f5a3b
call fcn.631fcc67
jmp 0x631f3aef
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x458]
mov dword [esp + 8], eax
mov dword [esp + 4], str.unknown_UI_script__s_in_script:_n_s_n
mov dword [esp], 0xd
call fcn.631a9790
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
jmp 0x631f3aef
nop
leave
ret