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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xad
push 0
push 0
dec ecx
jne 0x7d7d01
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 4]
call fcn.0040ab34
mov eax, dword [ebp - 8]
call fcn.0040ab34
lea eax, [ebp - 0x138]
mov edx, dword [0x7d73cc]
call fcn.0040c030
lea eax, [ebp - 0x230]
mov edx, dword [0x7a1a6c]
call fcn.0040c030
lea eax, [ebp - 0x24c]
mov edx, dword [0x7a1730]
call fcn.0040c030
lea eax, [ebp - 0x268]
mov edx, dword [0x7d72f8]
call fcn.0040c030
lea eax, [ebp - 0x284]
mov edx, dword [0x7d72f8]
call fcn.0040c030
lea eax, [ebp - 0x2a0]
mov edx, dword [0x7d72f8]
call fcn.0040c030
lea eax, [ebp - 0x2bc]
mov edx, dword [0x7d72f8]
call fcn.0040c030
lea eax, [ebp - 0x50]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x58]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x148]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x60]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x68]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x158]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x70]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x78]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x168]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x80]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x88]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x178]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x90]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x98]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x188]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0xa0]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0xa8]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x198]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0xb0]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0xb8]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x1a8]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0xc0]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0xc8]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x1b8]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0xd0]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0xd8]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x1c8]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0xe0]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0xe8]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x1d8]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0xf0]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0xf8]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x1e8]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x100]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x108]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x1f8]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x110]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x118]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x208]
mov edx, dword [0x7a1460]
call fcn.0040c030
lea eax, [ebp - 0x120]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x128]
mov edx, dword [0x7a14d0]
call fcn.0040c030
lea eax, [ebp - 0x218]
mov edx, dword [0x7a1460]
call fcn.0040c030
xor eax, eax
push ebp
push 0x7da2cc
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7da2ec
call fcn.0040bf10
mov ebx, eax
test ebx, ebx
jne 0x7d824f
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7da30c
call fcn.0040bf10
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2d0], 0
jne 0x7d81ce
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7da350
call fcn.0040bf10
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2d0], 0
jne 0x7d814d
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7da39c
call fcn.0040bf10
mov ebx, eax
lea ecx, [ebx + 9]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.0040bf10
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x340]
push eax
mov ecx, dword [ebp - 0x2cc]
sub ecx, ebx
sub ecx, 9
lea edx, [ebx + 9]
mov eax, dword [ebp - 8]
call fcn.0040bd00
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x33c]
call fcn.00425638
mov eax, dword [ebp - 0x33c]
mov ecx, 0x7da3cc
mov edx, 0x7da3dc
call fcn.004eff30
jmp 0x7d82ed
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.007d7c30
mov ebx, eax
lea ecx, [ebx + 1]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.0040bf10
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x348]
push eax
mov ecx, dword [ebp - 0x2cc]
sub ecx, ebx
dec ecx
lea edx, [ebx + 1]
mov eax, dword [ebp - 8]
call fcn.0040bd00
mov eax, dword [ebp - 0x348]
lea edx, [ebp - 0x344]
call fcn.00425638
mov eax, dword [ebp - 0x344]
mov ecx, 0x7da3cc
mov edx, 0x7da3dc
call fcn.004eff30
jmp 0x7d82ed
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.007d7c30
mov ebx, eax
lea ecx, [ebx + 1]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.0040bf10
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x2cc]
sub ecx, ebx
dec ecx
lea edx, [ebx + 1]
mov eax, dword [ebp - 8]
call fcn.0040bd00
mov eax, dword [ebp - 0x350]
lea edx, [ebp - 0x34c]
call fcn.00425638
mov eax, dword [ebp - 0x34c]
mov ecx, 0x7da3cc
mov edx, 0x7da3dc
call fcn.004eff30
jmp 0x7d82ed
mov ecx, ebx
mov edx, dword [ebp - 8]
mov eax, 0x7da3f0
call fcn.0040bf10
mov dword [ebp - 0x2e8], eax
mov ebx, dword [ebp - 0x2e8]
lea ecx, [ebx + 4]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.0040bf10
mov dword [ebp - 0x2ec], eax
mov ebx, dword [ebp - 0x2ec]
lea ecx, [ebx + 1]
mov edx, dword [ebp - 8]
mov eax, 0x7da3bc
call fcn.0040bf10
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x358]
push eax
mov ecx, dword [ebp - 0x2cc]
sub ecx, ebx
dec ecx
lea edx, [ebx + 1]
mov eax, dword [ebp - 8]
call fcn.0040bd00
mov eax, dword [ebp - 0x358]
lea edx, [ebp - 0x354]
call fcn.00425638
mov eax, dword [ebp - 0x354]
mov ecx, 0x7da3cc
mov edx, 0x7da3dc
call fcn.004eff30
mov ecx, 1
mov edx, dword [ebp - 0x1c]
mov eax, 0x7da408
call fcn.0040bf10
test eax, eax
jle 0x7d8315
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x7da42c
call fcn.0040bb90
jmp 0x7d8325
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x7da448
call fcn.0040bb90
xor eax, eax
push ebp
push 0x7d846f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x7d8430
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x6f6e1c]
call fcn.006984a0
mov edx, dword [ebp - 0x2c0]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
mov edx, dword [0x8c4e78]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 0x2c0]
lea edx, [eax + 0x28]
mov eax, dword [0x8bd3d8]
mov eax, dword [eax]
call fcn.00845e98
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0x2c0]
mov dword [eax + 0x4c], edx
mov dword [eax + 0x48], 0x7d7434
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
call fcn.006fb280
add eax, 0xa8
mov edx, 0x7da47c
call fcn.0040ae30
mov ebx, dword [0x8bcddc]
mov ebx, dword [ebx]
test ebx, ebx
je 0x7d83c8
sub ebx, 4
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
call fcn.006fb280
add eax, 0xa4
imul edx, ebx, 0x1e
mov ecx, dword [0x8bcddc]
mov ecx, dword [ecx]
mov edx, dword [ecx + edx*8 - 0xe8]
call fcn.0040ae30
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
mov byte [eax + 0x148], 1
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
mov dl, 1
call fcn.006fabd4
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0x1c]
call fcn.006f8808
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7d8445
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7d8476
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
call fcn.006be2cc
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax + 0x28]
call fcn.00408c28
ret