Function at 0x4e74e0
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 0x4e7975
sub esp, 0x4c
mov eax, dword [esp + 0x5c]
lea ecx, [eax - 0xc]
cmp ecx, 4
ja 0x4e779b
mov ecx, dword [esp + 0x58]
test ecx, ecx
jle 0x4e7758
lea eax, [0x6ff2e0]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.00409f50
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4e7718
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x10
jne 0x4e76d5
lea eax, [0x6f0140]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 0x10
call ecx
lea eax, [0x717740]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x4e75ca
mov edx, dword [esp + 0x54]
jmp 0x4e75d5
call fcn.00468e60
mov edx, dword [esp + 0x54]
mov dword [edi], edx
mov dword [esp + 0x44], eax
mov dword [eax + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x48]
movzx ebx, byte [edx + 7]
movzx ebp, byte [edx + 6]
mov esi, ebp
shl ebp, 8
or ebx, ebp
shr esi, 0x18
movzx ebp, byte [edx + 5]
mov edi, ebp
shr ebp, 0x10
or esi, ebp
shl edi, 0x10
or edi, ebx
movzx ebx, byte [edx + 4]
mov ebp, ebx
shr ebx, 8
or esi, ebx
shl ebp, 0x18
or ebp, edi
movzx ebx, byte [edx + 3]
or ebx, esi
movzx esi, byte [edx + 2]
shl esi, 8
or ebx, esi
movzx esi, byte [edx + 1]
shl esi, 0x10
or esi, ebx
movzx ebx, byte [edx]
shl ebx, 0x18
or esi, ebx
movzx ebx, byte [edx + 0xf]
movzx edi, byte [edx + 0xe]
mov ecx, edi
shl edi, 8
or ebx, edi
shr ecx, 0x18
movzx edi, byte [edx + 0xd]
mov dword [esp + 0x30], edi
shl edi, 0x10
or ebx, edi
mov edi, dword [esp + 0x30]
shr edi, 0x10
or edi, ecx
movzx ecx, byte [edx + 0xc]
mov dword [esp + 0x30], ecx
shr ecx, 8
or edi, ecx
mov ecx, esi
mov esi, dword [esp + 0x30]
shl esi, 0x18
or esi, ebx
movzx ebx, byte [edx + 0xb]
or ebx, edi
movzx edi, byte [edx + 0xa]
shl edi, 8
or ebx, edi
movzx edi, byte [edx + 9]
shl edi, 0x10
or edi, ebx
movzx edx, byte [edx + 8]
shl edx, 0x18
or edi, edx
nop
nop
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
mov dword [eax + 0x90], ebp
mov dword [eax + 0x94], ecx
mov dword [eax + 0x98], esi
mov dword [eax + 0x9c], edi
mov ecx, 2
jmp 0x4e77fe
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2c
lea ecx, [0x74c049]
mov dword [eax], ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea ecx, [0x7b0bb8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
add esp, 0x4c
ret
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
add esp, 0x4c
ret
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x64
lea ecx, [0x752930]
mov dword [eax], ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea ecx, [0x7b0bb8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
add esp, 0x4c
ret
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x27
lea ecx, [0x74a0df]
mov dword [eax], ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea ecx, [0x7b0bb8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
add esp, 0x4c
ret
shl eax, 4
mov ebx, dword [esp + 0x44]
mov dword [ebx + eax + 0x10], ebp
mov dword [ebx + eax + 0x14], edx
mov dword [ebx + eax + 0x18], esi
mov dword [ebx + eax + 0x1c], edi
mov edx, dword [esp + 0x2c]
lea ecx, [edx + 2]
mov eax, ebx
cmp ecx, 0x10
jge 0x4e7930
mov edx, ecx
shr ecx, 0x1f
lea ebx, [edx + ecx]
mov ebp, ebx
sar ebx, 1
mov esi, edx
shl edx, 2
and edx, 0xc
mov edi, esi
sar esi, 2
and esi, 3
or esi, edx
mov edx, esi
shl esi, 1
and esi, 0xa
sar edx, 1
and edx, 5
shl ebx, 2
and ebx, 0xc
sar ebp, 3
and ebp, 3
or ebp, ebx
mov ebx, ebp
shl ebp, 1
and ebp, 0xa
sar ebx, 1
and ebx, 5
or ebx, ebp
or edx, esi
cmp ebx, 0x10
jae 0x4e7968
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], edx
shl ebx, 4
mov ebp, dword [eax + ebx + 0x18]
mov dword [esp + 0x30], ebp
mov esi, dword [eax + ebx + 0x1c]
mov ecx, esi
shr esi, 1
shr ebp, 1
shl ecx, 0x1f
mov edi, dword [eax + ebx + 0x10]
mov dword [esp + 0x28], edi
mov ebx, dword [eax + ebx + 0x14]
mov dword [esp + 0x24], ebx
shl edi, 0x1f
mov edx, dword [esp + 0x28]
shr edx, 1
shl ebx, 0x1f
or ecx, ebp
or edi, esi
or ebx, edx
mov edx, dword [esp + 0x24]
shr edx, 1
mov ebp, dword [esp + 0x30]
test ebp, 1
je 0x4e78b2
xor edx, 0xe1000000
mov ebp, dword [esp + 0x20]
cmp ebp, 0x10
jae 0x4e795c
mov dword [esp + 0x30], edi
shl ebp, 4
mov dword [eax + ebp + 0x10], ebx
mov dword [eax + ebp + 0x14], edx
mov dword [eax + ebp + 0x18], ecx
mov dword [eax + ebp + 0x1c], edi
mov ebp, dword [esp + 0x2c]
lea esi, [ebp + 1]
mov dword [esp + 0x1c], esi
shl esi, 2
and esi, 0xc
mov ebp, dword [esp + 0x1c]
sar ebp, 2
and ebp, 3
or ebp, esi
mov esi, ebp
shl ebp, 1
and ebp, 0xa
sar esi, 1
and esi, 5
or esi, ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
xor ebp, ebx
xor edx, eax
xor esi, ecx
mov ebx, dword [esp + 0x30]
xor edi, ebx
mov eax, dword [esp + 0x1c]
cmp eax, 0x10
jb 0x4e77de
jmp 0x4e7952
lea ecx, [0x7b24d0]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
add esp, 0x4c
ret
mov ecx, 0x10
call fcn.00468ed0
mov eax, ebp
mov ecx, 0x10
call fcn.00468ed0
mov eax, ebx
mov ecx, 0x10
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.004e74e0