Function at 0x40687a
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Hash data with crc32

Disassembly:
push 0x1f4
mov eax, 0x462893
call fcn.00461b38
mov ebx, ecx
mov dword [ebp - 0x1b4], ebx
xor eax, eax
mov dword [ebp - 0x1d0], eax
cmp dword [ebx + 0x2c], eax
je 0x407385
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
push str.Accept_Encoding
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], eax
call fcn.00401a71
push str.gzip_deflate
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.00401a71
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x1e0]
call fcn.004019df
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.0040167d
push 0x3b
push str.kugou::net_detect::AckChecker::StartCheck
push str.net_detect_ack_checker.cpp
mov edx, str.AckChecker
lea ecx, [ebp - 0x1f0]
call fcn.0043f791
add esp, 0xc
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x1f0]
mov eax, dword [esi]
mov dword [ebp - 0x1b0], eax
jmp 0x40696d
lea edx, [eax + 0x10]
lea eax, [edx + 0x18]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402459
pop ecx
push eax
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 4
call fcn.004019df
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.0040167d
lea ecx, [ebp - 0x1b0]
call fcn.00401b18
mov eax, dword [ebp - 0x1b0]
cmp eax, esi
jne 0x406930
xor eax, eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
push str.appid
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.00401a71
push str.1001
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.00401a71
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.0040167d
mov edi, dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::IntToString_int_]
lea eax, [ebp - 0xa0]
push 0x234d
push eax
call edi
push eax
lea ecx, [ebp - 0xbc]
call fcn.00407bc5
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x88]
push dword [esi]
call fcn.00401a71
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x70]
call fcn.00401a4e
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x88]
call fcn.0040167d
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 5
call fcn.00401ca4
lea ecx, [ebp - 0xa0]
call fcn.00440425
push eax
lea ecx, [ebp - 0xbc]
call fcn.00407be1
pop ecx
mov esi, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x88]
push dword [esi]
call fcn.00401a71
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x70]
call fcn.00401a4e
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x88]
call fcn.0040167d
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 5
call fcn.00401ca4
lea eax, [ebp - 0x1e8]
push eax
call dword [sym.imp.infra.dll_public:_static_class_base::Time___cdecl_base::Time::Now_void_]
pop ecx
mov ecx, eax
call dword [sym.imp.infra.dll_public:_double___thiscall_base::Time::ToDoubleT_void_const]
call fcn.00461cd0
push eax
lea eax, [ebp - 0x11c]
push eax
call edi
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xe
push 0x234d
push eax
call edi
add esp, 0x10
mov edi, eax
push str.105k9_4a04py5dt
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0xf
call fcn.00401a71
mov esi, eax
push str.1001
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x10
call fcn.00401a71
push esi
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1ac]
call fcn.00407c29
push edi
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x194]
call fcn.00407c29
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x13
push ecx
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.00407bfd
add esp, 0xc
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x14
call fcn.00407839
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x17c]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::MD5String_class_base::BasicStringPiece_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____const__]
pop ecx
pop ecx
xor edi, edi
push 0
inc edi
push edi
lea ecx, [ebp - 0xa0]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0x194]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0x1ac]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0x134]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0x14c]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1b
call fcn.00401ca4
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00407c79
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x58]
push dword [esi]
call fcn.00401a71
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401a4e
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
call fcn.0040167d
push 0
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x1b
call fcn.00401ca4
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00407ca0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x58]
push dword [esi]
call fcn.00401a71
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401a4e
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
call fcn.0040167d
mov byte [ebp - 4], 0x1b
push 0
push edi
lea ecx, [ebp - 0x70]
call fcn.00401ca4
and dword [ebp - 0x1cc], 0
and dword [ebp - 0x1c8], 0
call fcn.00407b5d
mov dword [ebp - 0x1cc], eax
mov byte [ebp - 4], 0x20
mov esi, 0x481bac
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1d4]
push esi
push ecx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.004084a1
add esi, 4
cmp esi, 0x481e7c
jl 0x406cc2
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0x3e7
push eax
push ecx
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.004084a1
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0x400
push eax
push ecx
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.004084a1
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0x2710
push eax
push ecx
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.004084a1
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0x2712
push eax
push ecx
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.004084a1
lea ecx, [ebp - 0x200]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::constructor_void_]
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x1cc]
mov esi, dword [eax]
mov dword [ebp - 0x1b0], esi
cmp esi, eax
je 0x406e28
push 0x486d78
lea ecx, [ebp - 0xa0]
call fcn.00401a71
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0xb8]
push dword [esi + 0x10]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::IntToString_int_]
pop ecx
pop ecx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x23
push ecx
push eax
lea ecx, [ebp - 0x200]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0
push edi
lea ecx, [ebp - 0xb8]
call fcn.00401ca4
push 0
push edi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x21
call fcn.00401ca4
lea ecx, [ebp - 0x1b0]
call fcn.00401b18
mov esi, dword [ebp - 0x1b0]
cmp esi, dword [ebp - 0x1cc]
jne 0x406db1
push 0x486cc0
lea ecx, [ebp - 0x104]
call fcn.00401a71
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.infra.dll_public:_static_bool___cdecl_base::JSONWriter::Write_class_base::Value_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x74]
call fcn.00407cc7
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x58]
push dword [esi]
call fcn.00401a71
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401a4e
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
call fcn.0040167d
push 0
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x24
call fcn.00401ca4
push str.url_host_map
lea ecx, [ebp - 0x58]
call fcn.00401a71
push 0x486d84
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x27
call fcn.00401a71
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0040167d
push 0x486d98
lea ecx, [ebp - 0x58]
call fcn.00401a71
mov esi, 0x486d78
mov byte [ebp - 4], 0x29
push esi
lea ecx, [ebp - 0x40]
call fcn.00401a71
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0040167d
push str.area
lea ecx, [ebp - 0x58]
call fcn.00401a71
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2b
call fcn.00401a71
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0040167d
push 0xffff
push 0
call dword [sym.imp.infra.dll_int___cdecl_base::RandInt_int__int_]
push eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::UintToString_unsigned_int_]
mov byte [ebp - 4], 0x2d
push dword [ebp - 0x18]
call fcn.004609dc
mov esi, eax
mov dword [ebp - 0x1d0], esi
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x18]
add esp, 0x20
mov edx, edi
mov ecx, esi
call fcn.0043c7e7
and dword [ebp - 0x1e4], 0
mov edx, esi
mov dword [ebp - 0x1b0], eax
test edi, edi
jle 0x406ff1
mov ebx, dword [ebp - 0x1e4]
mov esi, eax
lea ecx, [ebx + esi]
and ecx, 0x3ff
mov al, byte [ecx + 0x4820f8]
xor byte [edx], al
inc edx
inc ebx
cmp ebx, edi
jl 0x406fcb
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1d0]
mov ebx, dword [ebp - 0x1b4]
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
lea eax, [edi + esi]
cmovae edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
add edx, edi
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x14], 0x10
mov edi, eax
lea eax, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
sub edx, ecx
cmp esi, edi
jne 0x407033
cmp dword [ebp - 0x14], 0x10
push edx
cmovae eax, dword [ebp - 0x28]
sub ecx, eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.00402003
jmp 0x40704b
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
sub edi, esi
push edi
push esi
sub ecx, eax
push edx
push ecx
lea ecx, [ebp - 0x28]
call fcn.004033f0
push dword [ebp - 0x1b0]
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.infra.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_base::UintToString_unsigned_int_]
and dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x1b8]
push eax
call dword [sym.imp.infra.dll_void___cdecl_base::Base64Encode_class_base::BasicStringPiece_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
add esp, 0x10
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00407714
push eax
lea ecx, [ebp - 0x74]
call fcn.00407cee
pop ecx
mov edi, eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x58]
push dword [edi]
call fcn.00401a71
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401a4e
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
call fcn.0040167d
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x30
call fcn.00401ca4
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x74]
call fcn.00407d0a
pop ecx
mov edi, eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x58]
push dword [edi]
call fcn.00401a71
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401a4e
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x1c4]
call fcn.004019df
lea ecx, [ebp - 0x58]
call fcn.0040167d
push 0
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x30
call fcn.00401ca4
push 0x486cc0
lea ecx, [ebp - 0xd4]
call fcn.00401a71
mov byte [ebp - 4], 0x36
mov edi, dword [ebp - 0x1c4]
jmp 0x40721c
push edi
mov edx, 0x486db0
lea ecx, [ebp - 0x134]
call fcn.00407d31
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x14c]
mov edx, eax
mov dword [esp], 0x486dac
call fcn.00407da4
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x38
push ecx
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.00407bfd
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x39
call fcn.00407a26
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0x14c]
call fcn.00401ca4
push 0
push 1
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x36
call fcn.00401ca4
add edi, 0x30
cmp edi, dword [ebp - 0x1c0]
jne 0x407194
push 0x486db4
lea ecx, [ebp - 0xa0]
call fcn.00401a71
mov dword [ebp - 4], 0x3a
sub esp, 0x28
mov edx, dword [ebx + 0x2c]
mov ecx, esp
push 1
mov dword [ecx], 0x486e60
mov dword [ecx + 4], fcn.004073b1
mov al, byte [ebp - 0x1dc]
mov byte [ecx + 8], al
mov al, byte [ebp - 0x1db]
mov byte [ecx + 9], al
mov al, byte [ebp - 0x1da]
mov byte [ecx + 0xa], al
mov al, byte [ebp - 0x1d9]
mov byte [ecx + 0xb], al
lea eax, [ebp - 0xd4]
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x24], ecx
push dword [ebp - 0xc4]
cmp dword [ebp - 0xc0], 0x10
mov ecx, dword [edx]
cmovae eax, dword [ebp - 0xd4]
push eax
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0xa0]
push eax
push edx
call dword [ecx + 0xa4]
push 0
push 1
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x36
mov edi, eax
call fcn.00401ca4
test edi, edi
je 0x4072da
xor eax, eax
mov ecx, ebx
push eax
push eax
push edi
push eax
call fcn.004073b1
jmp 0x4072e3
lea ecx, [ebx + 0x28]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::WaitableEvent::Wait_void_]
xor ebx, ebx
lea ecx, [ebp - 0xd4]
xor edi, edi
push ebx
inc edi
push edi
call fcn.00401ca4
push ebx
push edi
lea ecx, [ebp - 0xec]
call fcn.00401ca4
push ebx
push edi
lea ecx, [ebp - 0x164]
call fcn.00401ca4
test esi, esi
je 0x40731c
push edi
push esi
call fcn.004609ab
pop ecx
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x28]
call fcn.00401ca4
push ebx
push edi
lea ecx, [ebp - 0x104]
call fcn.00401ca4
lea ecx, [ebp - 0x200]
call dword [sym.imp.infra.dll_public_virtual:_void___thiscall_base::DictionaryValue::destructor_void_]
lea ecx, [ebp - 0x1cc]
call fcn.004077cb
push ebx
push edi
lea ecx, [ebp - 0x17c]
call fcn.00401ca4
push ebx
push edi
lea ecx, [ebp - 0x11c]
call fcn.00401ca4
lea ecx, [ebp - 0x1c4]
call fcn.00401bd8
lea ecx, [ebp - 0x1f0]
call fcn.00401761
lea ecx, [ebp - 0x1e0]
call fcn.00401bd8
call fcn.00461ae2
ret