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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc0]
cmp eax, dword [ecx + 8]
jbe 0x69bc90
sub esp, 0x140
mov eax, dword [0x967098]
mov ecx, dword [0x96709c]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00452560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
lea ebx, [0x6feda0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x144]
mov dword [esp + 4], ebp
call fcn.00409e40
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
call fcn.00697f30
mov eax, dword [0x96f144]
mov ecx, dword [0x96f148]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.006947e0
lea edi, [esp + 0xa8]
lea esi, [esp + 8]
call fcn.004695c0
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.004690f6
mov ecx, 1
mov dword [esp + 0xc8], ecx
lea edi, [esp + 0xce]
lea esi, [esp + 0xa8]
call fcn.004695c0
mov word [esp + 0xcc], 0
lea ecx, [0x7108e0]
mov dword [esp], ecx
lea edx, [esp + 0xc8]
mov dword [esp + 4], edx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x7108e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00694d60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
lea edx, [0x71c340]
mov dword [esp], edx
call fcn.0040c500
mov edi, dword [esp + 4]
mov dword [esp + 0x11c], edi
mov eax, dword [0x967090]
mov ecx, dword [0x967094]
mov dword [esp + 0x44], ecx
mov edx, eax
xor eax, eax
call fcn.004690eb
mov eax, dword [0x995310]
test eax, eax
jne 0x69b1ca
mov eax, dword [esp + 0x11c]
jmp 0x69b1dd
call fcn.00468e70
mov dword [edi], edx
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], edx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x4c], ecx
lea ecx, [0x71c340]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409b00
mov eax, dword [esp + 8]
mov dword [esp + 0x110], eax
lea ecx, [0x6feda0]
mov dword [esp], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 4], edx
call fcn.00409e40
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], eax
lea ecx, [0x71c340]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xc], ecx
call fcn.00696b30
lea eax, [0x7108e0]
mov dword [esp], eax
lea ecx, [esp + 0xc8]
mov dword [esp + 4], ecx
call fcn.00409b60
mov eax, dword [esp + 8]
mov dword [esp + 0x110], eax
lea ecx, [0x6feda0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 4], ecx
call fcn.00409e40
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], eax
lea ecx, [0x7108e0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xc], ecx
call fcn.00696b30
lea eax, [0x6fee00]
mov dword [esp], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 4], ecx
call fcn.00409e40
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], eax
lea ecx, [0x6e55c0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xc], ecx
call fcn.006971f0
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 4]
cmp dword [0x967094], ecx
je 0x69b31d
mov ecx, 1
jmp 0x69b346
mov edx, dword [eax]
mov ebx, dword [0x967090]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004034e0
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ecx, eax
mov eax, dword [esp + 0x11c]
test cl, cl
jne 0x69b357
movzx eax, word [eax + 8]
test ax, ax
je 0x69b43d
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea eax, [0x6f44e0]
mov dword [esp + 0x120], eax
lea eax, [0x7b01d4]
mov dword [esp + 0x124], eax
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
lea eax, [0x69bca0]
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], 1
mov dword [esp + 0x13c], 1
lea eax, [esp + 0x120]
mov dword [esp + 0x134], eax
mov eax, dword [0x96e848]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea eax, [esp + 0x130]
mov dword [esp + 0xc], eax
call fcn.004e25d0
mov eax, dword [esp + 0x144]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x148]
mov dword [esp], ecx
call eax
mov byte [esp + 0x14c], 0
mov dword [esp + 0x150], 0
add esp, 0x140
ret
lea eax, [0x710960]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
lea ecx, [0x6fee00]
mov dword [esp], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 4], ecx
call fcn.00409e40
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], eax
lea ecx, [0x6e53c0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xc], ecx
call fcn.006971f0
mov eax, dword [esp + 0x118]
lea esi, [eax + 6]
mov dword [esp + 0x10c], esi
lea edi, [esp + 0x88]
call fcn.004695c0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea ecx, [0x6efa60]
mov dword [esp], ecx
lea edx, [esp + 0x88]
mov dword [esp + 4], edx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x6efa60]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
lea eax, [0x73a4ec]
mov dword [esp], eax
mov dword [esp + 4], 2
lea edx, [esp + 0x128]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4b20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
nop
mov ecx, dword [esp + 0x118]
movzx ecx, word [ecx + 4]
mov word [esp + 0x2a], cx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xf4], edx
lea ebx, [0x723260]
mov dword [esp], ebx
call fcn.0040c500
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x69b580
mov ecx, dword [esp + 0xf4]
jmp 0x69b58e
call fcn.00468e60
mov ecx, dword [esp + 0xf4]
mov dword [edi], ecx
mov dword [eax + 4], ecx
movzx ecx, word [esp + 0x2a]
mov word [eax], cx
mov ecx, dword [esp + 0x144]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x69b5b6
mov ecx, dword [esp + 0x148]
jmp 0x69b5c4
call fcn.00468e60
mov ecx, dword [esp + 0x148]
mov dword [edi], ecx
mov dword [esp + 0x104], eax
mov dword [eax + 0x10], ecx
lea ecx, [0x708c40]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b5f3
mov eax, dword [esp + 0x104]
jmp 0x69b607
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0x104]
mov edx, dword [eax + 0x14]
mov dword [edi + 4], edx
mov dword [eax + 0x14], ecx
lea ecx, [0x708c40]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b62f
mov eax, dword [esp + 0x104]
jmp 0x69b643
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0x104]
mov edx, dword [eax + 0x18]
mov dword [edi + 4], edx
mov dword [eax + 0x18], ecx
mov byte [eax + 0x24], 1
nop
call fcn.0040cf60
mov eax, dword [0x995310]
mov ecx, dword [esp]
test eax, eax
jne 0x69b666
mov eax, dword [esp + 0x104]
jmp 0x69b67a
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0x104]
mov edx, dword [eax + 0x20]
mov dword [edi + 4], edx
mov dword [eax + 0x20], ecx
lea ecx, [0x716740]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x100], eax
lea ecx, [0x708c40]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b6bb
mov eax, dword [esp + 0x100]
jmp 0x69b6d2
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 0x1008]
mov dword [edi + 4], edx
mov dword [eax + 0x1008], ecx
lea ecx, [0x71c0c0]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b6fd
mov eax, dword [esp + 0x100]
jmp 0x69b714
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 0x1000]
mov dword [edi + 4], edx
mov dword [eax + 0x1000], ecx
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x20]
lea ebx, [0x6f7000]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [0x7ae8a4]
mov dword [esp + 8], edx
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x69b759
mov ecx, dword [esp + 0x100]
jmp 0x69b76c
call fcn.00468e70
mov ecx, dword [esp + 0x100]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
lea eax, [0x716740]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
lea ecx, [0x708c40]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b7ac
mov eax, dword [esp + 0xfc]
jmp 0x69b7c3
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0xfc]
mov edx, dword [eax + 0x1008]
mov dword [edi + 4], edx
mov dword [eax + 0x1008], ecx
lea ecx, [0x71c0c0]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b7ee
mov eax, dword [esp + 0xfc]
jmp 0x69b805
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0xfc]
mov edx, dword [eax + 0x1000]
mov dword [edi + 4], edx
mov dword [eax + 0x1000], ecx
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x20]
lea ebx, [0x6f7000]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [0x7ae8a8]
mov dword [esp + 8], edx
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x69b84a
mov ecx, dword [esp + 0xfc]
jmp 0x69b85d
call fcn.00468e70
mov ecx, dword [esp + 0xfc]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
lea eax, [0x716740]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
lea ecx, [0x708c40]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b89d
mov eax, dword [esp + 0xf8]
jmp 0x69b8b4
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0xf8]
mov edx, dword [eax + 0x1008]
mov dword [edi + 4], edx
mov dword [eax + 0x1008], ecx
lea ecx, [0x71c0c0]
mov dword [esp], ecx
call fcn.0040c500
mov eax, dword [0x995310]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x69b8df
mov eax, dword [esp + 0xf8]
jmp 0x69b8f6
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esp + 0xf8]
mov edx, dword [eax + 0x1000]
mov dword [edi + 4], edx
mov dword [eax + 0x1000], ecx
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x20]
lea ebx, [0x6f7000]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [0x7ae8ac]
mov dword [esp + 8], edx
call fcn.0040d8a0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x69b93b
mov ecx, dword [esp + 0xf8]
jmp 0x69b94e
call fcn.00468e70
mov ecx, dword [esp + 0xf8]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
lea edi, [esp + 0x68]
mov esi, dword [esp + 0x10c]
call fcn.004695c0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea eax, [0x6efa60]
mov dword [esp], eax
lea ecx, [esp + 0x68]
mov dword [esp + 4], ecx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x6efa60]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
lea eax, [0x73a4ec]
mov dword [esp], eax
mov dword [esp + 4], 2
lea edx, [esp + 0x128]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4b20
mov eax, dword [esp + 0x14]
mov ecx, dword [0x96e828]
mov edx, dword [esp + 0x18]
lea ebx, [0x6f72c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00411080
mov eax, dword [esp + 0x10]
test byte [eax], al
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x69ba16
mov ecx, dword [esp + 0x104]
jmp 0x69ba29
call fcn.00468e70
mov ecx, dword [esp + 0x104]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
lea edi, [esp + 0x48]
mov esi, dword [esp + 0x10c]
call fcn.004695c0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
lea eax, [0x6efa60]
mov dword [esp], eax
lea ecx, [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.00409b60
mov eax, dword [esp + 8]
lea ecx, [0x6efa60]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
lea eax, [0x73a4ec]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0x128]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4b20
mov eax, dword [0x96ea58]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf0], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
nop
lea ebx, [0x6f7340]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00411080
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [0x995310]
test edx, edx
jne 0x69bb02
mov edx, dword [esp + 0xf0]
jmp 0x69bb15
call fcn.00468e70
mov edx, dword [esp + 0xf0]
mov dword [edi], edx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], edx
mov eax, dword [0x96f144]
mov ecx, dword [0x96f148]
mov ebx, dword [0x96ea5c]
lea ebp, [0x6f7300]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00411080
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
mov ebx, dword [eax]
cmp ecx, edx
jae 0x69bbaf
mov dword [esp + 0x108], eax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6f44e0]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x108]
mov dword [ebx + 8], eax
mov eax, dword [0x995310]
test eax, eax
je 0x69bba9
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
lea eax, [ebx + edx*8 - 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov eax, dword [0x995310]
lea edx, [ebx + edx*8 - 8]
test eax, eax
jne 0x69bbd3
mov eax, dword [esp + 0xf0]
jmp 0x69bbe6
call fcn.00468e70
mov eax, dword [esp + 0xf0]
mov dword [edi], eax
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], eax
mov edx, dword [0x96ec30]
nop
test edx, edx
je 0x69bbf7
mov ebx, dword [edx]
jmp 0x69bbf9
xor ebx, ebx
lea eax, [0x6f73c0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [ebx + 1]
mov dword [esp + 0x3c], eax
mov dword [esp + 8], eax
call fcn.0040f160
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [0x995310]
test edx, edx
jne 0x69bc34
mov edx, dword [esp + 0xf0]
jmp 0x69bc47
call fcn.00468e70
mov edx, dword [esp + 0xf0]
mov dword [edi], edx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], edx
mov eax, dword [0x96ec34]
lea ebx, [0x6f7400]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00411080
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov byte [esp + 0x14c], 1
mov eax, dword [esp + 0x104]
mov dword [esp + 0x150], eax
add esp, 0x140
ret
call fcn.00467a60
jmp fcn.0069b040