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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5568d6
mov eax, dword fs:[0]
push eax
sub esp, 0x1d4
mov eax, dword [0x62aabc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
push 0xc8
lea eax, [ebp - 0x1c0]
mov dword [ebp - 4], 0
lea ecx, [esi + 0x200]
push eax
call fcn.00447d00
mov al, byte [esi + 0x33a]
lea ecx, [esi + 0x33a]
nop
test al, al
je 0x44612c
cmp dword [esi + 0x1fc], 0
je 0x44612c
xor al, al
xchg byte [ecx], al
mov ecx, dword [esi + 0x1fc]
test ecx, ecx
je 0x44699f
mov eax, dword [ecx]
call dword [eax + 8]
movzx eax, byte [ebp - 0x1c0]
add eax, 0xfffffff3
cmp eax, 0xa8
ja case.0x446148.15
movzx eax, byte [eax + 0x4469e8]
jmp dword [eax*4 + 0x4469d4]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
add esi, 0x2f0
movups xmmword [ebp - 0x28], xmm0
push eax
mov ecx, esi
mov byte [ebp - 0x28], 0
call fcn.0040c3a0
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x4461ad
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4461a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446974
push ecx
push edx
call fcn.0054f9fc
add esp, 8
mov ecx, dword [esi + 0x10]
cmp ecx, 2
jb 0x4461cc
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x4461bf
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov byte [eax + 2], 0
jmp 0x4461dd
mov eax, 2
sub eax, ecx
mov ecx, esi
push 0
push eax
call fcn.00410ab0
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x4461e7
mov ecx, dword [esi]
mov eax, dword [ebp - 0x1bc]
mov ax, word [eax]
mov word [ecx], ax
cmp dword [esi + 0x14], 0x10
mov eax, dword [0x62da44]
mov eax, dword [eax]
mov edi, dword [eax]
jb 0x446204
mov esi, dword [esi]
push esi
push str.Received_country_code__s
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x194], esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 5
mov dword [ecx + 0x14], 0xf
mov eax, dword [str.cspot]
mov dword [ecx], eax
mov al, byte [0x559ac8]
mov byte [ecx + 4], al
mov byte [ecx + 5], 0
push 0x99
sub esp, 0x18
mov byte [ebp - 4], 1
mov esi, esp
mov ecx, esi
push 0x60
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
call fcn.00410930
mov dword [esi], eax
mov dword [esi + 0x10], 0x58
mov dword [esi + 0x14], 0x5f
movups xmm0, xmmword [str.D:UsersphiliDropboxDevelopmentSpotConnectcommoncspotcspot_srcMercurySession.cpp]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x55f020]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x55f030]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x55f040]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [0x55f050]
movups xmmword [eax + 0x40], xmm0
movq xmm0, qword [0x55f060]
movq qword [eax + 0x50], xmm0
mov byte [eax + 0x58], 0
push dword [0x62da44]
mov byte [ebp - 4], 0
call edi
add esp, 0x40
jmp case.0x446148.15
mov eax, dword [ebp - 0x1bc]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
movzx ecx, al
add esi, 0x2b0
xor ecx, 0x811c9dc5
mov dword [ebp - 0x190], eax
mov edi, dword [ebp - 0x190]
imul edx, ecx, 0x1000193
mov ecx, eax
mov dword [ebp - 0x1b0], eax
shr ecx, 8
movzx eax, cl
xor edx, eax
mov eax, edi
shr eax, 0x10
movzx eax, al
imul ecx, edx, 0x1000193
xor ecx, eax
mov eax, edi
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.00441ef0
cmp dword [eax + 4], 0
je case.0x446148.15
cmp byte [ebp - 0x1c0], 0xd
lea eax, [ebp - 0x190]
mov dword [ebp - 0x190], edi
mov ecx, esi
mov edi, dword [ebp - 0x194]
sete byte [ebp - 0x18c]
push edi
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00441ef0
mov eax, dword [ebp - 0x198]
test eax, eax
jne 0x446463
cmp dword [esi + 8], 0x4924924
je 0x4469a4
lea eax, [esi + 4]
mov dword [ebp - 0x1c8], eax
push 0x38
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c4], 0
call fcn.0054f9cc
mov ecx, dword [ebp - 0x190]
add esp, 4
mov dword [ebp - 0x1c4], eax
add eax, 8
mov dword [ebp - 0x194], eax
mov dword [eax], ecx
mov dword [eax + 0x2c], 0
mov eax, dword [esi + 8]
inc eax
mov byte [ebp - 4], 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x619ef0]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x619ef0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
seta al
test al, al
je 0x44644a
mov ecx, esi
call fcn.00444760
push edi
push dword [ebp - 0x194]
lea eax, [ebp - 0x1a4]
mov ecx, esi
push eax
call fcn.00441ef0
mov ecx, dword [eax]
jmp 0x446450
mov ecx, dword [ebp - 0x19c]
push dword [ebp - 0x1c4]
push ecx
push edi
mov ecx, esi
call fcn.00444700
mov byte [ebp - 4], 0
mov cl, byte [ebp - 0x18c]
mov byte [ebp - 0x18c], cl
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x4469ae
mov eax, dword [ecx]
lea edx, [ebp - 0x1bc]
push edx
lea edx, [ebp - 0x18c]
push edx
call dword [eax + 8]
jmp case.0x446148.15
mov eax, dword [0x62da44]
xorps xmm0, xmm0
push str.Received_mercury_packet
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1b0], esp
mov eax, dword [eax]
movups xmmword [ecx], xmm0
mov edi, dword [eax]
mov dword [ecx + 0x10], 5
mov dword [ecx + 0x14], 0xf
mov eax, dword [str.cspot]
mov dword [ecx], eax
mov al, byte [0x559ac8]
mov byte [ecx + 4], al
mov byte [ecx + 5], 0
push 0xae
sub esp, 0x18
mov byte [ebp - 4], 4
mov esi, esp
mov ecx, esi
push 0x60
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
call fcn.00410930
mov dword [esi], eax
mov dword [esi + 0x10], 0x58
mov dword [esi + 0x14], 0x5f
movups xmm0, xmmword [str.D:UsersphiliDropboxDevelopmentSpotConnectcommoncspotcspot_srcMercurySession.cpp]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x55f020]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x55f030]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x55f040]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [0x55f050]
movups xmmword [eax + 0x40], xmm0
movq xmm0, qword [0x55f060]
movq qword [eax + 0x50], xmm0
mov byte [eax + 0x58], 0
push dword [0x62da44]
mov byte [ebp - 4], 0
call edi
mov esi, dword [ebp - 0x194]
lea eax, [ebp - 0x1bc]
add esp, 0x3c
mov ecx, esi
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.00444f70
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 5
add esi, 0x270
push eax
mov ecx, esi
call fcn.00441950
mov edi, eax
mov ecx, esi
push edi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.00442060
cmp dword [eax + 4], 0
je 0x446940
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x38]
push edi
push eax
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x1a8], ecx
push eax
mov ecx, esi
call fcn.00442060
mov eax, dword [ebp - 0x1a0]
test eax, eax
jne 0x4466af
cmp dword [esi + 8], 0x4924924
je 0x4469b3
lea eax, [esi + 4]
mov dword [ebp - 0x19c], eax
push 0x38
mov byte [ebp - 4], 6
mov dword [ebp - 0x198], 0
call fcn.0054f9cc
mov ecx, dword [ebp - 0x38]
add esp, 4
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x198], eax
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x34], 0
mov eax, dword [esi + 8]
inc eax
mov byte [ebp - 4], 7
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x619ef0]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x619ef0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
seta al
test al, al
je 0x446696
mov ecx, esi
call fcn.00444910
mov eax, dword [ebp - 0x198]
mov ecx, esi
push edi
add eax, 8
push eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.00442060
mov ecx, dword [eax]
jmp 0x44669c
mov ecx, dword [ebp - 0x1a4]
push dword [ebp - 0x198]
push ecx
push edi
mov ecx, esi
call fcn.00444700
mov byte [ebp - 4], 5
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x4469bd
mov eax, dword [ecx]
lea edx, [ebp - 0x188]
push edx
call dword [eax + 8]
lea eax, [ebp - 0x1ac]
mov ecx, esi
push eax
call fcn.00441950
push eax
lea eax, [ebp - 0x1ac]
mov ecx, esi
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.00442060
mov eax, dword [eax + 4]
test eax, eax
jne 0x4466f4
mov eax, dword [esi + 4]
push eax
lea eax, [ebp - 0x1c4]
mov ecx, esi
push eax
call fcn.00442810
jmp 0x446940
lea eax, [ebp - 0x1bc]
mov ecx, esi
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.00444f70
xorps xmm0, xmm0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x187]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x446740
sub ecx, edx
lea eax, [ebp - 0x187]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.004076f0
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
add esi, 0x290
mov byte [ebp - 4], 9
cmp dword [ebp - 0x14], 0x10
mov edx, 0x811c9dc5
mov dword [ebp - 0x190], esi
cmovae eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x44679b
mov esi, eax
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x446784
mov esi, dword [ebp - 0x190]
push edx
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.00441f60
cmp dword [eax + 4], 0
je 0x4468f6
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
mov esi, 0x811c9dc5
cmovae edx, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x4467e1
nop
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x4467d0
mov edi, dword [ebp - 0x190]
lea eax, [ebp - 0x28]
push esi
push eax
lea eax, [ebp - 0x1ac]
mov ecx, edi
push eax
call fcn.00441f60
mov eax, dword [ebp - 0x1a8]
test eax, eax
jne 0x4468df
cmp dword [edi + 8], 0x38e38e3
je 0x4469c2
lea eax, [edi + 4]
mov dword [ebp - 0x1a4], eax
push 0x48
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x1a0], 0
call fcn.0054f9cc
add esp, 4
mov dword [ebp - 0x1a0], eax
add eax, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x190], eax
push ecx
mov ecx, eax
call fcn.00409bc0
mov eax, dword [ebp - 0x190]
mov dword [eax + 0x3c], 0
mov eax, dword [edi + 8]
inc eax
mov byte [ebp - 4], 0xb
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x619ef0]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x619ef0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
seta al
test al, al
je 0x4468c6
mov ecx, edi
call fcn.004447f0
push esi
push dword [ebp - 0x190]
lea eax, [ebp - 0x1d0]
mov ecx, edi
push eax
call fcn.00441f60
mov ecx, dword [eax]
jmp 0x4468cc
mov ecx, dword [ebp - 0x1ac]
push dword [ebp - 0x1a0]
push ecx
push esi
mov ecx, edi
call fcn.00444700
mov byte [ebp - 4], 9
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x4469cc
mov eax, dword [ecx]
lea edx, [ebp - 0x188]
push edx
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp eax, 0x10
jb 0x44692e
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x446924
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x446924
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0054f9fc
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea ecx, [ebp - 0x44]
call fcn.00430cb0
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x446984
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x44697a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x44697a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0054f9fc
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.0054f742
mov esp, ebp
pop ebp
ret
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
push str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
push str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
push str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop dword [eax]
iretd