Function at 0x5f5330
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 0x5f578a
sub esp, 0x28
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
test edx, edx
jg 0x5f574a
mov edx, dword [eax + 0x14]
test edx, edx
je 0x5f5729
mov edx, dword [eax + 0x10]
cmp dword [edx + 0xcc], 1
jne 0x5f5729
mov dword [esp + 0x18], ecx
mov dword [esp], eax
call fcn.005f57a0
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f5715
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ecx
call fcn.004e91e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x2c]
mov dword [edx + 0x40], eax
mov eax, dword [0x995310]
test eax, eax
je 0x5f53c3
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [edx + 0x44]
mov dword [edi + 4], eax
mov dword [esp + 0x24], ecx
mov dword [edx + 0x44], ecx
mov eax, dword [edx + 0x10]
mov dword [esp + 0x20], eax
mov ebx, dword [edx + 0x40]
lea ebp, [0x6ff340]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.00409e40
lea eax, [0x7b1a64]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.0060dcd0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5f5701
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x14]
lea ebx, [0x967bf0]
cmp dword [ebx + 4], edx
je 0x5f5429
xor ecx, ecx
jmp 0x5f544d
mov eax, dword [0x967bf0]
mov ecx, dword [ecx + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004034e0
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x2c]
test cl, cl
je 0x5f54c6
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x5f5460
xor ecx, ecx
xor edx, edx
jmp 0x5f548c
movzx ecx, byte [eax + 0x39]
test cl, cl
je 0x5f546e
xor ecx, ecx
xor edx, edx
jmp 0x5f548c
mov byte [eax + 0x39], 1
mov ecx, dword [eax]
mov dword [esp], ecx
call fcn.005eafd0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x2c]
test ecx, ecx
jne 0x5f54ba
mov dword [esp], eax
call fcn.005f5b30
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f54a6
mov eax, dword [esp + 0x2c]
jmp 0x5f54c6
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
add esp, 0x28
ret
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x40]
mov ebx, dword [eax + 0x44]
mov dword [esp + 0x24], ebx
lea ebp, [0x6ff340]
mov dword [esp], ebp
mov dword [esp + 4], edx
call fcn.00409e40
lea eax, [0x7b1a7c]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.0060dcd0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5f56ed
mov eax, dword [esp + 0x18]
mov byte [eax + 0x1c4], 1
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
call fcn.005f6b90
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f56d9
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x5f5549
xor ecx, ecx
xor edx, edx
jmp 0x5f5575
movzx ecx, byte [eax + 0x39]
test cl, cl
je 0x5f5557
xor ecx, ecx
xor edx, edx
jmp 0x5f5575
mov byte [eax + 0x39], 1
mov ecx, dword [eax]
mov dword [esp], ecx
call fcn.005eafd0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x2c]
test ecx, ecx
jne 0x5f56cd
mov dword [esp], eax
call fcn.005f70e0
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f56b9
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.005f78c0
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f56a5
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.005f8010
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f5691
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.005f88c0
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f567d
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.005f8db0
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f5669
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.005f93a0
mov eax, dword [esp + 4]
test eax, eax
jne 0x5f5655
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.005ea420
mov eax, dword [esp + 8]
test eax, eax
je 0x5f5629
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 0x18]
add eax, 0x14
nop
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0046d790
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call fcn.005e9f50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
add esp, 0x28
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x46
call fcn.005e9f50
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2f
lea ecx, [0x74d265]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
add esp, 0x28
ret
call fcn.00467a60
jmp fcn.005f5330