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

Disassembly:
push 0x40
mov eax, 0x43e2e9
call fcn.0040e471
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.00405930
lea eax, [ebp - 0x28]
add ebx, 0x50
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
mov edi, dword [ebx]
call fcn.0040b0a7
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40aea8
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.0040b704
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b5ef
push str.Connection
lea ecx, [ebp - 0x28]
call fcn.00405930
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b0a7
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40aefe
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.0040b704
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b5ef
push str.Accept
lea ecx, [ebp - 0x28]
call fcn.00405930
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b0a7
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40af54
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.Accept
push eax
mov ecx, ebx
mov dword [ebp - 0x44], 0x44e008
call fcn.0040b704
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b5ef
push str.Connection
lea ecx, [ebp - 0x28]
call fcn.00405930
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b0a7
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40afaa
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], str.Connection
push eax
mov ecx, ebx
mov dword [ebp - 0x44], str.Keep_Alive
call fcn.0040b704
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b5ef
push str.Accept_Language
lea ecx, [ebp - 0x28]
call fcn.00405930
mov edi, dword [ebx]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.0040b0a7
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401e00
cmp esi, edi
jne 0x40b000
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.0040b704
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.0040b5ef
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 0x40b088
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405840
push 0x44d960
lea ecx, [ebp - 0x40]
call fcn.004057d0
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405840
push 0x44dfe8
lea ecx, [ebp - 0x40]
call fcn.004057d0
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x40b06e
mov eax, dword [esi + 4]
jmp 0x40b064
cmp esi, dword [eax + 8]
jne 0x40b06a
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x40b05a
mov esi, eax
jmp 0x40b084
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x40b084
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x40b078
cmp esi, dword [ebx]
jne 0x40b01a
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.0040e42c
ret 4