Function at 0x455be0
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 0x455df1
sub esp, 0x40
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
cmp ecx, 4
ja 0x455dd8
test ecx, ecx
je 0x455dbe
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx]
mov dword [esp + 0x3c], edx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x20], ebx
mov ebp, dword [ecx + 8]
mov dword [esp + 0x24], ebp
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.00455e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x455c6b
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x48]
movzx ebx, byte [edx + 0xd]
lea ecx, [ebx + ecx - 1]
neg ebx
and ebx, ecx
mov dword [eax + 0x14], ebx
mov ecx, dword [edx]
add ecx, ebx
mov dword [eax + 0x14], ecx
mov edx, eax
jmp 0x455db6
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [edx + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x455c8d
mov ecx, dword [esp + 0x3c]
jmp 0x455c9d
call fcn.00468e70
mov ecx, dword [esp + 0x3c]
mov dword [edi], ecx
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], ecx
mov ecx, dword [edx + 0x10]
mov ebx, dword [esp + 0x48]
movzx ebp, byte [ebx + 0xd]
lea ecx, [ecx + ebp - 1]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
and ebp, ecx
mov dword [edx + 0x10], ebp
lea edi, [esp + 0x28]
xor eax, eax
call fcn.004690fb
mov dword [esp + 0x28], 1
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x2c], ecx
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x30], ebp
mov eax, dword [ebx]
mov dword [esp + 0x38], eax
mov esi, dword [edx + 4]
test esi, esi
jne 0x455cee
mov eax, 1
jmp 0x455d36
mov edi, dword [edx]
lea esi, [esi + esi*4]
lea ebx, [edi + esi*4 - 0x14]
cmp dword [ebx], 1
je 0x455d00
xor eax, eax
jmp 0x455d2f
mov ebx, dword [edi + esi*4 - 0x10]
mov edx, dword [edi + esi*4 - 4]
add ebx, edx
cmp ecx, ebx
jne 0x455d29
mov ecx, dword [edi + esi*4 - 0xc]
add ecx, edx
cmp ebp, ecx
jne 0x455d29
add eax, edx
mov dword [edi + esi*4 - 4], eax
mov edx, dword [esp + 0x44]
mov eax, 1
jmp 0x455d2f
mov edx, dword [esp + 0x44]
xor eax, eax
xor eax, 1
mov ebx, dword [esp + 0x48]
test al, al
je 0x455db1
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
inc ecx
mov ebp, dword [edx]
cmp eax, ecx
jae 0x455d9e
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x71bdc0]
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 + 0x44]
mov dword [ebx + 8], eax
mov eax, dword [0x995310]
test eax, eax
je 0x455d92
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x48]
mov dword [edx + 4], ecx
lea eax, [ecx + ecx*4]
lea edi, [ebp + eax*4 - 0x14]
lea esi, [esp + 0x28]
call fcn.004695de
mov eax, dword [ebx]
add dword [edx + 0x10], eax
add dword [edx + 0xc], 4
add esp, 0x40
ret
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x10]
movzx eax, byte [eax + 0xd]
lea edx, [eax + edx - 1]
neg eax
and eax, edx
mov dword [ecx + 0x10], eax
add esp, 0x40
ret
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b00fc]
mov dword [esp + 4], eax
call fcn.00438b10
nop
call fcn.00467a60
jmp fcn.00455be0