Function at 0x508ee0
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 0x509281
sub esp, 0x20
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
mov eax, ebp
cmp edx, ebp
jle 0x508f63
jbe 0x509277
movzx esi, byte [ebx + ebp]
mov edi, esi
and esi, 0xc0
test esi, esi
jne 0x508f40
test edi, edi
je 0x508f3d
lea ebp, [ebp + edi + 1]
cmp edx, ebp
jge 0x508f05
mov ebp, dword [0x9672c8]
mov esi, dword [0x9672cc]
mov ecx, ebp
mov ebp, eax
jmp 0x508f73
inc ebp
jmp 0x508f4b
cmp esi, 0xc0
jne 0x508f51
add ebp, 2
xor ecx, ecx
xor esi, esi
jmp 0x508f73
mov ebp, dword [0x9672d0]
mov esi, dword [0x9672d4]
mov ecx, ebp
mov ebp, eax
jmp 0x508f73
mov ebp, dword [0x9672c0]
mov esi, dword [0x9672c4]
mov ecx, ebp
mov ebp, eax
test ecx, ecx
jne 0x5091fd
lea esi, [ebp + 2]
cmp edx, esi
jge 0x508f90
mov esi, dword [0x9672c0]
mov edi, dword [0x9672c4]
jmp 0x508f96
mov ebp, esi
xor edi, edi
xor esi, esi
test esi, esi
jne 0x509195
lea esi, [ebp + 2]
cmp edx, esi
jge 0x508fb3
mov esi, dword [0x9672c0]
mov edi, dword [0x9672c4]
jmp 0x508fb9
mov ebp, esi
xor edi, edi
xor esi, esi
test esi, esi
jne 0x50912d
lea esi, [ebp + 4]
cmp edx, esi
jge 0x508fd6
mov esi, dword [0x9672c0]
mov edi, dword [0x9672c4]
jmp 0x508fdc
mov ebp, esi
xor edi, edi
xor esi, esi
test esi, esi
jne 0x5090c5
lea esi, [ebp + 2]
cmp edx, esi
jge 0x508ffd
mov ecx, dword [0x9672c0]
mov ebx, dword [0x9672c4]
xor edi, edi
mov esi, ebp
jmp 0x50901c
cmp edx, ebp
jbe 0x50926e
lea edi, [ebp + 1]
cmp edx, edi
jbe 0x509265
movzx edi, word [ebx + ebp]
rol di, 8
xor ecx, ecx
xor ebx, ebx
test ecx, ecx
jne 0x50905d
movzx ecx, di
add ecx, esi
cmp edx, ecx
jge 0x509045
mov ecx, dword [0x9672f0]
mov edx, dword [0x9672f4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
add esp, 0x20
ret
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
add esp, 0x20
ret
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], ecx
lea eax, [0x70a980]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x73ae07]
mov dword [eax], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x50909d
mov ecx, dword [esp + 0x1c]
jmp 0x5090a8
call fcn.00468e60
mov ecx, dword [esp + 0x1c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
lea ecx, [0x7b0fe8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
add esp, 0x20
ret
mov dword [esp + 0x1c], edi
mov dword [esp + 0xc], esi
lea eax, [0x70a980]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 3
lea ecx, [0x73a71e]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x509105
mov ecx, dword [esp + 0x1c]
jmp 0x509110
call fcn.00468e60
mov ecx, dword [esp + 0x1c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
lea ecx, [0x7b0fe8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
add esp, 0x20
ret
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
lea eax, [0x70a980]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 5
lea ecx, [0x73ab34]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x50916d
mov ecx, dword [esp + 0x1c]
jmp 0x509178
call fcn.00468e60
mov ecx, dword [esp + 0x1c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
lea ecx, [0x7b0fe8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
add esp, 0x20
ret
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], esi
lea eax, [0x70a980]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x73a90e]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x5091d5
mov ecx, dword [esp + 0x1c]
jmp 0x5091e0
call fcn.00468e60
mov ecx, dword [esp + 0x1c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
lea ecx, [0x7b0fe8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
add esp, 0x20
ret
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ecx
lea eax, [0x70a980]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x73a90a]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x50923d
mov ecx, dword [esp + 0x18]
jmp 0x509248
call fcn.00468e60
mov ecx, dword [esp + 0x18]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
lea ecx, [0x7b0fe8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
add esp, 0x20
ret
mov eax, edi
mov ecx, edx
call fcn.00468ed0
mov eax, ebp
mov ecx, edx
call fcn.00468ed0
mov eax, ebp
mov ecx, edx
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.00508ee0