Function at 0x6b15c0
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 0x6b1c92
sub esp, 0x78
lea eax, [0x729180]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x88]
mov dword [esp + 8], ebx
lea ebp, [0x6e5f00]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.006bb8d0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x6b1c4a
lea eax, [0x7173c0]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x48]
xor eax, eax
call fcn.004690f4
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebx
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x68], ebx
mov ebp, dword [eax + 0x58]
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x60]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
mov ebp, dword [0x995310]
test ebp, ebp
je 0x6b16f2
lea eax, [0x7173c0]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
lea ecx, [esp + 0x48]
mov dword [esp + 8], ecx
call fcn.00411b70
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x2c]
lea esi, [esp + 0x48]
call fcn.00469598
mov ecx, dword [eax + 0x28]
mov ebp, dword [eax + 0x64]
test ecx, ecx
jne 0x6b1778
mov dword [esp + 0x28], ebp
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x60]
mov eax, dword [eax + 0x58]
mov ebp, dword [esp + 0x2c]
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x20], edi
mov esi, dword [0x995310]
test esi, esi
je 0x6b1737
call fcn.00468e70
mov dword [edi], eax
mov esi, dword [ebp + 0x18]
mov dword [edi + 4], esi
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x28], edx
mov dword [ebp + 0x2c], ebx
mov eax, dword [0x995310]
test eax, eax
jne 0x6b1755
test ecx, ecx
mov eax, dword [esp + 0x80]
jmp 0x6b176b
call fcn.00468e70
mov eax, dword [esp + 0x80]
mov dword [edi], eax
mov edx, dword [ebp + 0x24]
mov dword [edi + 4], edx
test ecx, ecx
mov dword [ebp + 0x24], eax
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
jmp 0x6b177c
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ebp
sete al
mov byte [esp], al
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.006ae9e0
mov eax, dword [0x995310]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jne 0x6b17b7
mov esi, dword [esp + 0x7c]
jmp 0x6b17cb
call fcn.00468e70
mov dword [edi], ecx
mov esi, dword [esp + 0x7c]
mov eax, dword [esi + 0x94]
mov dword [edi + 4], eax
mov dword [esi + 0x94], ecx
test edx, edx
jne 0x6b1c38
mov edx, dword [esp + 0x24]
movzx edx, byte [edx + 0x88]
test dl, dl
je 0x6b18a0
mov edx, dword [esp + 0x28]
mov ebx, dword [edx + 0x14]
test ebx, ebx
jbe 0x6b1c88
mov ebx, dword [esp + 0x20]
mov ebp, dword [ebx + 0x14]
test ebp, ebp
jbe 0x6b1c7f
mov ebp, dword [edx + 0x10]
mov edi, dword [ebp + 4]
mov eax, dword [ebx + 0x10]
cmp dword [eax + 4], edi
je 0x6b181f
mov eax, 1
jmp 0x6b1848
mov ecx, dword [ebp]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.004034e0
movzx eax, byte [esp + 0xc]
xor eax, 1
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x7c]
test al, al
je 0x6b1853
mov eax, 1
jmp 0x6b18a2
mov ebp, dword [edx + 0x20]
test ebp, ebp
jbe 0x6b1c76
mov ebp, dword [ebx + 0x20]
test ebp, ebp
jbe 0x6b1c6d
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [ebx + 0x1c]
cmp dword [edx + 4], ecx
je 0x6b187e
mov eax, 1
jmp 0x6b18a2
mov eax, dword [eax]
mov edx, dword [edx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004034e0
movzx eax, byte [esp + 0xc]
xor eax, 1
mov esi, dword [esp + 0x7c]
jmp 0x6b18a2
xor eax, eax
test al, al
je 0x6b18c3
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x18]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6b1c1e
mov esi, dword [esp + 0x7c]
mov eax, dword [0x96e874]
mov ecx, dword [esi + 0x94]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
lea ebx, [0x6f7b20]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00410d20
movzx eax, byte [esp + 0x14]
test al, al
je 0x6b1b99
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x28]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
test edx, edx
je 0x6b193f
mov edx, dword [ecx + 0x94]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
call fcn.006b1ca0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x6b196d
mov edx, dword [ecx + 0x94]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
call fcn.006b1e00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test ecx, ecx
jne 0x6b1b87
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0xb0]
test edx, edx
jne 0x6b19b7
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
mov dword [ecx + 0xb4], edx
mov dword [ecx + 0xb8], ebx
mov edx, dword [0x995310]
test edx, edx
je 0x6b19b1
call fcn.00468e70
mov dword [edi], ebp
mov edx, dword [ecx + 0xb0]
mov dword [edi + 4], edx
mov dword [ecx + 0xb0], ebp
mov edx, dword [ecx + 0xb4]
mov ebx, dword [ecx + 0xb8]
mov ebp, dword [ecx + 0xb0]
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], ebx
mov edx, dword [0x995310]
test edx, edx
je 0x6b19e6
call fcn.00468e70
mov dword [edi], ebp
mov edx, dword [eax + 0x34]
mov dword [edi + 4], edx
mov dword [eax + 0x34], ebp
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov edx, dword [edx + 0x14]
mov ebp, dword [ecx + 0x94]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call edx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6b1b6d
lea eax, [0x6efb00]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov byte [eax], 0x15
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov edx, dword [edx + 0x1c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call edx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6b1b53
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6b1b39
mov edx, dword [esp + 8]
test edx, edx
jbe 0x6b1c64
mov eax, dword [esp + 4]
movzx eax, byte [eax]
cmp al, 0x15
je 0x6b1b1f
movzx eax, al
lea ecx, [0x945c20]
lea eax, [ecx + eax*8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
lea ecx, [0x6f4820]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
lea eax, [0x945cc8]
mov dword [esp + 0x44], eax
lea eax, [0x74c5a8]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
lea eax, [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c1f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
add esp, 0x78
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
add esp, 0x78
ret
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x94]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409d40
mov eax, dword [esp + 8]
lea ecx, [0x6f44e0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
lea eax, [0x74aee6]
mov dword [esp], eax
mov dword [esp + 4], 0x29
lea eax, [esp + 0x30]
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 + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebp
add esp, 0x78
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x78
ret
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.006b15c0