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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 4
call fcn.004253b5
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov dword [ebx], 0
push 0x50017
push 0
push ebx
push 1
mov eax, 4
mov ebx, 0x488ea0
call fcn.004253d3
add esp, 0x10
mov dword [ebp - 8], 0
push 4
call fcn.004253b5
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov dword [ebx], 0
push 0x50004
push 0
push ebx
push 1
mov eax, 4
mov ebx, 0x4852a0
call fcn.004253d3
add esp, 0x10
cmp dword [ebp + 0x68], 0
mov eax, 0
sete al
and eax, 1
xor eax, 1
test eax, eax
je 0x40681d
push VariantClear
push 0
mov ebx, dword [ebp + 0x74]
mov eax, dword [ebx]
test eax, eax
jne 0x4067c3
mov eax, 0x4d62f1
push eax
push VariantClear
push 0
mov ebx, dword [ebp + 0x6c]
mov eax, dword [ebx]
test eax, eax
jne 0x4067d9
mov eax, 0x4d62f1
push eax
push VariantClear
push 0
mov ebx, dword [ebp + 0x64]
mov eax, dword [ebx]
test eax, eax
jne 0x4067ef
mov eax, 0x4d62f1
push eax
push VariantClear
push 0
push str.direct
push 0x50017
push 0
push dword [ebp - 4]
push 5
mov eax, 4
mov ebx, 0x488f60
call fcn.004253d3
add esp, 0x40
cmp dword [ebp + 0x54], 1
jge 0x406833
mov dword [ebp + 0x54], 0x1e
jmp 0x40683a
mov dword [ebp + 0x54], 0
push VariantClear
push 0
push 0x4d6930
push 0x50017
push 0
push dword [ebp - 4]
push 2
mov eax, 4
mov ebx, 0x489080
call fcn.004253d3
add esp, 0x1c
push 0x80000301
push 0
push dword [ebp + 0x54]
push 0x80000301
push 0
push dword [ebp + 0x54]
push 0x50017
push 0
push dword [ebp - 4]
push 3
mov eax, 4
mov ebx, 0x488f00
call fcn.004253d3
add esp, 0x28
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0x50017
push 0
push dword [ebp - 4]
push 2
mov eax, 4
mov ebx, 0x489500
call fcn.004253d3
add esp, 0x1c
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0x80000301
push 0
push 0
push 0x50017
push 0
push dword [ebp - 4]
push 3
mov eax, 4
mov ebx, 0x48a180
call fcn.004253d3
add esp, 0x28
cmp dword [ebp + 0x44], 0
je 0x406945
push 0x80000301
push 0
push 0xa
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0x50017
push 0
push dword [ebp - 4]
push 3
mov eax, 4
mov ebx, 0x488fc0
call fcn.004253d3
add esp, 0x28
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 + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406978
mov eax, 0x4d62f1
push eax
push 4
mov ebx, 0x425c70
call fcn.004253af
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x4069d3
mov ebx, dword [ebp + 0x18]
push dword [ebx]
push str._r_nReferer:
mov ebx, dword [ebp + 0x34]
push dword [ebx]
mov ecx, 3
call fcn.0040113f
add esp, 0xc
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 0x4069cd
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x34]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push 0x4d64a0
push VariantClear
push 0
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406a06
mov eax, 0x4d62f1
push eax
push 4
mov ebx, 0x425c70
call fcn.004253af
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x406a5c
push str._r_nAccept_Language:_zh_cn
mov ebx, dword [ebp + 0x34]
push dword [ebx]
mov ecx, 2
call fcn.0040113f
add esp, 8
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 0x406a56
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x34]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push 0x4d64ca
push VariantClear
push 0
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406a8f
mov eax, 0x4d62f1
push eax
push 4
mov ebx, 0x425c70
call fcn.004253af
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x406ae5
push str._r_nUser_Agent:_Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_65.0.3325.181_Safari_537.36
mov ebx, dword [ebp + 0x34]
push dword [ebx]
mov ecx, 2
call fcn.0040113f
add esp, 8
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 0x406adf
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x34]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push 0x4d6558
push VariantClear
push 0
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406b18
mov eax, 0x4d62f1
push eax
push 4
mov ebx, 0x425c70
call fcn.004253af
add esp, 0x34
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x406b6e
push str._r_nContent_Type:_application_x_www_form_urlencoded
mov ebx, dword [ebp + 0x34]
push dword [ebx]
mov ecx, 2
call fcn.0040113f
add esp, 8
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 0x406b68
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x34]
mov dword [ebx], eax
push 0x4d62f1
mov ebx, dword [ebp + 0x24]
push dword [ebx]
call fcn.0040119b
add esp, 8
cmp eax, 0
je 0x406bc0
push VariantClear
push 0
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebx]
test eax, eax
jne 0x406b9e
mov eax, 0x4d62f1
push eax
push 0x50017
push 0
push dword [ebp - 4]
push 2
mov eax, 4
mov ebx, 0x4894a0
call fcn.004253d3
add esp, 0x1c
cmp dword [ebp + 0x20], 0
jne 0x406c33
push VariantClear
push 0
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406bdf
mov eax, 0x4d62f1
push eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push reloc.WS2_32.dll_getpeername
push 0
lea eax, [ebp - 8]
push eax
push VariantClear
push 0
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx]
test eax, eax
jne 0x406c0c
mov eax, 0x4d62f1
push eax
push 0x50017
push 0
push dword [ebp - 4]
push 5
mov eax, 4
mov ebx, 0x489200
call fcn.004253d3
add esp, 0x40
jmp 0x406d36
cmp dword [ebp + 0x30], 0
jne 0x406cbc
push VariantClear
push 0
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406c52
mov eax, 0x4d62f1
push eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push reloc.WS2_32.dll_getpeername
push 0
lea eax, [ebp - 8]
push eax
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x406c7f
mov eax, 0x4d6393
push eax
push VariantClear
push 0
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx]
test eax, eax
jne 0x406c95
mov eax, 0x4d62f1
push eax
push 0x50017
push 0
push dword [ebp - 4]
push 6
mov eax, 4
mov ebx, 0x489220
call fcn.004253d3
add esp, 0x4c
jmp 0x406d36
push VariantClear
push 0
mov ebx, dword [ebp + 0x34]
mov eax, dword [ebx]
test eax, eax
jne 0x406cd1
mov eax, 0x4d62f1
push eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push reloc.WS2_32.dll_getpeername
push 0
lea eax, [ebp - 8]
push eax
push VariantClear
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x406cfe
mov eax, 0x4d62f1
push eax
push VariantClear
push 0
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx]
test eax, eax
jne 0x406d14
mov eax, 0x4d62f1
push eax
push 0x50017
push 0
push dword [ebp - 4]
push 6
mov eax, 4
mov ebx, 0x489220
call fcn.004253d3
add esp, 0x4c
push 0x50017
push 0
push dword [ebp - 4]
push 1
mov eax, 4
mov ebx, 0x48a080
call fcn.004253d3
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x406d70
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x3c]
mov dword [ebx], eax
push 1
push dword [ebp + 0x24]
push dword [ebp + 0x3c]
call fcn.00406fb4
push 0x50017
push 0
push dword [ebp - 4]
push 1
mov eax, 4
mov ebx, 0x489160
call fcn.004253d3
add esp, 0x10
mov ebx, dword [ebp + 0x5c]
mov dword [ebx], eax
cmp dword [ebp + 0x50], 0
mov eax, 0
sete al
and eax, 1
xor eax, 1
test eax, eax
je 0x406e3a
push 0x50004
push 0
push dword [ebp - 0xc]
push 0x50017
push 0
push dword [ebp - 4]
push 2
mov eax, 4
mov ebx, 0x4891c0
call fcn.004253d3
add esp, 0x1c
push VariantClear
push 0
push 0x4d6936
push 0x50004
push 0
push dword [ebp - 0xc]
push 2
mov eax, 4
mov ebx, 0x485340
call fcn.004253d3
add esp, 0x1c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x4c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x406e34
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x4c]
mov dword [ebx], eax
cmp dword [ebp + 0x14], 0
mov eax, 0
sete al
and eax, 1
xor eax, 1
test eax, eax
je 0x406e99
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x406e67
mov eax, 0x4d6393
push eax
push 1
mov ebx, 0x4272f0
call fcn.004253af
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x406e93
push ebx
call fcn.004253bb
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
cmp dword [ebp + 0xc], 0
mov eax, 0
sete al
and eax, 1
xor eax, 1
test eax, eax
je 0x406f2d
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x406ec6
mov eax, 0x4d6393
push eax
push 1
mov ebx, 0x4272f0
call fcn.004253af
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, 9
call fcn.00402b0c
push VariantClear
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x406ef9
mov eax, 0x4d62f1
push eax
push 0x50004
push 0
mov ebx, dword [ebp + 8]
push dword [ebx]
push 5
mov eax, 4
mov ebx, 0x485f80
call fcn.004253d3
add esp, 0x40
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x406f2d
push ebx
call fcn.004253bb
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x406f47
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004253b5
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x406f4c
push eax
mov ebx, dword [ebp - 4]
push ebx
push 0x50017
push 0
push ebx
push 1
mov eax, 4
mov ebx, 0x488ec0
call fcn.004253d3
add esp, 0x10
call fcn.004253bb
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406f85
push ebx
call fcn.004253bb
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
push 0x50004
push 0
push ebx
push 1
mov eax, 4
mov ebx, 0x4852c0
call fcn.004253d3
add esp, 0x10
call fcn.004253bb
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x7c