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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x510186
mov eax, dword fs:[0]
push eax
sub esp, 0x1d4
mov eax, dword [0x55ca98]
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.00440380
mov al, byte [esi + 0x33a]
lea ecx, [esi + 0x33a]
nop
test al, al
je 0x43e7ac
cmp dword [esi + 0x1fc], 0
je 0x43e7ac
xor al, al
xchg byte [ecx], al
mov ecx, dword [esi + 0x1fc]
test ecx, ecx
je 0x43f01f
mov eax, dword [ecx]
call dword [eax + 8]
movzx eax, byte [ebp - 0x1c0]
add eax, 0xfffffff3
cmp eax, 0xa8
ja case.0x43e7c8.15
movzx eax, byte [eax + 0x43f068]
jmp dword [eax*4 + 0x43f054]
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.00406c00
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x43e82d
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43e823
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43eff4
push ecx
push edx
call fcn.0050948c
add esp, 8
mov ecx, dword [esi + 0x10]
cmp ecx, 2
jb 0x43e84c
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x43e83f
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov byte [eax + 2], 0
jmp 0x43e85d
mov eax, 2
sub eax, ecx
mov ecx, esi
push 0
push eax
call fcn.0040b250
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x43e867
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 [0x55fc44]
mov eax, dword [eax]
mov edi, dword [eax]
jb 0x43e884
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 [0x513ab0]
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.0040b130
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 [0x518be0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x518bf0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x518c00]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [0x518c10]
movups xmmword [eax + 0x40], xmm0
movq xmm0, qword [0x518c20]
movq qword [eax + 0x50], xmm0
mov byte [eax + 0x58], 0
push dword [0x55fc44]
mov byte [ebp - 4], 0
call edi
add esp, 0x40
jmp case.0x43e7c8.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.0043a580
cmp dword [eax + 4], 0
je case.0x43e7c8.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.0043a580
mov eax, dword [ebp - 0x198]
test eax, eax
jne 0x43eae3
cmp dword [esi + 8], 0x4924924
je 0x43f024
lea eax, [esi + 4]
mov dword [ebp - 0x1c8], eax
push 0x38
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c4], 0
call fcn.0050945c
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 + 0x5145a0]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5145a0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
seta al
test al, al
je 0x43eaca
mov ecx, esi
call fcn.0043cdf0
push edi
push dword [ebp - 0x194]
lea eax, [ebp - 0x1a4]
mov ecx, esi
push eax
call fcn.0043a580
mov ecx, dword [eax]
jmp 0x43ead0
mov ecx, dword [ebp - 0x19c]
push dword [ebp - 0x1c4]
push ecx
push edi
mov ecx, esi
call fcn.0043cd90
mov byte [ebp - 4], 0
mov cl, byte [ebp - 0x18c]
mov byte [ebp - 0x18c], cl
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x43f02e
mov eax, dword [ecx]
lea edx, [ebp - 0x1bc]
push edx
lea edx, [ebp - 0x18c]
push edx
call dword [eax + 8]
jmp case.0x43e7c8.15
mov eax, dword [0x55fc44]
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 [0x513ab0]
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.0040b130
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 [0x518be0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x518bf0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x518c00]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [0x518c10]
movups xmmword [eax + 0x40], xmm0
movq xmm0, qword [0x518c20]
movq qword [eax + 0x50], xmm0
mov byte [eax + 0x58], 0
push dword [0x55fc44]
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.0043d5f0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 5
add esi, 0x270
push eax
mov ecx, esi
call fcn.00439fe0
mov edi, eax
mov ecx, esi
push edi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.0043a6f0
cmp dword [eax + 4], 0
je 0x43efc0
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.0043a6f0
mov eax, dword [ebp - 0x1a0]
test eax, eax
jne 0x43ed2f
cmp dword [esi + 8], 0x4924924
je 0x43f033
lea eax, [esi + 4]
mov dword [ebp - 0x19c], eax
push 0x38
mov byte [ebp - 4], 6
mov dword [ebp - 0x198], 0
call fcn.0050945c
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 + 0x5145a0]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5145a0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
seta al
test al, al
je 0x43ed16
mov ecx, esi
call fcn.0043cfa0
mov eax, dword [ebp - 0x198]
mov ecx, esi
push edi
add eax, 8
push eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.0043a6f0
mov ecx, dword [eax]
jmp 0x43ed1c
mov ecx, dword [ebp - 0x1a4]
push dword [ebp - 0x198]
push ecx
push edi
mov ecx, esi
call fcn.0043cd90
mov byte [ebp - 4], 5
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x43f03d
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.00439fe0
push eax
lea eax, [ebp - 0x1ac]
mov ecx, esi
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043a6f0
mov eax, dword [eax + 4]
test eax, eax
jne 0x43ed74
mov eax, dword [esi + 4]
push eax
lea eax, [ebp - 0x1c4]
mov ecx, esi
push eax
call fcn.0043aea0
jmp 0x43efc0
lea eax, [ebp - 0x1bc]
mov ecx, esi
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0043d5f0
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 0x43edc0
sub ecx, edx
lea eax, [ebp - 0x187]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.004027d0
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 0x43ee1b
mov esi, eax
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x43ee04
mov esi, dword [ebp - 0x190]
push edx
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.0043a5f0
cmp dword [eax + 4], 0
je 0x43ef76
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
mov esi, 0x811c9dc5
cmovae edx, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x43ee61
nop
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x43ee50
mov edi, dword [ebp - 0x190]
lea eax, [ebp - 0x28]
push esi
push eax
lea eax, [ebp - 0x1ac]
mov ecx, edi
push eax
call fcn.0043a5f0
mov eax, dword [ebp - 0x1a8]
test eax, eax
jne 0x43ef5f
cmp dword [edi + 8], 0x38e38e3
je 0x43f042
lea eax, [edi + 4]
mov dword [ebp - 0x1a4], eax
push 0x48
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x1a0], 0
call fcn.0050945c
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.00404bb0
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 + 0x5145a0]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5145a0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
seta al
test al, al
je 0x43ef46
mov ecx, edi
call fcn.0043ce80
push esi
push dword [ebp - 0x190]
lea eax, [ebp - 0x1d0]
mov ecx, edi
push eax
call fcn.0043a5f0
mov ecx, dword [eax]
jmp 0x43ef4c
mov ecx, dword [ebp - 0x1ac]
push dword [ebp - 0x1a0]
push ecx
push esi
mov ecx, edi
call fcn.0043cd90
mov byte [ebp - 4], 9
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x43f04c
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 0x43efae
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x43efa4
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43efa4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0050948c
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea ecx, [ebp - 0x44]
call fcn.00429800
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x43f004
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x43effa
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43effa
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0050948c
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.005091c5
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]
dec edi
jmp 3893555357