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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x38
call fcn.0042c684
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xe
rep stosd dword es:[edi], eax
mov dword [ebx], 0x7c2b65
push ebx
add ebx, 0x24
push ebx
push 8
call fcn.0042c684
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x726dd0
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
add ebx, 0xc
push ebx
push 0xc
call fcn.0042c684
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x7c2c6d
pop ebx
pop ebx
push ebx
mov eax, esp
push eax
call fcn.0040b1df
pop ebx
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push 1
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
push 1
push 0xea60
push 1
push 0xea60
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
cmp dword [ebp + 0x50], 0
jne 0x40aca6
mov dword [ebp + 0x4c], 1
cmp dword [ebp + 0xc], 0
jne 0x40acca
mov eax, 0x726d30
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40acc6
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov dword [ebp - 8], eax
cmp dword [ebp + 0xc], 1
jne 0x40acee
mov eax, 0x726d34
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40acea
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov dword [ebp - 8], eax
cmp dword [ebp + 0xc], 3
jne 0x40ad45
push 1
push 0x36
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1c]
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x42ea60
call fcn.0042c67e
add esp, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40ad41
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov dword [ebp - 8], eax
cmp dword [ebp + 0x44], 1
jne 0x40ad65
push 0
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
cmp dword [ebp + 0x4c], 0
je 0x40b02b
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.Accept:
push VariantClear
push 0
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x40ada2
mov eax, 0x726884
push eax
push 4
mov ebx, 0x42d270
call fcn.0042c67e
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40adf8
push str._r_nAccept:__
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x2c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40adf2
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x2c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.Referer:
push VariantClear
push 0
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x40ae2b
mov eax, 0x726884
push eax
push 4
mov ebx, 0x42d270
call fcn.0042c67e
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40ae86
mov ebx, dword [ebp + 8]
push dword [ebx]
push str._r_nReferer:
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x2c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ae80
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x2c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.Accept_Language:
push VariantClear
push 0
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x40aeb9
mov eax, 0x726884
push eax
push 4
mov ebx, 0x42d270
call fcn.0042c67e
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40af0f
push str._r_nAccept_Language:_zh_cn
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x2c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40af09
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x2c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.User_Agent:
push VariantClear
push 0
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x40af42
mov eax, 0x726884
push eax
push 4
mov ebx, 0x42d270
call fcn.0042c67e
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40af98
push str._r_nUser_Agent:_Mozilla_5.0__Windows_NT_10.0__Win64__x64__rv:88.0__Gecko_20100101_Firefox_88.0
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x2c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40af92
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x2c]
mov dword [ebx], eax
cmp dword [ebp + 0xc], 1
jne 0x40b02b
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.Content_Type:
push VariantClear
push 0
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x40afd5
mov eax, 0x726884
push eax
push 4
mov ebx, 0x42d270
call fcn.0042c67e
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40b02b
push str._r_nContent_Type:_application_x_www_form_urlencoded
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x2c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b025
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x2c]
mov dword [ebx], eax
push dword [ebp + 0x1c]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xa4]
push 1
push 1
push dword [ebp + 8]
push 1
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xb0]
push dword [ebp + 0x2c]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xb8]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xfc]
cmp dword [ebp + 0x3c], 0
jne 0x40b0aa
push 1
push dword [ebp + 0x14]
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc0]
jmp 0x40b0fc
push VariantClear
push 0
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
jne 0x40b0bf
mov eax, 0x726884
push eax
push 1
mov ebx, 0x42e000
call fcn.0042c67e
add esp, 0x10
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc4]
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40b0fc
push ebx
call fcn.0042c68a
add esp, 4
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe0]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40b124
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x90]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x24]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b152
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x24]
mov dword [ebx], eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x34]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b182
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov ebx, dword [ebp + 0x34]
mov dword [ebx], eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40b1a2
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0042c684
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x40b1a7
push eax
mov ebx, dword [ebp - 4]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.0042c68a
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40b1c8
push ebx
call fcn.0042c68a
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40b1d8
push ebx
call fcn.0042c68a
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x4c