Function at 0x4d4370
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52fe34
mov eax, dword fs:[0]
push eax
sub esp, 0x204
mov eax, dword [0x58b18c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1e8], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov dword [ebp - 4], 0
mov al, byte [0x598be2]
test al, al
jne 0x4d4e17
mov al, 1
mov edx, 0x598be2
xchg byte [edx], al
movups xmmword [ebp - 0xa8], xmm0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
mov byte [ebp - 4], 2
xor edi, edi
mov edx, dword [0x598d74]
mov dword [ebp - 0x1a8], edi
test edx, edx
je 0x4d474a
mov esi, 0x599d7c
nop word [eax + eax]
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xa8]
lea ecx, [esi - 0x1b4]
call fcn.004c7fc0
add esp, 4
test al, al
jne 0x4d4474
lea ecx, [esi - 0x1b4]
call fcn.004c76b0
test al, al
jne 0x4d4474
inc edi
jmp 0x4d472a
push dword [esi + 0x158]
lea eax, [ebp - 0x30]
push dword [esi + 0x180]
push str.2_d_1_d
push 0x20
push eax
call fcn.0040a250
push ecx
lea ecx, [ebp - 0x1a4]
call fcn.0042b7b0
mov byte [ebp - 4], 3
lea ecx, [esi - 0x10]
cmp dword [esi + 4], 0x10
jb 0x4d44ac
mov ecx, dword [esi - 0x10]
push dword [esi]
lea edx, [ebp - 0x1a4]
push ecx
mov ecx, 0x599944
call fcn.0048cf90
lea eax, [edi + 1]
push 4
push str.4
lea edx, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], eax
lea ecx, [ebp - 0x1c8]
call fcn.004e49b0
add esp, 0x10
lea eax, [ebp - 0x1c8]
lea ecx, [esi + 0x128]
push eax
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d452f
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4525
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
movzx eax, word [esi + 0x18c]
lea edx, [esi - 0x10]
mov dword [ebp - 0x1ac], eax
lea ecx, [ebp - 0x1c8]
lea eax, [ebp - 0x1ac]
push eax
push 5
push str.:
call fcn.004e4a10
add esp, 0xc
lea eax, [ebp - 0x1c8]
lea ecx, [esi - 0x28]
push eax
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d45a4
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d459a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x1b8], 0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x1b4], 0
movups xmmword [ebp - 0x1c8], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d45c8
sub eax, edx
lea ecx, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004185e0
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [esi + 0x140]
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d462d
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4623
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
lea ecx, [esi + 0x20]
call fcn.004d9690
mov ecx, eax
call fcn.004be160
lea edi, [esi + 0xc8]
mov dword [ebp - 0x1ac], eax
push edi
lea ecx, [ebp - 0x204]
push ecx
mov ecx, eax
call fcn.0047f1d0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x4d46a0
mov edx, dword [eax + 0x20]
add eax, 0x10
cmp dword [eax + 0x14], 0x10
jb 0x4d466e
mov eax, dword [eax]
cmp dword [esi + 0xdc], 0x10
mov ecx, edi
jb 0x4d467b
mov ecx, dword [edi]
push edx
push eax
push dword [esi + 0xd8]
push ecx
call fcn.0047f600
add esp, 0x10
test eax, eax
je 0x4d4692
js 0x4d46a0
mov ecx, dword [ebp - 0x1ac]
push edi
call fcn.00478ee0
mov edi, eax
push edi
lea ecx, [ebp - 0x1c8]
call fcn.00414ed0
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [esi + 0xe0]
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d46f8
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d46ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1e8]
mov dword [esi + 0x190], eax
call fcn.004b7da0
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 2
call fcn.0042ba50
mov edi, dword [ebp - 0x1b0]
mov edx, dword [0x598d74]
add esi, 0x354
mov dword [ebp - 0x1a8], edi
cmp edi, edx
jb 0x4d4440
mov ecx, dword [ebp - 0x1e8]
cmp edx, 0x1000
jae 0x4d4758
mov dword [0x598d70], edx
sub esp, 8
call fcn.004b76c0
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004cd700
mov byte [ebp - 4], 4
lea edi, [ebp - 0x48]
cmp dword [ebp - 0x34], 0x10
mov edx, 0x811c9dc5
mov esi, dword [ebp - 0x38]
cmovae edi, dword [ebp - 0x48]
xor ecx, ecx
test esi, esi
je 0x4d4799
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x4d4788
push edx
lea eax, [ebp - 0x48]
mov ecx, 0x5994a0
push eax
lea eax, [ebp - 0x1f0]
push eax
call fcn.00432ea0
cmp dword [eax + 4], 0
je 0x4d480a
cmp dword [ebp - 0x34], 0x10
lea edi, [ebp - 0x48]
mov edx, 0x811c9dc5
cmovae edi, dword [ebp - 0x48]
xor ecx, ecx
test esi, esi
je 0x4d47e1
nop dword [eax + eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x4d47d0
push edx
lea eax, [ebp - 0x48]
mov ecx, 0x5994a0
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.00432ea0
mov eax, dword [ebp - 0x1f4]
test eax, eax
je 0x4d4e62
mov eax, dword [eax + 0x20]
jmp 0x4d480f
mov eax, 0x73
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x1ac], eax
call fcn.004d8960
push 0x18
push str.getservers__full_empty
lea edx, [ebp - 0x1ac]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x60]
call fcn.004e4a90
add esp, 8
mov byte [ebp - 4], 6
mov eax, dword [0x598d6c]
cmp eax, dword [0x598d70]
jb 0x4d4854
xor eax, eax
mov dword [0x598d6c], eax
movzx ecx, word [0x599434]
mov edx, 0x5991d8
imul esi, eax, 0x354
lea eax, [ebp - 0x60]
push 0
push ecx
add esi, 0x599bc8
cmp dword [0x5991ec], 0x10
push esi
cmovae edx, dword [0x5991d8]
cmp dword [ebp - 0x4c], 0x10
push ecx
cmovae eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x78]
push edx
push ecx
push eax
mov ecx, 0x599944
call fcn.0042f7c0
cmp dword [ebp - 0x34], 0x10
lea edx, [ebp - 0x48]
push ecx
cmovae edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x78]
call fcn.004d4e80
imul eax, dword [0x598d70], 0x354
push dword [ebp - 0x1cc]
lea edi, [eax + 0x599bc8]
imul eax, dword [0x598d74], 0x354
mov ecx, edi
lea esi, [eax + 0x599bc8]
mov eax, 0x99d722db
sub ecx, esi
imul ecx
add edx, ecx
mov ecx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
push eax
call fcn.004e9600
mov eax, dword [0x598d74]
add esp, 0xc
mov dword [ebp - 0x1a8], eax
cmp eax, dword [0x598d70]
jae 0x4d4cd0
imul eax, eax, 0x354
lea ecx, [eax + 0x599f0c]
mov dword [ebp - 0x1ec], ecx
lea edi, [eax + 0x599d6c]
lea ecx, [eax + 0x599e5c]
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1e4], ecx
lea edx, [eax + 0x599efc]
lea ecx, [eax + 0x599d9c]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1e0], ecx
lea esi, [eax + 0x599e44]
lea ecx, [eax + 0x599ebc]
mov dword [ebp - 0x1dc], ecx
lea ecx, [eax + 0x599d54]
mov dword [ebp - 0x1d8], ecx
lea ecx, [eax + 0x599f08]
mov dword [ebp - 0x1d4], ecx
lea ecx, [eax + 0x599ea4]
lea eax, [eax + 0x599ed4]
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1b0], eax
push dword [eax]
lea eax, [ebp - 0x30]
push dword [edx]
push str.2_d_1_d
push 0x20
push eax
call fcn.0040a250
push ecx
lea ecx, [ebp - 0x1a4]
call fcn.0042b7b0
mov byte [ebp - 4], 7
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x4d49c1
mov eax, dword [edi]
push dword [edi + 0x10]
lea edx, [ebp - 0x1a4]
mov ecx, 0x599944
push eax
call fcn.0048cf90
mov eax, dword [ebp - 0x1a8]
lea edx, [ebp - 0x1cc]
inc eax
lea ecx, [ebp - 0x1c8]
push 4
push str.4
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1cc], eax
call fcn.004e49b0
mov ecx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x1c8]
add esp, 0x10
push eax
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d4a4f
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4a45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1c8]
mov edx, edi
movzx eax, word [eax]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1cc]
push eax
push 5
push str.:
call fcn.004e4a10
mov ecx, dword [ebp - 0x1d8]
lea eax, [ebp - 0x1c8]
add esp, 0xc
push eax
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d4ac8
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4abe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x1b8], 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1b4], 0
movups xmmword [ebp - 0x1c8], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d4af0
sub ecx, edx
lea eax, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0x1c8]
call fcn.004185e0
mov ecx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x1c8]
push eax
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d4b55
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4b4b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0x1e0]
call fcn.004d9690
mov ecx, eax
call fcn.004be160
mov edi, eax
lea eax, [ebp - 0x210]
push esi
push eax
mov ecx, edi
call fcn.0047f1d0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x4d4bb7
mov edx, dword [eax + 0x20]
add eax, 0x10
cmp dword [eax + 0x14], 0x10
jb 0x4d4b8f
mov eax, dword [eax]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x4d4b99
mov ecx, dword [esi]
push edx
push eax
push dword [esi + 0x10]
push ecx
call fcn.0047f600
add esp, 0x10
test eax, eax
je 0x4d4bad
js 0x4d4bb7
push esi
mov ecx, edi
call fcn.00478ee0
jmp 0x4d4bb9
mov eax, esi
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00414ed0
mov ecx, dword [ebp - 0x1e4]
lea eax, [ebp - 0x1c8]
push eax
call fcn.00414d90
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4d4c11
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4c07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x11c]
mov byte [ebp - 4], 6
mov dword [ecx], eax
lea ecx, [ebp - 0x1a4]
call fcn.0042ba50
mov eax, dword [ebp - 0x1a8]
add esi, 0x6a8
mov edx, dword [ebp - 0x1f4]
inc eax
mov edi, dword [ebp - 0x1ac]
add edx, 0x6a8
mov ecx, dword [ebp - 0x1ec]
add edi, 0x6a8
add dword [ebp - 0x1b0], 0x6a8
add ecx, 0x6a8
add dword [ebp - 0x1d0], 0x6a8
add dword [ebp - 0x1d4], 0x6a8
add dword [ebp - 0x1d8], 0x6a8
add dword [ebp - 0x1dc], 0x6a8
add dword [ebp - 0x1e0], 0x6a8
add dword [ebp - 0x1e4], 0x6a8
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1ec], ecx
cmp eax, dword [0x598d70]
jae 0x4d4cd0
mov eax, dword [ebp - 0x1b0]
jmp 0x4d4993
mov ecx, dword [ebp - 0x1e8]
call fcn.004b7b20
xor al, al
mov ecx, 0x598be2
xchg byte [ecx], al
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x4d4d18
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4d0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp ecx, 0x10
jb 0x4d4d64
mov edx, dword [ebp - 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4d5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x4d4d98
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4d8e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0x10
jb 0x4d4de1
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4dd7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0x94]
cmp ecx, 0x10
jb 0x4d4e17
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4e0d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x10
jb 0x4d4e47
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4d4e3d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4e6c
push ecx
push edx
call fcn.004f79ae
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f7466
mov esp, ebp
pop ebp
ret
push str.invalid_unordered_map_K__T__key
call fcn.004f4bc6
call fcn.005094c8
int3