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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x668cac
sub esp, 0x34
mov eax, dword [esp + 0x3c]
cmp dword [0x9674b8], eax
je 0x6689a7
xor ecx, ecx
jmp 0x6689cc
mov ecx, dword [0x9674bc]
mov dword [esp], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00404290
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x3c]
test cl, cl
je 0x6689d7
mov ecx, 1
jmp 0x668a08
cmp dword [0x9674c0], eax
je 0x6689e3
xor ecx, ecx
jmp 0x668a08
mov ecx, dword [0x9674c4]
mov dword [esp], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00404290
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x3c]
test cl, cl
je 0x668a16
mov ecx, 1
jmp 0x668a97
mov ecx, dword [esp + 0x3c]
lea ebx, [0x7b11a0]
cmp ecx, ebx
jne 0x668a33
mov ecx, dword [esp + 0x40]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
jmp 0x668a42
mov ebx, 0
mov ebp, 0
mov ecx, 0
jne 0x668a95
cmp ebx, 1
jne 0x668a80
cmp dword [0x967458], ebp
je 0x668a55
xor ecx, ecx
jmp 0x668a82
mov dword [esp + 0x1c], ebx
mov eax, dword [0x96745c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404290
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0x3c]
jmp 0x668a82
xor ecx, ecx
test cl, cl
je 0x668a8d
mov ecx, 1
jmp 0x668a97
cmp ebx, 7
sete cl
jmp 0x668a97
xor ecx, ecx
test cl, cl
je 0x668c90
mov ecx, dword [esp + 0x38]
mov ebx, dword [ecx + 0x20]
test ebx, ebx
je 0x668c78
lea ebp, [0x7b1c14]
cmp ebx, ebp
je 0x668abc
xor edx, edx
jmp 0x668ae4
mov eax, dword [ecx + 0x24]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea eax, [0x994f00]
mov dword [esp + 8], eax
call fcn.00404290
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov edx, eax
mov eax, dword [esp + 0x3c]
test dl, dl
jne 0x668c78
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x668baf
cmp dword [0x9674b8], eax
jne 0x668b26
mov ecx, dword [0x9674bc]
mov dword [esp], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00404290
movzx eax, byte [esp + 0xc]
test al, al
jne 0x668b93
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
test eax, eax
je 0x668b3d
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
lea eax, [0x752ace]
mov dword [esp], eax
mov dword [esp + 4], 0x72
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c1f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
add esp, 0x34
ret
mov eax, dword [esp + 0x38]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x34
ret
mov eax, dword [edx]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
test eax, eax
jne 0x668c5c
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ecx
lea eax, [0x72eb00]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [0x995310]
mov edi, dword [esp + 4]
mov dword [esp + 0x28], edi
test eax, eax
je 0x668c0c
lea eax, [0x72eb00]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00411b70
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
call fcn.004694d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x20], eax
mov eax, dword [0x995310]
test eax, eax
jne 0x668c30
mov eax, dword [esp + 0x20]
jmp 0x668c41
call fcn.00468e70
mov eax, dword [esp + 0x20]
mov dword [edi], eax
mov edx, dword [ecx + 0x24]
mov dword [edi + 4], edx
mov dword [ecx + 0x24], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x34
ret
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
add esp, 0x34
ret
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
add esp, 0x34
ret
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
add esp, 0x34
ret
call fcn.00467a60
jmp fcn.00668980