Function at 0x414c64
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x310
push ebx
push ebp
mov ebp, dword [esp + 0x31c]
push esi
push edi
push 0xa
push str.GUEST_INFO
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x413e89
cmp dword [0x4f3d10], 5
je 0x415b74
lea eax, [esp + 0x3c]
push eax
push 1
push ebp
call fcn.0048da20
add esp, 0xc
push 2
push ebp
call fcn.0048d9d0
add esp, 8
mov bl, al
push 3
push ebp
call fcn.0048d9d0
add esp, 8
push 4
push ebp
call fcn.0048d9d0
add esp, 8
mov ebp, eax
mov byte [esp + 0x1b], 0
mov esi, 0x4f28b1
mov edi, 4
lea ecx, [esp + 0x3c]
lea edx, [esi - 0x19]
push ecx
push edx
call fcn.004bcb20
add esp, 8
test eax, eax
jne 0x413df9
mov byte [esi], bl
mov dword [esi - 5], ebp
mov byte [esp + 0x1b], 1
add esi, 0x28
dec edi
jne 0x413dda
mov al, byte [esp + 0x1b]
test al, al
jne 0x413e5d
mov edx, 0x4f2898
mov dword [esp + 0x20], 4
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x413e4f
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [edx + 0x19], bl
mov byte [edx + 0x1a], 1
mov dword [edx + 0x14], ebp
mov byte [edx + 0x1b], 0
mov eax, dword [esp + 0x20]
add edx, 0x28
dec eax
mov dword [esp + 0x20], eax
jne 0x413e14
mov ecx, dword [0x79759c]
push 1
call fcn.00474b60
call fcn.00410db0
push 0
push 0x4dbcc0
call fcn.00415b80
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 9
push 0x4dbcc0
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414305
cmp dword [0x4f3d10], 4
je 0x415b74
call fcn.00418ed0
push 1
push ebp
call fcn.0048d9d0
add esp, 8
jmp 0x8da840
push 0xa
push str.WANT_HOUSE
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x4145cf
mov al, byte [0x797e10]
test al, al
jne 0x415b74
push 1
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [esp + 0x14], al
test al, al
je 0x414361
cmp al, 1
je 0x414361
cmp al, 2
je 0x414361
mov eax, dword [esp + 0x14]
and eax, 0xff
push eax
push str.gNetPlayerSide_received_out_of_range__d
push str.SortIncomingGameOptions__
call fcn.0042b590
add esp, 0xc
mov ecx, dword [0x79759c]
push str.HOSTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
jne 0x4143b3
mov ecx, dword [0x79759c]
push str.CLIENTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
je 0x41459d
xor ebx, ebx
mov byte [esp + 0x13], 0
cmp word [ebp + 0x78a], bx
jbe 0x414460
mov ecx, dword [esp + 0x328]
add ecx, 0x24
mov dword [esp + 0x1c], ecx
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebp + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414452
mov ecx, dword [esp + 0x14]
and ecx, 0xff
push ecx
push ebx
mov ecx, ebp
call fcn.00486cd0
mov al, byte [esp + 0x14]
lea edx, [esi + esi*4]
mov byte [esp + 0x13], 1
mov byte [edx*8 + 0x4f28b1], al
inc ebx
cmp bx, word [ebp + 0x78a]
jb 0x4143d5
mov al, byte [esp + 0x13]
test al, al
jne 0x41459d
xor bl, bl
mov byte [esp + 0x28], bl
mov edx, dword [esp + 0x28]
mov eax, edx
and eax, 0xff
lea ecx, [eax + eax*4]
xor eax, eax
lea edi, [ecx*8 + 0x4f2898]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4144a3
inc bl
cmp bl, 4
mov byte [esp + 0x28], bl
jb 0x414472
jmp 0x41459d
and edx, 0xff
or ecx, 0xffffffff
xor eax, eax
lea ebp, [edx + edx*4]
mov edx, dword [esp + 0x328]
shl ebp, 3
lea edi, [edx + 0x24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x4f2898]
mov eax, ecx
mov esi, edi
mov edi, edx
xor edx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x28], edx
and ecx, 3
mov dword [esp + 0x2c], edx
mov edx, dword [0x4f40b4]
mov byte [esp + 0x2c], 1
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x14]
mov byte [esp + 0x2f], 1
mov byte [ebp + 0x4f28b1], cl
mov byte [ebp + 0x4f28b0], 9
xor cl, cl
mov byte [ebp + 0x4f28b2], 1
test edx, edx
mov dword [ebp + 0x4f28ac], 0xffffffff
jbe 0x414549
cmp cl, bl
je 0x414536
mov al, byte [ebp + 0x4f28b0]
cmp al, 9
je 0x414536
and eax, 0xff
mov byte [esp + eax + 0x28], 1
inc cl
mov byte [esp + 0x30], cl
mov eax, dword [esp + 0x30]
and eax, 0xff
cmp eax, edx
jb 0x41451e
call fcn.004b1810
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
and ecx, 0xff
mov dl, byte [esp + ecx + 0x28]
test dl, dl
je 0x414597
call fcn.004b1810
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov byte [esp + 0x14], al
mov edx, dword [esp + 0x14]
and edx, 0xff
mov cl, byte [esp + edx + 0x28]
test cl, cl
jne 0x414570
mov byte [ebp + 0x4f28b0], al
mov eax, dword [0x4f3d10]
cmp eax, 4
jne 0x4152d4
call fcn.0041a240
push 0
push 0x4dbcc0
call fcn.00415b80
add esp, 8
call fcn.00412ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 9
push str.HOST_PING
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x4145f9
call fcn.008d76a6
nop
mov dword [0x4f3cb8], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 8
push str.CAN_QUIT
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414663
push 1
push ebp
call fcn.0048d9d0
add esp, 8
cmp al, 1
jne 0x414642
push 1
call fcn.0040e9e0
mov ecx, dword [0x79759c]
add esp, 4
push str.AWAITING_RESPONSE
push str.INETLOBBY
push 0xe4
call fcn.00473840
jmp 0x414647
call fcn.00418ed0
mov byte [0x797e00], 0
mov dword [0x797e04], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 0xc
push str.WANT_TO_QUIT
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414746
cmp dword [0x4f3d10], 4
jne 0x415b74
mov edi, str.CAN_QUIT
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x64]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [0x797e10]
and ecx, 3
test al, al
rep movsb byte es:[edi], byte [esi]
jne 0x4146ec
mov edi, 0x4dcb08
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00412ff0
jmp 0x414716
mov edi, 0x4dcb04
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4f40e4]
lea edx, [esp + 0x64]
push edx
mov edx, dword [esp + 0x32c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x38]
mov ecx, dword [0x79759c]
push 1
call fcn.00474b60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 0x13
push str.BROADCAST_MY_COLOUR
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414860
push 1
push ebp
call fcn.0048d9d0
mov ecx, dword [0x79759c]
add esp, 8
mov byte [esp + 0x28], al
push 0
push str.playerList
call fcn.004795f0
mov ebx, eax
test ebx, ebx
je 0x415b74
xor ebp, ebp
cmp word [ebx + 0x78a], bp
jbe 0x415b74
mov eax, dword [esp + 0x328]
add eax, 0x24
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebx + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebp
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414847
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x30]
and ecx, 0xff
push ecx
push 0x4dc7f8
push edx
call fcn.004b0670
add esp, 0xc
lea eax, [esp + 0x30]
push eax
call fcn.00491560
add esp, 4
push eax
call fcn.0048db90
add esp, 4
mov ecx, ebx
push eax
push ebp
call fcn.00486c60
mov dl, byte [esp + 0x28]
lea ecx, [esi + esi*4]
mov byte [ecx*8 + 0x4f28b0], dl
inc ebp
cmp bp, word [ebx + 0x78a]
jb 0x4147a6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 6
push str.COLOUR
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414c10
push 1
push ebp
call fcn.0048d9d0
mov byte [esp + 0x1c], al
mov eax, dword [0x4f3d10]
add esp, 8
cmp eax, 4
jne 0x414b1d
xor eax, eax
push str.NetColour0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov byte [esp + 0x58], 1
mov byte [esp + 0x5b], 1
call fcn.0048db90
mov ecx, dword [0x79759c]
add esp, 4
mov dword [esp + 0x1c], eax
push 0
push str.playerList
call fcn.004795f0
mov edx, eax
test edx, edx
mov dword [esp + 0x20], edx
je 0x41496e
mov ax, word [edx + 0x78a]
test ax, ax
jbe 0x41496e
mov edi, dword [edx + 0x790]
mov ecx, dword [edx + 0x798]
sub ecx, edi
and eax, 0xffff
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], eax
jmp 0x41490b
mov ecx, dword [esp + 0x30]
mov ebp, dword [ecx + edi]
mov ecx, dword [esp + 0x328]
mov eax, dword [edi]
lea esi, [ecx + 0x24]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x41493e
test cl, cl
je 0x41493a
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x41493e
add eax, 2
add esi, 2
test cl, cl
jne 0x41491a
xor eax, eax
jmp 0x414943
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x414960
mov esi, dword [esp + 0x1c]
mov eax, ebp
sub eax, esi
cmp eax, 7
ja 0x414960
mov byte [esp + eax + 0x50], 1
mov dword [edx + 0x18], 1
mov eax, dword [esp + 0x28]
add edi, 4
dec eax
mov dword [esp + 0x28], eax
jne 0x414907
mov ebx, dword [esp + 0x14]
mov eax, ebx
and eax, 0xff
mov cl, byte [esp + eax + 0x50]
test cl, cl
je 0x4149ac
xor al, al
mov byte [esp + 0x28], al
mov ecx, dword [esp + 0x28]
and ecx, 0xff
cmp byte [esp + ecx + 0x50], 0
je 0x4149a4
inc al
cmp al, 8
mov byte [esp + 0x28], al
jb 0x414987
jmp 0x4149ac
mov byte [esp + 0x14], al
mov ebx, dword [esp + 0x14]
test edx, edx
je 0x414a88
xor ebp, ebp
cmp word [edx + 0x78a], bp
jbe 0x414a88
mov edx, dword [esp + 0x328]
add edx, 0x24
mov dword [esp + 0x1c], edx
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebp
lea edi, [esp + 0x50]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + 0x790]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [eax + esi*4]
push ecx
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414a76
mov edx, ebx
lea eax, [esp + 0x30]
and edx, 0xff
push edx
push 0x4dc7f8
push eax
call fcn.004b0670
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
call fcn.00491560
add esp, 4
push eax
call fcn.0048db90
mov ecx, dword [esp + 0x24]
add esp, 4
push eax
push ebp
call fcn.00486c60
mov al, byte [esp + 0x14]
lea edx, [esi + esi*4]
mov byte [edx*8 + 0x4f28b0], al
mov ecx, dword [esp + 0x20]
inc ebp
cmp bp, word [ecx + 0x78a]
jb 0x4149d1
mov edi, str.GIVEN_COLOUR
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0xa
mov eax, ecx
mov esi, edi
mov edi, edx
and ebx, 0xff
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x40]
push ecx
push ebx
call fcn.004bcc60
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4f40e4]
mov ecx, ebx
lea edx, [esp + 0xc8]
and ecx, 3
push edx
mov edx, dword [esp + 0x32c]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x38]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
mov ecx, dword [0x79759c]
push 0
push str.playerList
call fcn.004795f0
mov ebx, eax
test ebx, ebx
je 0x415b74
xor ebp, ebp
cmp word [ebx + 0x78a], bp
jbe 0x415b74
mov eax, dword [esp + 0x328]
add eax, 0x24
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebx + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebp
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414bf7
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x30]
and ecx, 0xff
push ecx
push 0x4dc7f8
push edx
call fcn.004b0670
add esp, 0xc
lea eax, [esp + 0x30]
push eax
call fcn.00491560
add esp, 4
push eax
call fcn.0048db90
add esp, 4
mov ecx, ebx
push eax
push ebp
call fcn.00486c60
mov dl, byte [esp + 0x14]
lea ecx, [esi + esi*4]
mov byte [ecx*8 + 0x4f28b0], dl
inc ebp
cmp bp, word [ebx + 0x78a]
jb 0x414b56
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 0xb
push str.WANT_COLOUR
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414df0
mov edi, 1
push edi
push ebp
call fcn.0048d9d0
mov byte [esp + 0x1c], al
xor eax, eax
add esp, 8
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x34], 1
push str.NetColour0
mov byte [esp + 0x3b], 1
call fcn.0048db90
mov ecx, dword [0x79759c]
add esp, 4
mov esi, eax
push 0
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
je 0x414ca3
mov cx, word [ebp + 0x78a]
test cx, cx
jbe 0x414ca3
mov eax, dword [ebp + 0x798]
and ecx, 0xffff
mov ebx, dword [eax]
lea edx, [esp + 0x30]
sub edx, esi
add eax, 4
dec ecx
mov dword [ebp + 0x18], edi
mov byte [edx + ebx], 1
jne 0x414c8e
mov eax, dword [esp + 0x14]
and eax, 0xff
mov cl, byte [esp + eax + 0x30]
test cl, cl
je 0x414d02
call fcn.004b1810
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
and ecx, 0xff
mov al, byte [esp + ecx + 0x30]
test al, al
je 0x414d02
call fcn.004b1810
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov byte [esp + 0x14], al
mov edx, dword [esp + 0x14]
and edx, 0xff
mov al, byte [esp + edx + 0x30]
test al, al
jne 0x414cdb
test ebp, ebp
je 0x414dd6
xor ebx, ebx
cmp word [ebp + 0x78a], bx
jbe 0x414dd6
mov eax, dword [esp + 0x328]
add eax, 0x24
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebp + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414dc8
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x30]
and ecx, 0xff
push ecx
push 0x4dc7f8
push edx
call fcn.004b0670
add esp, 0xc
lea eax, [esp + 0x30]
push eax
call fcn.00491560
add esp, 4
push eax
call fcn.0048db90
add esp, 4
mov ecx, ebp
push eax
push ebx
call fcn.00486c60
mov dl, byte [esp + 0x14]
lea ecx, [esi + esi*4]
mov byte [ecx*8 + 0x4f28b0], dl
inc ebx
cmp bx, word [ebp + 0x78a]
jb 0x414d27
push 0
push 0x4dbcc0
call fcn.00415b80
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 0xc
push 0x4dcab0
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414f14
push 1
push ebp
call fcn.0048d9d0
mov cl, byte [0x6b9844]
add esp, 8
cmp cl, al
mov byte [esp + 0x28], al
mov byte [esp + 0x13], 0
jne 0x414e2b
mov byte [esp + 0x13], 1
mov ecx, dword [0x79759c]
push 0
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
je 0x415b74
xor ebx, ebx
cmp word [ebp + 0x78a], bx
jbe 0x415b74
mov esi, ebx
mov edi, 0x4f1018
or ecx, 0xffffffff
xor eax, eax
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [ebp + 0x790]
not ecx
dec ecx
push ecx
mov ecx, dword [eax + esi*4]
push 0x4f1018
push ecx
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414efb
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x30]
and edx, 0xff
push edx
push 0x4dc7f8
push eax
call fcn.004b0670
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
call fcn.00491560
add esp, 4
push eax
call fcn.0048db90
add esp, 4
mov ecx, ebp
push eax
push ebx
call fcn.00486c60
mov al, byte [esp + 0x28]
lea edx, [esi + esi*4]
mov byte [0x6b9844], al
mov byte [edx*8 + 0x4f28b0], al
call fcn.00492b60
mov al, byte [esp + 0x13]
mov dword [ebp + 0x18], 1
test al, al
jne 0x414efb
push 0
push str.BROADCAST_MY_COLOUR
call fcn.00415b80
add esp, 8
inc ebx
cmp bx, word [ebp + 0x78a]
jb 0x414e56
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 8
push str.HANDICAP
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x41501b
push 1
push ebp
call fcn.0048d9d0
mov ecx, dword [0x79759c]
add esp, 8
push 0
push str.playerList
call fcn.004795f0
mov ebx, eax
test ebx, ebx
je 0x415b74
cmp word [ebx + 0x78a], 0
mov dword [esp + 0x20], 0
jbe 0x415b74
mov eax, dword [esp + 0x328]
add eax, 0x24
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebx + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x20]
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x414ffa
push 1
push ebp
call fcn.0048d9d0
lea ecx, [esi + esi*4]
add esp, 8
mov byte [ecx*8 + 0x4f28b2], al
mov dword [ebx + 0x18], 1
cmp dword [0x4f3d10], 5
jne 0x414ffa
call fcn.00412c50
mov eax, dword [esp + 0x20]
inc eax
cmp ax, word [ebx + 0x78a]
mov dword [esp + 0x20], eax
jb 0x414f77
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
mov esi, 5
push esi
push str.HOUSE
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x4152ed
push 1
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [esp + 0x14], al
test al, al
je 0x41506f
cmp al, 1
je 0x41506f
cmp al, 2
je 0x41506f
mov edx, dword [esp + 0x14]
and edx, 0xff
push edx
push str.gNetPlayerSide_received_out_of_range__d
push str.SortIncomingGameOptions__
call fcn.0042b590
add esp, 0xc
mov ecx, dword [0x79759c]
push str.CLIENTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
jne 0x4150c1
mov ecx, dword [0x79759c]
push str.HOSTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
je 0x4152ab
xor ebx, ebx
mov byte [esp + 0x13], 0
cmp word [ebp + 0x78a], bx
jbe 0x41516e
mov eax, dword [esp + 0x328]
add eax, 0x24
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebp + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x415160
mov ecx, dword [esp + 0x14]
and ecx, 0xff
push ecx
push ebx
mov ecx, ebp
call fcn.00486cd0
mov al, byte [esp + 0x14]
lea edx, [esi + esi*4]
mov byte [esp + 0x13], 1
mov byte [edx*8 + 0x4f28b1], al
inc ebx
cmp bx, word [ebp + 0x78a]
jb 0x4150e3
mov al, byte [esp + 0x13]
test al, al
jne 0x4152ab
xor bl, bl
mov byte [esp + 0x28], bl
mov edx, dword [esp + 0x28]
mov eax, edx
and eax, 0xff
lea ecx, [eax + eax*4]
xor eax, eax
lea edi, [ecx*8 + 0x4f2898]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4151b1
inc bl
cmp bl, 4
mov byte [esp + 0x28], bl
jb 0x415180
jmp 0x4152ab
and edx, 0xff
or ecx, 0xffffffff
xor eax, eax
lea ebp, [edx + edx*4]
mov edx, dword [esp + 0x328]
shl ebp, 3
lea edi, [edx + 0x24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x4f2898]
mov eax, ecx
mov esi, edi
mov edi, edx
xor edx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x50], edx
and ecx, 3
mov dword [esp + 0x54], edx
mov edx, dword [0x4f40b4]
mov byte [esp + 0x54], 1
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x14]
mov byte [esp + 0x57], 1
mov byte [ebp + 0x4f28b1], cl
mov byte [ebp + 0x4f28b0], 9
xor cl, cl
mov byte [ebp + 0x4f28b2], 1
test edx, edx
mov dword [ebp + 0x4f28ac], 0xffffffff
jbe 0x415257
cmp cl, bl
je 0x415244
mov al, byte [ebp + 0x4f28b0]
cmp al, 9
je 0x415244
and eax, 0xff
mov byte [esp + eax + 0x50], 1
inc cl
mov byte [esp + 0x30], cl
mov eax, dword [esp + 0x30]
and eax, 0xff
cmp eax, edx
jb 0x41522c
call fcn.004b1810
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov byte [esp + 0x20], al
mov ecx, dword [esp + 0x20]
and ecx, 0xff
mov dl, byte [esp + ecx + 0x50]
test dl, dl
je 0x4152a5
call fcn.004b1810
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov byte [esp + 0x20], al
mov edx, dword [esp + 0x20]
and edx, 0xff
mov cl, byte [esp + edx + 0x50]
test cl, cl
jne 0x41527e
mov byte [ebp + 0x4f28b0], al
mov eax, dword [0x4f3d10]
cmp eax, 4
jne 0x4152d4
push 0
push 0x4dbcc0
call fcn.00415b80
add esp, 8
call fcn.00412ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
cmp eax, 5
jne 0x415b74
call fcn.00412c50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 0x13
push str.HAVE_ACCEPTED_USERS
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x41536a
xor bl, bl
mov esi, 0x4f3c78
xor ax, ax
mov al, bl
inc eax
push eax
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [esi], al
inc bl
inc esi
cmp bl, 8
jb 0x415308
mov ecx, dword [0x79759c]
push 1
call fcn.00474b60
mov ecx, dword [0x79759c]
push str.CLIENTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
test eax, eax
je 0x415b74
mov dword [eax + 0x18], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 9
push str.ACCEPT_OK
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x415420
cmp dword [0x4f3d10], esi
jne 0x415b74
call fcn.00418ed0
mov ecx, dword [0x79759c]
push str.CLIENTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
je 0x415410
xor ebx, ebx
cmp word [ebp + 0x78a], bx
jbe 0x415409
mov esi, ebx
mov edi, 0x4f1018
or ecx, 0xffffffff
xor eax, eax
and esi, 0xffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x790]
push 0x4f1018
mov edx, dword [ecx + esi*4]
push edx
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x4153ff
mov byte [esi + 0x4f3c78], 1
inc ebx
cmp bx, word [ebp + 0x78a]
jb 0x4153c5
mov dword [ebp + 0x18], 1
call fcn.00413330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 0xd
push str.ACCEPT_NOT_OK
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x4154ed
cmp dword [0x4f3d10], esi
jne 0x415b74
call fcn.00418ed0
push 1
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [0x4e3b00], al
push 2
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [0x4e3b04], al
push 3
push ebp
call fcn.0048d9d0
add esp, 8
mov word [0x4e3b08], ax
push 4
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [0x4e3b0c], al
push esi
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [0x6b9834], al
call fcn.004931c0
push 6
push ebp
call fcn.0048d9d0
add esp, 8
mov byte [0x6b9838], al
call fcn.00493350
push 0x797638
push 7
push ebp
call fcn.0048da20
add esp, 0xc
push 0x797638
call fcn.00493050
mov ecx, dword [0x79759c]
add esp, 4
push 1
call fcn.00474b60
call fcn.00412c50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
push 6
push str.ACCEPT
push ebp
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x415b74
cmp dword [0x4f3d10], 4
jne 0x415b74
push 1
push ebp
mov bl, 1
call fcn.0048d9d0
xor ecx, ecx
add esp, 8
mov cl, byte [0x4e3b00]
cmp eax, ecx
je 0x415532
xor bl, bl
jmp 0x4155f4
push 2
push ebp
call fcn.0048d9d0
xor edx, edx
add esp, 8
mov dl, byte [0x4e3b04]
cmp eax, edx
je 0x415550
xor bl, bl
jmp 0x4155f4
push 3
push ebp
call fcn.0048d9d0
xor ecx, ecx
add esp, 8
mov cx, word [0x4e3b08]
cmp eax, ecx
je 0x41556f
xor bl, bl
jmp 0x4155f4
push 4
push ebp
call fcn.0048d9d0
xor edx, edx
add esp, 8
mov dl, byte [0x4e3b0c]
cmp eax, edx
je 0x41558a
xor bl, bl
jmp 0x4155f4
push esi
push ebp
call fcn.0048d9d0
xor ecx, ecx
add esp, 8
mov cl, byte [0x6b9834]
cmp eax, ecx
je 0x4155a4
xor bl, bl
jmp 0x4155f4
push 6
push ebp
call fcn.0048d9d0
xor edx, edx
add esp, 8
mov dl, byte [0x6b9838]
cmp eax, edx
je 0x4155bf
xor bl, bl
jmp 0x4155f4
lea eax, [esp + 0x3c]
push eax
push 7
push ebp
call fcn.0048da20
add esp, 0xc
lea ecx, [esp + 0x3c]
push ecx
push 0x797638
call fcn.004bcb20
add esp, 8
test eax, eax
je 0x4155e7
xor bl, bl
push 0x797638
call fcn.00493050
add esp, 4
test bl, bl
je 0x41581e
mov ecx, dword [0x79759c]
push str.HOSTINETGAME
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.playerList
call fcn.004795f0
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x30], ebp
je 0x4156ac
xor ebx, ebx
cmp word [ebp + 0x78a], bx
jbe 0x4156ac
mov edx, dword [esp + 0x328]
add edx, 0x24
mov dword [esp + 0x1c], edx
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [ebp + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
lea edi, [esp + 0x50]
or ecx, 0xffffffff
and esi, 0xffff
repne scasb al, byte es:[edi]
mov eax, dword [edx + esi*4]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x54]
push ecx
push eax
call fcn.004bcbb0
add esp, 0xc
test eax, eax
jne 0x4156a2
mov byte [esi + 0x4f3c78], 1
inc ebx
cmp bx, word [ebp + 0x78a]
jb 0x415644
xor dl, dl
mov eax, 0x4f3c78
mov byte [0x4f3cec], dl
mov ecx, 8
cmp byte [eax], 0
je 0x4156c5
inc dl
inc eax
dec ecx
jne 0x4156be
mov ecx, dword [0x4f40b4]
mov byte [0x4f3cec], dl
mov edx, dword [0x4f3cec]
dec ecx
and edx, 0xff
cmp edx, ecx
jne 0x4156f2
call fcn.004126c0
mov dword [ebp + 0x18], 1
mov eax, dword [0x4f40e4]
mov esi, dword [eax]
call fcn.0041a280
mov ebx, dword [esp + 0x328]
mov ecx, dword [0x4f40e4]
push eax
push ebx
push ecx
call dword [esi + 0x38]
mov edi, str.ACCEPT_OK
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x64]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x4f40e4]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x38]
mov edi, 0x4dca54
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, 0x4f3c78
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
xor bl, bl
rep movsb byte es:[edi], byte [esi]
xor edx, edx
lea ecx, [esp + 0x3c]
mov dl, byte [ebp]
push 0xa
push ecx
push edx
call fcn.004bcc60
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x64]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp bl, 7
rep movsb byte es:[edi], byte [esi]
je 0x4157e8
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x64]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc bl
inc ebp
cmp bl, 8
jb 0x415775
mov eax, dword [0x4f40e4]
lea edx, [esp + 0x64]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x415b74
mov dword [eax + 0x18], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
mov edi, 0x4dca40
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0xa
mov eax, ecx
mov esi, edi
mov edi, edx
xor edx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov dl, byte [0x4e3b00]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x54]
push ecx
push edx
call fcn.004bcc60
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xc8]
and ecx, 3
push 0xa
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x54]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, byte [0x4e3b04]
push ecx
call fcn.004bcc60
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, ebx
lea edx, [esp + 0xc8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
push 0xa
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x54]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cx, word [0x4e3b08]
push ecx
call fcn.004bcc60
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xc8]
and ecx, 3
push 0xa
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x54]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, byte [0x4e3b0c]
push ecx
call fcn.004bcc60
add esp, 0xc
or ecx, 0xffffffff
lea edi, [esp + 0x50]
lea edx, [esp + 0xc8]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0xa
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xcc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x54]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, byte [0x6b9834]
push ecx
call fcn.004bcc60
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xc8]
and ecx, 3
push 0xa
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x54]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, byte [0x6b9838]
push ecx
call fcn.004bcc60
or ecx, 0xffffffff
lea edi, [esp + 0x5c]
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc8]
mov ebx, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xc8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4dca50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xc8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x797638
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4f40e4]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [eax]
call fcn.0041a280
mov esi, dword [esp + 0x328]
mov ecx, dword [0x4f40e4]
push eax
push esi
push ecx
call dword [edi + 0x38]
mov eax, dword [0x4f40e4]
lea ecx, [esp + 0xc8]
push ecx
push esi
mov edx, dword [eax]
push eax
call dword [edx + 0x38]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret