Function at 0x4b71c0
Capabilities:
Check http status code

Disassembly:
sub esp, 0x170
push ebx
push ebp
mov ebp, dword [esp + 0x180]
push esi
push edi
mov edi, ebp
lea esi, [esp + 0x120]
mov ebx, eax
and edi, 7
mov byte [esp + 0x12], 0
call fcn.00571d60
mov eax, dword [esp + 0x184]
push 0
push eax
mov eax, 0x665840
call fcn.004b6e90
add esp, 8
cmp edi, 1
jne 0x4b7513
lea ecx, [esp + 0x18]
mov eax, ebp
call fcn.00572150
test ebx, ebx
mov byte [esp + 0x12], 1
je 0x4b724c
cmp byte [ebx], 0
je 0x4b724c
push ebx
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x18
call fcn.004b7150
push eax
push str.__s_____s__
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
jmp 0x4b7273
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x18
call fcn.004b7150
push eax
push str.__s_
lea edx, [esp + 0x28]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x10
mov edi, dword [esp + 0x184]
push 0
push edi
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov al, byte [esp + 0x128]
add esp, 8
test al, al
je 0x4b7336
push str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov edi, 0x75737472
call fcn.00442550
add esp, 4
cmp eax, 0xffffffff
mov edi, 0x66b918
je 0x4b72e8
mov ecx, dword [0x86cff4]
and eax, 0xffff
shl eax, 5
mov eax, dword [eax + ecx + 0x14]
cmp dword [eax], 0
jle 0x4b72e8
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
test eax, eax
jle 0x4b72e8
mov edi, dword [ecx + 0xc]
shr eax, 1
mov word [edi + eax*2 - 2], 0
push 0x100
mov esi, 0x6af400
call fcn.00553330
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
mov eax, dword [esp + 0x19c]
push 0
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
mov edi, dword [esp + 0x1a4]
add esp, 0x20
mov al, byte [esp + 0x18]
test al, al
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
je 0x4b7364
mov ecx, 0x19
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
push 0xff
lea ecx, [esp + 0x30]
push ecx
jmp 0x4b7383
mov ecx, 0x1a
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
push 0xff
lea edx, [esp + 0x30]
push edx
call fcn.0061f0cd
add esp, 0x14
push 0
push edi
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov al, byte [esp + 0x21]
add esp, 8
test al, al
je 0x4b73ea
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x1b
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
push 0
push edi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov al, byte [esp + 0x1a]
test al, al
je 0x4b7432
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x1c
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push edi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov al, byte [esp + 0x1b]
test al, al
je 0x4b747a
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x1d
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
push 0
push edi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov esi, dword [esp + 0x1c]
cmp esi, 0x1518
jg 0x4b749d
je 0x4b74b8
cmp esi, 0x708
je 0x4b74b8
cmp esi, 0xe10
je 0x4b74b8
jmp 0x4b7ee7
cmp esi, 0x2328
je 0x4b74b8
cmp esi, 0x4650
jne 0x4b7ee7
mov edi, dword [esp + 0x184]
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x1e
call fcn.004b7150
mov ecx, eax
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push 0x665848
push str._s_s__d
lea ecx, [esp + 0x30]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push edi
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
jmp 0x4b7ee7
cmp edi, 2
jne 0x4b7740
mov eax, ebp
shr eax, 3
and al, 1
mov byte [esp + 0x14], al
mov eax, ebp
shr eax, 4
and al, 1
mov byte [esp + 0x15], al
mov eax, ebp
shr eax, 5
and al, 1
test ebx, ebx
mov byte [esp + 0x16], al
je 0x4b7570
cmp byte [ebx], 0
je 0x4b7570
push ebx
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x1f
call fcn.004b7150
push eax
push str.__s_____s__
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x14
jmp 0x4b7597
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x1f
call fcn.004b7150
push eax
push str.__s_
lea eax, [esp + 0x28]
push 0xff
push eax
call fcn.0061f0cd
add esp, 0x10
mov esi, dword [esp + 0x184]
push 0
push esi
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov al, byte [esp + 0x128]
add esp, 8
test al, al
je 0x4b765f
push str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov edi, 0x75737472
mov byte [esp + 0x16], 1
call fcn.00442550
add esp, 4
cmp eax, 0xffffffff
mov edi, 0x66b918
je 0x4b7611
mov ecx, dword [0x86cff4]
and eax, 0xffff
shl eax, 5
mov eax, dword [eax + ecx + 0x14]
cmp dword [eax], 0
jle 0x4b7611
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
test eax, eax
jle 0x4b7611
mov edi, dword [ecx + 0xc]
shr eax, 1
mov word [edi + eax*2 - 2], 0
push 0x100
mov esi, 0x6af400
call fcn.00553330
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
mov eax, dword [esp + 0x19c]
push 0
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
mov esi, dword [esp + 0x1a4]
add esp, 0x20
mov al, byte [esp + 0x14]
test al, al
je 0x4b76a7
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x20
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov al, byte [esp + 0x15]
test al, al
je 0x4b76ef
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x21
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov al, byte [esp + 0x16]
test al, al
je 0x4b7ee7
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x22
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
jmp 0x4b7ee7
cmp edi, 3
jne 0x4b7b0b
lea ecx, [esp + 0x168]
mov eax, ebp
call fcn.005722e0
test ebx, ebx
je 0x4b778a
cmp byte [ebx], 0
je 0x4b778a
push ebx
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x25
call fcn.004b7150
push eax
push str.__s_____s__
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
jmp 0x4b77b1
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x25
call fcn.004b7150
push eax
push str.__s_
lea edx, [esp + 0x28]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x10
mov esi, dword [esp + 0x184]
push 0
push esi
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov al, byte [esp + 0x128]
add esp, 8
test al, al
je 0x4b7879
push str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov edi, 0x75737472
mov byte [esp + 0x16], 1
call fcn.00442550
add esp, 4
cmp eax, 0xffffffff
mov edi, 0x66b918
je 0x4b782b
mov ecx, dword [0x86cff4]
and eax, 0xffff
shl eax, 5
mov eax, dword [eax + ecx + 0x14]
cmp dword [eax], 0
jle 0x4b782b
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
test eax, eax
jle 0x4b782b
mov edi, dword [ecx + 0xc]
shr eax, 1
mov word [edi + eax*2 - 2], 0
push 0x100
mov esi, 0x6af400
call fcn.00553330
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
mov eax, dword [esp + 0x19c]
push 0
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
mov esi, dword [esp + 0x1a4]
add esp, 0x20
mov edi, dword [esp + 0x178]
test edi, edi
jl 0x4b78c6
cmp edi, 2
jg 0x4b78c6
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupplaylist_editoddball_edit_var_speed_with_ball
mov ecx, edi
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov ebx, dword [esp + 0x17c]
cmp ebx, 1
jle 0x4b7913
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x26
call fcn.004b7150
push ebx
push eax
push 0x665848
push str._s_s__d
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
mov al, byte [esp + 0x168]
test al, al
je 0x4b795e
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x27
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
mov eax, edi
sub eax, 0
je 0x4b796e
sub eax, 2
jne 0x4b79ec
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x29
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupplaylist_editoddball_edit_var_speed_with_ball
mov ecx, edi
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b79a8
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b79b8
mov edx, dword [esp + 0x184]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push edx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
add esp, 8
mov esi, dword [esp + 0x170]
test esi, esi
jle 0x4b7a84
cmp esi, 3
jg 0x4b7a84
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x2a
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupplaylist_editoddball_edit_var_trait_with_ball
mov ecx, esi
call fcn.004b7150
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b7a40
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b7a50
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x184]
push 0
push ecx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
add esp, 8
mov esi, dword [esp + 0x174]
test esi, esi
jle 0x4b7ee7
cmp esi, 3
jg 0x4b7ee7
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x2b
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupplaylist_editoddball_edit_var_trait_with_ball
mov ecx, esi
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b7ad6
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b7ae6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x184]
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
jmp 0x4b7ed3
cmp edi, 4
jne 0x4b7c92
mov eax, ebp
shr eax, 3
and al, 1
test ebx, ebx
mov byte [esp + 0x13], al
je 0x4b7b52
cmp byte [ebx], 0
je 0x4b7b52
push ebx
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x23
call fcn.004b7150
push eax
push str.__s_____s__
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
jmp 0x4b7b79
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x23
call fcn.004b7150
push eax
push str.__s_
lea edx, [esp + 0x28]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x10
mov eax, dword [esp + 0x184]
push 0
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov al, byte [esp + 0x128]
add esp, 8
test al, al
je 0x4b7c3a
push str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov edi, 0x75737472
mov byte [esp + 0x16], 1
call fcn.00442550
add esp, 4
cmp eax, 0xffffffff
mov edi, 0x66b918
je 0x4b7bf3
mov ecx, dword [0x86cff4]
and eax, 0xffff
shl eax, 5
mov eax, dword [eax + ecx + 0x14]
cmp dword [eax], 0
jle 0x4b7bf3
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
test eax, eax
jle 0x4b7bf3
mov edi, dword [ecx + 0xc]
shr eax, 1
mov word [edi + eax*2 - 2], 0
push 0x100
mov esi, 0x6af400
call fcn.00553330
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
mov eax, dword [esp + 0x19c]
push 0
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
mov al, byte [esp + 0x13]
test al, al
je 0x4b7ee7
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x24
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
mov edx, dword [esp + 0x198]
push 0
push edx
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
add esp, 0x1c
jmp 0x4b7ee7
cmp edi, 5
jne 0x4b7ee7
lea edx, [esp + 0x18]
mov ecx, ebp
call fcn.00572250
test ebx, ebx
je 0x4b7cd9
cmp byte [ebx], 0
je 0x4b7cd9
push ebx
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x2c
call fcn.004b7150
push eax
push str.__s_____s__
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
add esp, 0x14
jmp 0x4b7d00
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x2c
call fcn.004b7150
push eax
push str.__s_
lea ecx, [esp + 0x28]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x10
mov edx, dword [esp + 0x184]
push 0
push edx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov al, byte [esp + 0x128]
add esp, 8
test al, al
je 0x4b7dc1
push str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov edi, 0x75737472
mov byte [esp + 0x16], 1
call fcn.00442550
add esp, 4
cmp eax, 0xffffffff
mov edi, 0x66b918
je 0x4b7d7a
mov ecx, dword [0x86cff4]
and eax, 0xffff
shl eax, 5
mov eax, dword [eax + ecx + 0x14]
cmp dword [eax], 0
jle 0x4b7d7a
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
test eax, eax
jle 0x4b7d7a
mov edi, dword [ecx + 0xc]
shr eax, 1
mov word [edi + eax*2 - 2], 0
push 0x100
mov esi, 0x6af400
call fcn.00553330
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
mov eax, dword [esp + 0x19c]
push 0
push eax
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
mov esi, dword [esp + 0x18]
test esi, esi
jl 0x4b7e54
cmp esi, 2
jg 0x4b7e54
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x2d
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupplaylist_edit_race_edit_var_race_type
mov ecx, esi
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b7e10
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b7e20
mov edx, dword [esp + 0x184]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push edx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
add esp, 8
mov esi, dword [esp + 0x1c]
test esi, esi
jl 0x4b7ee7
cmp esi, 2
jg 0x4b7ee7
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x2e
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupplaylist_edit_race_edit_var_team_scoring
mov ecx, esi
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b7ea3
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b7eb3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x184]
push 0
push ecx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
add esp, 8
mov esi, dword [esp + 0x184]
push 0
push esi
mov eax, 0x665840
call fcn.004b6e90
mov edx, dword [esp + 0x194]
add esp, 8
push edx
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 1
call fcn.004b7150
push eax
push str.__s__s
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
mov byte [esp + 0x13b], 0
call fcn.004b6e90
mov edi, dword [esp + 0x158]
add esp, 0x1c
cmp edi, 5
ja case.0x4b7f54.2
movzx ecx, byte [edi + 0x4b892c]
jmp dword [ecx*4 + 0x4b8924]
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 2
call fcn.004b7150
push edi
push eax
push 0x665848
push str._s_s__d
lea edx, [esp + 0x30]
push 0xff
push edx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
fld dword [esp + 0x140]
fmul dword [0x66c50c]
call fcn.006343a4
cmp eax, 0xc8
jg 0x4b7fca
je 0x4b7fd9
mov ecx, eax
sub ecx, 0x32
je 0x4b7fd9
sub ecx, 0x32
je 0x4b7fd9
sub ecx, 0x32
je 0x4b7fd9
jmp 0x4b801a
mov ecx, eax
sub ecx, 0x12c
je 0x4b7fd9
sub ecx, 0x64
jne 0x4b801a
push eax
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 3
call fcn.004b7150
push eax
push 0x665848
push str._s_s__d
lea eax, [esp + 0x30]
push 0xff
push eax
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
mov ebx, dword [esp + 0x134]
cmp ebx, 0x12c
jg 0x4b8037
je 0x4b8049
test ebx, ebx
je 0x4b8049
cmp ebx, 0x96
jmp 0x4b803d
cmp ebx, 0x1c2
je 0x4b8049
mov byte [esp + 0x20], 0
jmp 0x4b80da
mov edi, dword [esp + 0x130]
cmp edi, 0x12c
jg 0x4b8068
je 0x4b8070
test edi, edi
je 0x4b8070
cmp edi, 0x96
je 0x4b8070
jmp 0x4b80da
cmp edi, 0x1c2
jne 0x4b80da
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 4
call fcn.004b7150
mov ecx, eax
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x88888889
imul ebx
add edx, ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push 0x665848
push str._s_s__d_d
lea ecx, [esp + 0x34]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x44]
mov byte [esp + 0x143], 0
call fcn.004b6e90
add esp, 0x24
mov edi, dword [esp + 0x138]
cmp edi, 0x96
je 0x4b80f9
cmp edi, 0x12c
je 0x4b80f9
cmp edi, 0x1c2
jne 0x4b814f
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 5
call fcn.004b7150
mov ecx, eax
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push 0x665848
push str._s_s__d
lea ecx, [esp + 0x30]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x40]
mov byte [esp + 0x13f], 0
call fcn.004b6e90
add esp, 0x20
mov bl, byte [esp + 0x124]
test bl, 8
jne 0x4b8193
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 6
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
call fcn.004b6e90
add esp, 0x1c
mov al, byte [esp + 0x12c]
test al, al
je 0x4b81d6
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 7
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
call fcn.004b6e90
add esp, 0x1c
test bl, 0x10
je 0x4b8213
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 8
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
call fcn.004b6e90
add esp, 0x1c
test bl, 4
je 0x4b8250
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 9
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
call fcn.004b6e90
add esp, 0x1c
mov al, byte [esp + 0x12]
test al, al
je 0x4b8512
mov bl, byte [esp + 0x158]
cmp bl, 4
jae 0x4b8396
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0xb
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
movzx ecx, bl
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setup_teamplay_options_edit_var_friendly_fire
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b82a7
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b82b7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp bl, 1
rep movsb byte es:[edi], byte [esi]
je 0x4b82db
cmp bl, 3
jne 0x4b8371
mov eax, dword [esp + 0x15c]
cmp eax, 0x96
je 0x4b8309
cmp eax, 0x12c
je 0x4b8302
cmp eax, 0x1c2
jne 0x4b8371
mov ecx, 3
jmp 0x4b830e
mov ecx, 2
jmp 0x4b830e
mov ecx, 1
lea edi, [esp + 0x20]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4b8313
mov edx, dword [0x665610]
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setup_teamplay_options_edit_var_friendly_fire_penalty
mov dword [edi], edx
call fcn.004b7150
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b8330
lea edi, [esp + 0x20]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b8340
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x20]
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4b8360
mov ax, word [0x65bcdc]
mov word [edi], ax
mov ecx, dword [esp + 0x184]
push 0
push ecx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
mov edi, dword [esp + 0x14c]
and edi, 0xf
cmp edi, 9
jae 0x4b842e
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0xc
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setup_vehicle_options_edit_var_vehicle_set
mov ecx, edi
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b83e3
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b83f3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x184]
and ecx, 3
push 0
push eax
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
mov edi, dword [esp + 0x150]
and edi, 0xf
cmp edi, 9
jae 0x4b84cb
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0xd
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setup_vehicle_options_edit_var_vehicle_set
mov ecx, edi
call fcn.004b7150
mov ecx, eax
jmp 0x4b8480
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b8480
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b8490
mov edx, dword [esp + 0x184]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push edx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
mov bl, byte [esp + 0x124]
mov eax, dword [esp + 0x154]
cmp eax, 0xa8c
jg 0x4b85c2
je 0x4b85bb
test eax, eax
je 0x4b85b7
cmp eax, 0x384
je 0x4b85b0
cmp eax, 0x708
jne 0x4b8673
mov esi, 2
jmp 0x4b85ee
mov edi, dword [esp + 0x14c]
and edi, 0xf
cmp edi, 9
jae 0x4b84d2
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0xa
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea eax, [esp + 0x2c]
push 0xff
push eax
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setup_vehicle_options_edit_var_vehicle_set
mov ecx, edi
call fcn.004b7150
mov ecx, eax
jmp 0x4b8560
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b8560
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b8570
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x184]
push 0
push ecx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
jmp 0x4b84d2
mov esi, 1
jmp 0x4b85ee
xor esi, esi
jmp 0x4b85ee
mov esi, 3
jmp 0x4b85ee
cmp eax, 0xe10
je 0x4b85e9
cmp eax, 0x1518
je 0x4b85e2
cmp eax, 0x2328
jne 0x4b8673
mov esi, 6
jmp 0x4b85ee
mov esi, 5
jmp 0x4b85ee
mov esi, 4
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0xe
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setup_vehicle_options_edit_var_vehicles_respawn
mov ecx, esi
call fcn.004b7150
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b8628
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b8638
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x184]
and ecx, 3
push 0
push eax
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
mov edi, dword [esp + 0x148]
cmp edi, 0xe
jge 0x4b870b
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0xf
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menu_settings_selectmultiplayer_setupitem_options_edit_var_weapon_set
mov ecx, edi
call fcn.004b7150
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b86c0
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b86d0
mov edx, dword [esp + 0x184]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push edx
lea eax, [esp + 0x28]
mov byte [esp + 0x127], 0
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
test bl, 0x20
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
je 0x4b8736
mov ecx, 0x10
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
push 0xff
lea eax, [esp + 0x30]
push eax
jmp 0x4b8755
mov ecx, 0x11
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
push 0xff
lea ecx, [esp + 0x30]
push ecx
call fcn.0061f0cd
push 0
lea eax, [esp + 0x38]
push esi
call fcn.004b6e90
mov eax, dword [esp + 0x144]
add esp, 0x1c
sub eax, 0
je 0x4b87ed
dec eax
jne 0x4b8873
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x12
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x14
call fcn.004b7150
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b87c0
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b87d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x184]
push 0
push eax
jmp 0x4b885b
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x12
call fcn.004b7150
push eax
push 0x665848
push 0x6657b4
lea ecx, [esp + 0x2c]
push 0xff
push ecx
call fcn.0061f0cd
add esp, 0x14
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x13
call fcn.004b7150
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4b8830
lea edi, [esp + 0x20]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b8840
mov edx, dword [esp + 0x184]
mov ecx, eax
shr ecx, 2
push 0
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
lea eax, [esp + 0x28]
rep movsb byte es:[edi], byte [esi]
call fcn.004b6e90
mov esi, dword [esp + 0x18c]
add esp, 8
test bl, 1
je 0x4b88d9
test bl, 0x40
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
je 0x4b88a3
mov ecx, 0x15
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
push 0xff
lea eax, [esp + 0x30]
push eax
jmp 0x4b88c2
mov ecx, 0x16
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
push 0xff
lea ecx, [esp + 0x30]
push ecx
call fcn.0061f0cd
add esp, 0x14
push 0
push esi
lea eax, [esp + 0x28]
call fcn.004b6e90
add esp, 8
test bl, 2
je 0x4b8916
mov eax, str.ui_shellmain_menumultiplayer_type_selectjoin_gamejoin_game_rules_strings
mov ecx, 0x17
call fcn.004b7150
push eax
push 0x665848
push 0x66582c
lea edx, [esp + 0x2c]
push 0xff
push edx
call fcn.0061f0cd
push 0
push esi
lea eax, [esp + 0x3c]
call fcn.004b6e90
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret