Function at 0x4a9240
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 0x4a958b
sub esp, 0x44
mov edx, dword [esp + 0x54]
test edx, edx
jl 0x4a9572
cmp edx, 9
jg 0x4a955a
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4a928a
mov eax, dword [esp + 0x48]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
add esp, 0x44
ret
cmp ebx, 0x10000
jb 0x4a929e
mov ebp, ebx
shr ebx, 0x10
mov eax, 0x10
jmp 0x4a92a2
mov ebp, ebx
xor eax, eax
cmp ebx, 0x100
jb 0x4a92b0
shr ebx, 8
add eax, 8
cmp ebx, 0x100
jae 0x4a954e
lea esi, [0x753253]
movzx ebx, byte [esi + ebx]
lea esi, [ebx + eax]
cmp esi, 0x19
jge 0x4a92e7
lea ecx, [ebx + eax - 0x19]
neg ecx
shl ebp, cl
mov eax, dword [esp + 0x50]
lea eax, [esi + eax - 0x19]
cmp ecx, 0x20
sbb ebx, ebx
and ebp, ebx
jmp 0x4a92eb
mov eax, dword [esp + 0x50]
imul ecx, eax, 0x13441
add ecx, 0x1ce618
sar ecx, 0x12
sub edx, ecx
mov dword [esp + 0x40], edx
lea ecx, [edx - 1]
cmp ecx, 0x1b
jg 0x4a9313
test ecx, ecx
xchg esi, ebx
setge bl
xchg esi, ebx
jmp 0x4a9315
xor esi, esi
mov dword [esp + 0x1c], ecx
xchg esi, eax
mov byte [esp + 0x1b], al
xchg esi, eax
mov dword [esp + 0x20], ebp
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ab240
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x4a9536
mov edx, dword [esp + 0x40]
lea ebx, [edx + 9]
movzx ebp, byte [esp + 0x14]
cmp ebx, 0xa
jae 0x4a9385
mov ebx, dword [esp + 0x20]
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a945a
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x1c]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x28], esi
xor eax, eax
xor edi, edi
jmp 0x4a9482
movzx eax, byte [esp + 0x1b]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x30], ebx
mov esi, ecx
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edi, ecx
mov ecx, esi
mov edx, 1
shl edx, cl
shr ebx, cl
cmp ecx, 0x20
sbb esi, esi
and edx, esi
dec edx
and ebx, esi
mov esi, dword [esp + 0x30]
and edx, esi
test al, al
je 0x4a93fa
lea ecx, [edi + 1]
neg ecx
mov eax, 1
shl eax, cl
cmp ecx, 0x20
sbb esi, esi
and eax, esi
cmp eax, edx
jb 0x4a93ef
jne 0x4a93f6
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a93ef
cmp eax, edx
jne 0x4a93f6
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a93f6
test ebx, 1
setne al
jmp 0x4a9412
mov eax, 1
jmp 0x4a9412
xor eax, eax
jmp 0x4a9412
lea ecx, [edi + 1]
neg ecx
mov esi, edx
shr edx, cl
cmp ecx, 0x20
sbb edi, edi
and edx, edi
cmp edx, 1
sete al
mov edx, esi
test edx, edx
je 0x4a9418
xor ebp, ebp
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
xor ebp, 1
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
call fcn.004a9b50
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x40]
sub ecx, edx
inc ecx
mov dword [eax + 0x10], ecx
add esp, 0x44
ret
mov eax, 1
mov ebp, 1
jmp 0x4a938a
mov eax, dword [esp + 0x2c]
inc eax
mov edx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x28]
mov edi, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x34]
cmp eax, esi
jge 0x4a945a
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebx
mov eax, 0xcccccccd
mul edi
mov dword [esp + 0x3c], edx
mov eax, 0xcccccccd
mul ebx
shr edx, 2
mov dword [esp + 0x38], edx
lea eax, [edx + edx*4]
sub ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x3c]
shr ebp, 2
lea ecx, [ebp + ebp*4]
sub edi, ecx
mov ecx, eax
mov eax, edi
mov esi, 0x33333333
mul esi
mov dword [esp + 0x3c], edx
add ebx, edi
mov edi, eax
mov eax, 0xcccccccd
mul ebx
shr edx, 2
mov eax, dword [esp + 0x38]
add eax, 0
adc ebp, 0
add eax, edi
mov ebx, dword [esp + 0x3c]
adc ebp, ebx
add eax, edx
adc ebp, 0
mov edx, 5
mov ebx, eax
mul edx
lea edi, [ebp + ebp*4]
add edx, edi
mov edi, dword [esp + 0x24]
cmp edi, edx
setne dl
mov edi, dword [esp + 0x20]
cmp eax, edi
xchg edi, ebx
setne bl
xchg edi, ebx
or edx, edi
test dl, dl
je 0x4a9469
mov edx, dword [esp + 0x40]
movzx eax, byte [esp + 0x1b]
mov ebp, ecx
mov ecx, dword [esp + 0x34]
jmp 0x4a938a
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b032c]
mov dword [esp + 4], eax
call fcn.00438b10
mov eax, ebx
mov ecx, 0x100
call fcn.00468ee0
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0324]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b031c]
mov dword [esp + 4], eax
call fcn.00438b10
nop
call fcn.00467a60
jmp fcn.004a9240