Function at 0x5a5a80
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 0x5a5ee0
sub esp, 0x50
mov byte [esp + 0x1b], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
lea eax, [esp + 0x1b]
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x60]
mov byte [esp + 0xc], al
call fcn.005a5980
movzx eax, byte [esp + 0x10]
test al, al
je 0x5a5ea6
movzx eax, byte [esp + 0x1b]
test al, al
jne 0x5a5e67
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5a5eaf
mov eax, dword [eax + 8]
cmp eax, 0x62de383d
ja 0x5a5cec
cmp eax, 0x43cfbb1f
ja 0x5a5b72
cmp eax, 0x2e74d42b
jne 0x5a5b32
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3280]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0x338a7ec0
jne 0x5a5b50
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3340]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0x43cfbb1f
jne 0x5a5eaf
mov eax, dword [esp + 0x58]
lea ecx, [0x6e9a00]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0x49163278
jne 0x5a5b90
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3600]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0x5051f1be
jne 0x5a5cca
mov eax, dword [esp + 0x58]
lea ecx, [0x739320]
cmp eax, ecx
jne 0x5a5eaf
mov eax, dword [esp + 0x64]
cmp eax, ecx
jne 0x5a5ec7
nop
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
je 0x5a5e5e
mov edx, dword [ecx + 0xc]
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 4]
cmp edx, ebx
jl 0x5a5be1
mov esi, dword [ecx + 4]
mov edi, ebx
jmp 0x5a5c63
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ebp
cmp ebx, 1
jne 0x5a5c2c
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e560
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
mov ebx, 1
mov edx, 1
jmp 0x5a5c63
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 8], eax
call fcn.0044e560
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
mov ebx, edi
mov edx, dword [esp + 0x1c]
cmp ebx, edi
jg 0x5a5c69
mov edi, ebx
cmp esi, ebp
je 0x5a5ca0
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], esi
mov dword [esp], esi
mov dword [esp + 4], ebp
shl edi, 2
mov dword [esp + 8], edi
call fcn.004697f0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], edx
mov edx, dword [0x995310]
test edx, edx
je 0x5a5cbd
call fcn.00468e70
mov dword [edi], esi
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], esi
movzx eax, byte [eax]
mov byte [ecx], al
jmp 0x5a5e5e
cmp eax, 0x62de383d
jne 0x5a5eaf
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3240]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0xba585d67
ja 0x5a5d49
cmp eax, 0x6e78e923
jne 0x5a5d11
mov eax, dword [esp + 0x58]
lea ecx, [0x6e33c0]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0x889ce7f8
jne 0x5a5d2b
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3740]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0xba585d67
jne 0x5a5eaf
mov eax, dword [esp + 0x58]
lea ecx, [0x6e31c0]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0xc3230e0b
jne 0x5a5d63
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3200]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0xd6631a7c
jne 0x5a5d7d
mov eax, dword [esp + 0x58]
lea ecx, [0x6e32c0]
cmp eax, ecx
je 0x5a5d9a
jmp 0x5a5eaf
cmp eax, 0xf3b50de0
jne 0x5a5eaf
mov eax, dword [esp + 0x58]
lea ecx, [0x6e3380]
cmp eax, ecx
jne 0x5a5eaf
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5a5dd9
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5a5dd1
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x5a5dcb
or ecx, 0x80
mov edx, dword [esp + 0x40]
jmp 0x5a5ddf
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x5a5ddf
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004ba8b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x64]
test ebx, ebx
je 0x5a5e3c
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x5a5e34
movzx ebp, byte [ebx + 0xf]
nop
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x5a5e2e
or ebp, 0x80
mov esi, dword [esp + 0x38]
jmp 0x5a5e42
xor ebp, ebp
xor ebx, ebx
xor esi, esi
jmp 0x5a5e42
xor ebp, ebp
xor ebx, ebx
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
call fcn.004bc070
mov byte [esp + 0x6c], 1
add esp, 0x50
ret
lea eax, [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.005a4430
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a5e9d
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x5a5e9d
mov byte [esp + 0x6c], 1
add esp, 0x50
ret
mov byte [esp + 0x6c], 0
add esp, 0x50
ret
mov byte [esp + 0x6c], 0
add esp, 0x50
ret
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0950]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0948]
mov dword [esp + 4], eax
call fcn.00438b10
nop
call fcn.00467a60
jmp fcn.005a5a80