Function at 0x40df98
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x148
mov eax, 0x468bd4
call fcn.00466ebb
mov ebx, ecx
mov dword [ebp - 0x8c], ebx
and dword [ebp - 0x90], 0
cmp dword [ebx + 0x2c], 0
je 0x40e81c
lea ecx, [ebp - 0xb0]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::constructor_void_]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
push 0x47b574
call fcn.00401a65
push 0x3e9
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0xb0]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetInteger_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int_]
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00401c5e
push 0x47b57c
lea ecx, [ebp - 0x40]
call fcn.00401a65
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push 0x2af9
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
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
mov edi, 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__]
lea ecx, [ebp - 0xb0]
push eax
call edi
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00401c5e
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00401c5e
lea esi, [ebx + 0x40]
cmp dword [esi + 0x10], 0
lea ecx, [ebp - 0x28]
jne 0x40e08f
push 0x47b5ac
call fcn.00401a65
push 0x47ba64
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.00401a65
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x40]
jmp 0x40e0b1
push 0x47ba64
call fcn.00401a65
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebx + 0x38]
call fcn.0043fdcc
push eax
mov byte [ebp - 4], 7
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xb0]
call edi
xor ebx, ebx
lea ecx, [ebp - 0x40]
push ebx
push 1
call fcn.00401c5e
push ebx
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.00401c5e
push 0x47b7ac
lea ecx, [ebp - 0x28]
call fcn.00401a65
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0xb0]
call edi
push ebx
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.00401c5e
push 0x47bdbc
lea ecx, [ebp - 0x28]
call fcn.00401a65
push ebx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
mov ebx, dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetInteger_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int_]
lea ecx, [ebp - 0xb0]
push eax
call ebx
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00401c5e
push 0x10
call fcn.00465d37
mov esi, eax
pop ecx
mov dword [ebp - 0x90], esi
mov ecx, esi
mov byte [ebp - 4], 0xa
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::constructor_void_]
push str.locallist
lea ecx, [ebp - 0x40]
mov dword [esi], 0x47bfc8
mov byte [ebp - 4], 0
call fcn.00401a65
push str.module
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00401a65
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call edi
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00401c5e
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00401c5e
push 0x47b5ac
lea ecx, [ebp - 0x40]
call fcn.00401a65
push str.type
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call fcn.00401a65
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call edi
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00401c5e
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00401c5e
push 0x47bb38
lea ecx, [ebp - 0x28]
call fcn.00401a65
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xf
push eax
mov ecx, esi
call ebx
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00401c5e
push str.source
lea ecx, [ebp - 0x28]
call fcn.00401a65
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0xb0]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::Set_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_base::Value__]
xor esi, esi
mov byte [ebp - 4], 0
push 0
inc esi
lea ecx, [ebp - 0x28]
push esi
call fcn.00401c5e
push str.play
lea ecx, [ebp - 0x40]
call fcn.00401a65
push str.behavior
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.00401a65
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xb0]
call edi
push 0
push esi
lea ecx, [ebp - 0x28]
call fcn.00401c5e
push 0
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00401c5e
push str.relate
lea ecx, [ebp - 0x28]
call fcn.00401a65
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0xb0]
call ebx
xor ebx, ebx
lea ecx, [ebp - 0x28]
push ebx
push esi
mov byte [ebp - 4], bl
call fcn.00401c5e
push 0x47ba4c
lea ecx, [ebp - 0x40]
call fcn.00401a65
push str.area_code
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
call fcn.00401a65
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xb0]
call edi
push ebx
push esi
lea ecx, [ebp - 0x28]
call fcn.00401c5e
push ebx
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00401c5e
push 0x14
call fcn.00465d37
mov ebx, eax
pop ecx
mov dword [ebp - 0x90], ebx
mov ecx, ebx
mov byte [ebp - 4], 0x16
call dword [sym.imp.infra.dll_public:_void___thiscall_base::ListValue::constructor_void_]
mov dword [ebx], 0x47bf30
mov dword [ebp - 0x90], ebx
push 0x10
mov byte [ebp - 4], 0x17
call fcn.00465d37
mov edi, eax
pop ecx
mov dword [ebp - 0xb4], edi
mov ecx, edi
mov byte [ebp - 4], 0x18
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::constructor_void_]
mov dword [edi], 0x47bfc8
mov dword [ebp - 0xb4], edi
push str.audio
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x19
call fcn.00401a65
push str.type
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1a
call fcn.00401a65
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
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 esi
lea ecx, [ebp - 0x28]
call fcn.00401c5e
push 0
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x19
call fcn.00401c5e
push 0x47bb38
lea ecx, [ebp - 0x28]
call fcn.00401a65
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, edi
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetInteger_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int_]
push 0
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.00401c5e
push str.hash
lea ecx, [ebp - 0x28]
call fcn.00401a65
mov eax, dword [ebp - 0x8c]
mov ecx, edi
add eax, 0x70
mov byte [ebp - 4], 0x1d
mov esi, 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_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push eax
lea eax, [ebp - 0x28]
push eax
call esi
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.00401c5e
push str.name
lea ecx, [ebp - 0x28]
call fcn.00401a65
mov eax, dword [ebp - 0x8c]
mov ecx, edi
add eax, 0x88
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x28]
push eax
call esi
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.00401c5e
push str.album_id
lea ecx, [ebp - 0x28]
call fcn.00401a65
mov eax, dword [ebp - 0x8c]
mov ecx, edi
add eax, 0xa0
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x28]
push eax
call esi
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.00401c5e
push str.album_audio_id
lea ecx, [ebp - 0x28]
call fcn.00401a65
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x20
mov ecx, edi
push dword [esi + 0xb8]
push eax
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::SetInteger_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int_]
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.00401c5e
and dword [ebp - 0xb4], 0
mov ecx, ebx
push edi
call dword [sym.imp.infra.dll_public:_void___thiscall_base::ListValue::Append_class_base::Value__]
push str.resource
lea ecx, [ebp - 0x28]
call fcn.00401a65
push ebx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x21
and dword [ebp - 0x90], 0
lea ecx, [ebp - 0xb0]
push eax
call dword [sym.imp.infra.dll_public:_void___thiscall_base::DictionaryValue::Set_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_base::Value__]
xor ebx, ebx
lea ecx, [ebp - 0x28]
xor edi, edi
push ebx
inc edi
push edi
call fcn.00401c5e
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], ebx
mov byte [ebp - 0x58], bl
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x34]
call dword [sym.imp.infra.dll_public:_void___thiscall_JSONStringValueSerializer::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xb0]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
mov bl, al
mov byte [ebp - 4], 0x22
neg bl
lea ecx, [ebp - 0x34]
sbb bl, bl
call dword [sym.imp.infra.dll_public_virtual:_void___thiscall_JSONStringValueSerializer::destructor_void_]
add bl, 1
je 0x40e561
xor eax, eax
mov ecx, esi
push eax
push eax
push 0xffffffffffffffff
push eax
call fcn.0040e87c
jmp 0x40e805
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
push str.Content_Type
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x24
call fcn.00401a65
push str.application_json
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x25
call fcn.00401a65
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0xa0]
call fcn.004019d3
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x24
call fcn.0040168e
push 0x61
push str.kugou::net_detect::MultiQualityChecker::StartCheck
push str.net_detectmulti_quality_checker.cpp
mov edx, str.LyricServiceChecker
lea ecx, [ebp - 0xbc]
call fcn.004457d2
add esp, 0xc
mov byte [ebp - 4], 0x27
mov esi, dword [ebp - 0xbc]
mov eax, dword [esi]
mov dword [ebp - 0x94], eax
jmp 0x40e635
lea edx, [eax + 0x10]
lea eax, [edx + 0x18]
push eax
lea ecx, [ebp - 0x88]
call fcn.0040244d
pop ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x28
call fcn.004019d3
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x27
call fcn.0040168e
lea ecx, [ebp - 0x94]
call fcn.00401e05
mov eax, dword [ebp - 0x94]
cmp eax, esi
jne 0x40e5f2
push edi
push 2
lea ecx, [ebp - 0x154]
call fcn.0040ebd6
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x29
call fcn.00446170
mov edi, eax
mov ebx, dword [ebp - 0x8c]
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebx + 0x38]
call fcn.0043fdcc
mov esi, eax
lea ecx, [ebx + 0x58]
mov byte [ebp - 4], 0x2b
push ecx
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::SysWideToUTF8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
pop ecx
pop ecx
push str.dfid_
push 0x47bebc
push str.token
push str.userid
push 0x2af9
push str._appid1001clientver
mov edx, eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x154]
call fcn.0040f340
push eax
call fcn.00402252
pop ecx
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00402252
pop ecx
pop ecx
mov edx, esi
mov ecx, eax
call fcn.0040f340
push eax
call fcn.00402252
pop ecx
pop ecx
lea edx, [ebx + 0x40]
mov ecx, eax
call fcn.0040f340
push eax
call dword [sym.imp.infra.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____wchar_t_const__]
pop ecx
pop ecx
mov edx, edi
mov ecx, eax
call fcn.0040f340
push eax
call fcn.00402252
pop ecx
pop ecx
xor edi, edi
lea ecx, [ebp - 0x28]
push 0
inc edi
push edi
call fcn.00401c5e
push 0
push edi
lea ecx, [ebp - 0x40]
call fcn.00401c5e
push 0
push edi
lea ecx, [ebp - 0x70]
call fcn.00401c5e
mov dword [ebp - 4], 0x29
sub esp, 0x28
mov esi, dword [ebx + 0x2c]
mov ecx, esp
mov dword [ebp - 0x94], esp
mov dword [ecx], 0x47bf70
mov dword [ecx + 4], fcn.0040e87c
mov al, byte [ebp - 0x9c]
mov byte [ecx + 8], al
mov al, byte [ebp - 0x9b]
mov byte [ecx + 9], al
mov al, byte [ebp - 0x9a]
mov byte [ecx + 0xa], al
mov al, byte [ebp - 0x99]
mov byte [ecx + 0xb], al
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x24], ecx
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x154]
call fcn.0040eb8a
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
cmovae ecx, dword [ebp - 0x58]
mov eax, dword [esi]
push edi
push dword [ebp - 0x48]
mov byte [ebp - 4], 0x30
push ecx
lea ecx, [ebp - 0xa0]
push ecx
push edx
push esi
call dword [eax + 0xb8]
push 0
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x29
mov esi, eax
call fcn.00401c5e
test esi, esi
je 0x40e7cf
xor eax, eax
mov ecx, ebx
push eax
push eax
push esi
push eax
call fcn.0040e87c
jmp 0x40e7d8
lea ecx, [ebx + 0x28]
call dword [sym.imp.infra.dll_public:_void___thiscall_base::WaitableEvent::Wait_void_]
lea ecx, [ebp - 0x104]
call fcn.0040eba6
lea ecx, [ebp - 0x104]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xbc]
call fcn.00401772
lea ecx, [ebp - 0xa0]
call fcn.00401b92
push 0
push edi
lea ecx, [ebp - 0x58]
call fcn.00401c5e
lea ecx, [ebp - 0xb0]
call dword [sym.imp.infra.dll_public_virtual:_void___thiscall_base::DictionaryValue::destructor_void_]
call fcn.00466e65
ret