Function at 0x5f57a0
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 0x5f5b1f
sub esp, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
movzx edx, word [ecx + 0x54]
mov ebx, dword [eax]
test dx, dx
je 0x5f59d2
cmp dx, 0x304
jne 0x5f5992
cmp word [ecx + 0xc], 0x303
jne 0x5f5952
movzx edx, byte [ecx + 0x2b]
test dl, dl
jne 0x5f5912
movzx edx, byte [ecx + 0x2c]
test dl, dl
jne 0x5f5912
movzx edx, byte [ecx + 0x3c]
test dl, dl
jne 0x5f5912
movzx edx, byte [ecx + 0x2d]
test dl, dl
jne 0x5f5912
mov edx, dword [ecx + 0x34]
test edx, edx
jne 0x5f5912
mov edx, dword [ecx + 0x44]
test edx, edx
jne 0x5f5912
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x5f5912
mov edx, dword [eax + 0x10]
mov ebp, dword [edx + 0x20]
cmp dword [ecx + 0x20], ebp
jne 0x5f58d2
mov dword [esp + 0x10], ebx
mov eax, dword [edx + 0x1c]
mov ecx, dword [ecx + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004034e0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5f58ce
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x2a]
test dl, dl
jne 0x5f588a
mov edx, dword [eax + 0x10]
mov ebx, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
movzx ecx, word [ecx + 0x28]
xor ebp, ebp
jmp 0x5f5a13
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x33
lea ecx, [0x74e5dd]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
mov ebx, dword [esp + 0x10]
mov dword [esp], ebx
mov byte [esp + 4], 0x2f
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x74cd21]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x6e
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3d
lea ecx, [0x750528]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x2f
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2c
lea ecx, [0x74c151]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x2f
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x41
lea ecx, [0x750cc2]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x6d
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3b
lea ecx, [0x750001]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
inc ebp
cmp ebp, edx
jge 0x5f5a34
movzx esi, word [ebx + ebp*2]
cmp si, cx
jne 0x5f5a12
nop
mov ecx, dword [0x967b80]
mov edx, dword [0x967b84]
xor ebx, ebx
jmp 0x5f5b07
xor ecx, ecx
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x5f5a85
cmp ecx, edx
je 0x5f5a85
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3a
lea ecx, [0x74fdb9]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
test ecx, ecx
je 0x5f5ac2
mov edx, dword [0x995310]
test edx, edx
je 0x5f5aa0
call fcn.00468e70
mov dword [edi], ecx
mov edx, dword [eax + 0x3c]
mov dword [edi + 4], edx
mov dword [eax + 0x3c], ecx
movzx eax, word [ecx]
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x36], ax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
add esp, 0x14
ret
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x74ccc5]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
add esp, 0x14
ret
inc ebx
cmp ebx, edx
jge 0x5f5b16
mov ebp, dword [ecx + ebx*4]
cmp word [ebp], si
jne 0x5f5b06
jmp 0x5f5b18
xor ebp, ebp
mov ecx, ebp
jmp 0x5f5a36
call fcn.00467a60
jmp fcn.005f57a0