Function at 0x40ad98
Capabilities:
Reference http user-agent string

Disassembly:
push 0x40
mov eax, 0x43e1e9
call fcn.0040e380
mov ebx, ecx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x28]
push str.User_Agent
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], eax
call fcn.00405870
lea eax, [ebp - 0x28]
add ebx, 0x50
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
mov edi, dword [ebx]
call fcn.0040b007
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40ae08
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.User_Agent
push eax
mov ecx, ebx
mov dword [ebp - 0x44], str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_80.0.4044.92_Safari_537.36
call fcn.0040b664
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b54f
push str.Connection
lea ecx, [ebp - 0x28]
call fcn.00405870
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b007
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40ae5e
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.User_Agent
push eax
mov ecx, ebx
mov dword [ebp - 0x44], str.HTTP_1.1
call fcn.0040b664
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b54f
push str.Accept
lea ecx, [ebp - 0x28]
call fcn.00405870
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b007
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40aeb4
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.Accept
push eax
mov ecx, ebx
mov dword [ebp - 0x44], 0x44dff0
call fcn.0040b664
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b54f
push str.Connection
lea ecx, [ebp - 0x28]
call fcn.00405870
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b007
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40af0a
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.Connection
push eax
mov ecx, ebx
mov dword [ebp - 0x44], str.Keep_Alive
call fcn.0040b664
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b54f
push str.Accept_Language
lea ecx, [ebp - 0x28]
call fcn.00405870
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b007
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40af60
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.Accept_Language
push eax
mov ecx, ebx
mov dword [ebp - 0x44], str.zh_CN_zh_q0.9
call fcn.0040b664
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b54f
xor eax, eax
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x40], al
mov dword [ebp - 4], eax
mov eax, dword [ebx]
mov esi, dword [eax]
cmp esi, eax
je 0x40afe8
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405780
push 0x44d950
lea ecx, [ebp - 0x40]
call fcn.00405710
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405780
push 0x44dfd0
lea ecx, [ebp - 0x40]
call fcn.00405710
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x40afce
mov eax, dword [esi + 4]
jmp 0x40afc4
cmp esi, dword [eax + 8]
jne 0x40afca
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x40afba
mov esi, eax
jmp 0x40afe4
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x40afe4
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x40afd8
cmp esi, dword [ebx]
jne 0x40af7a
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x40]
push eax
call fcn.00401e50
lea ecx, [ebp - 0x40]
call fcn.00401e00
mov eax, dword [ebp - 0x4c]
call fcn.0040e33b
ret 4