Function at 0x47f570
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x174
push ebx
mov ebx, dword [esp + 0x17c]
cmp byte [ebx], 0x2f
push ebp
mov ebp, ecx
mov byte [esp + 0xb], 0
je 0x47e9d8
pop ebp
xor al, al
pop ebx
add esp, 0x174
ret 0xc
push esi
push edi
mov dword [esp + 0x14], str._vote_yes
mov dword [esp + 0x18], str._vote_no
mov dword [esp + 0x1c], str._callvote_nextsession
mov dword [esp + 0x20], str._callvote_nextrace
mov dword [esp + 0x24], str._callvote_event
mov dword [esp + 0x28], str._callvote_restartrace
mov dword [esp + 0x2c], str._callvote_restartwarmup
mov dword [esp + 0x30], str._restartwarmup
mov dword [esp + 0x34], str._callvote_restartweekend
mov dword [esp + 0x38], str._callvote_addai
mov dword [esp + 0x3c], str._callvote_add5ai
mov dword [esp + 0x40], str._callvote_kingme
mov dword [esp + 0x44], str._callvote_kick
mov dword [esp + 0x48], str._callvote_ban
mov dword [esp + 0x4c], str._admin
mov dword [esp + 0x50], str._apwd
mov dword [esp + 0x54], str._editgrid
mov dword [esp + 0x58], str._setmass
mov dword [esp + 0x5c], str._score
mov dword [esp + 0x60], str._unscore
mov dword [esp + 0x64], str._changelaps
mov dword [esp + 0x68], str._addpenalty
mov dword [esp + 0x6c], str._subpenalty
mov dword [esp + 0x70], str._throwyellow
mov dword [esp + 0x74], str._clearyellow
mov dword [esp + 0x78], str._racelength
mov dword [esp + 0x7c], str._unthrottle
mov dword [esp + 0x80], str._shutdownserver
xor esi, esi
nop
mov edx, dword [esp + esi*4 + 0x14]
mov eax, edx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ead0
sub eax, edi
push eax
push edx
push ebx
call fcn.0058b371
add esp, 0xc
test eax, eax
je 0x47eb03
add esi, 1
cmp esi, 0x1c
jl 0x47eac0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
cmp esi, 0xe
mov byte [esp + 0x13], 1
je 0x47eb47
cmp esi, 0xf
je 0x47eb47
mov eax, dword [esp + 0x18c]
push ebx
push eax
lea ecx, [esp + 0x8c]
push str._s:__s
push ecx
call fcn.00589571
add esp, 0x10
lea edx, [esp + 0x84]
push edx
push str.Vote
mov ecx, 0xa19110
call fcn.004e9470
cmp esi, 0x1b
ja case.default.0x47eb50
jmp dword [esi*4 + 0x47f124]
mov eax, dword [esp + 0x190]
push 0
push 1
push eax
lea ecx, [ebp + 0xe0]
call fcn.004750f0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov ecx, dword [esp + 0x190]
push 0
push 0
push ecx
lea ecx, [ebp + 0xe0]
call fcn.004750f0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._callvote_kick
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ebb0
sub eax, edx
mov edx, dword [esp + 0x190]
add eax, ebx
push eax
push edx
push 0xa
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._callvote_ban
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ebf0
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esp + 0x194]
push eax
push 0xb
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov ecx, dword [esp + 0x190]
push 0
push ecx
push 1
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov edx, dword [esp + 0x190]
push 0
push edx
push 2
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._callvote_event
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ec80
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esp + 0x194]
push eax
push 3
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov ecx, dword [esp + 0x190]
push 0
push ecx
push 4
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov edx, dword [esp + 0x190]
push 0
push edx
push 5
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, dword [esp + 0x190]
push 0
push eax
push 6
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov ecx, dword [esp + 0x190]
push 0
push ecx
push 7
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov edx, dword [esp + 0x190]
push 0
push edx
push 8
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, dword [esp + 0x190]
push 0
push eax
push 9
lea ecx, [ebp + 0xe0]
call fcn.004753a0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._admin
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47edb0
mov ecx, dword [esp + 0x190]
sub eax, edx
add eax, ebx
push eax
push ecx
lea ecx, [ebp + 0xe0]
call fcn.00473d60
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._apwd
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47edf0
sub eax, edx
mov edx, dword [esp + 0x190]
add eax, ebx
push eax
push edx
lea ecx, [ebp + 0xe0]
call fcn.00473c40
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._editgrid
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ee30
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esp + 0x194]
push eax
push 9
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._setmass
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ee70
mov ecx, dword [esp + 0x190]
sub eax, edx
add eax, ebx
push eax
push ecx
push 0xa
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._score
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47eeb0
sub eax, edx
mov edx, dword [esp + 0x190]
add eax, ebx
push eax
push edx
push 0xb
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._unscore
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47eef0
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esp + 0x194]
push eax
push 0xc
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._changelaps
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ef30
mov ecx, dword [esp + 0x190]
sub eax, edx
add eax, ebx
push eax
push ecx
push 0xd
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._addpenalty
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ef70
sub eax, edx
mov edx, dword [esp + 0x190]
add eax, ebx
push eax
push edx
push 0xe
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._subpenalty
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47efb0
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esp + 0x194]
push eax
push 0xf
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._throwyellow
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47eff0
mov ecx, dword [esp + 0x190]
sub eax, edx
add eax, ebx
push eax
push ecx
push 0x10
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._clearyellow
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47f030
sub eax, edx
mov edx, dword [esp + 0x190]
add eax, ebx
push eax
push edx
push 0x11
lea ecx, [ebp + 0xe0]
call fcn.0047d800
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, dword [esp + 0x190]
lea esi, [ebp + 0xe0]
push eax
mov ecx, esi
call fcn.00473aa0
test al, al
je case.default.0x47eb50
mov eax, str._racelength
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47f090
sub eax, edx
add eax, ebx
push eax
mov ecx, esi
call fcn.0047da70
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov eax, str._unthrottle
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47f0c0
mov ecx, dword [esp + 0x190]
sub eax, edx
add eax, ebx
push eax
push ecx
lea ecx, [ebp + 0xe0]
call fcn.0047dc10
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov edx, dword [esp + 0x190]
push edx
lea ecx, [ebp + 0xe0]
call fcn.00473aa0
test al, al
je case.default.0x47eb50
xor cl, cl
call fcn.00474940
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x174
ret 0xc
mov ecx, dword [ecx]
test ecx, ecx
je 0x47f57b
jmp 0x47e9b0
mov al, 1
ret 0xc