Function at 0x58c0d0
Capabilities:
Reference http user-agent string

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0xb8]
cmp rax, qword [rcx + 0x10]
jbe 0x58cd0e
sub rsp, 0x138
mov qword [rsp + 0x130], rbp
lea rbp, [rsp + 0x130]
lea rax, [0x006ac920]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0x140]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x10], rcx
lea rcx, [0x00662b00]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.00563620
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
test rax, rax
jne 0x58cc82
test rcx, rcx
jne 0x58cb90
mov rcx, qword [rsp + 0x118]
movzx ebx, byte [rcx + 0x10]
test bl, bl
je 0x58c1a1
mov rbx, qword [rcx + 8]
cmp rbx, 0x10
je 0x58c287
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
lea rax, [0x006d2b19]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 0x10
lea rax, [0x007e5800]
mov qword [rsp], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 8], rax
call fcn.0040cd80
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], rax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov rbx, qword [rcx]
test rbx, rbx
jne 0x58c1a1
mov rbx, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x28]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r14d, r14d
xor r15d, r15d
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x100], r8
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x90], r12
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r15
test rsi, rsi
jle 0x58cb28
lea rax, [0x006ac920]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x110], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x10], rcx
lea rcx, [0x00662b00]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.00563620
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x60], rdx
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0xf0], rbx
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0xe8], rsi
test rbx, rbx
jne 0x58ca78
mov rdi, qword [rsp + 0x110]
mov r8, qword [rdi + 8]
cmp r8, 1
je 0x58c8ec
cmp r8, 2
je 0x58c768
cmp r8, 7
jne 0x58c71b
mov r8, qword [rdi + 0x18]
mov qword [rsp + 0xe0], r8
mov r9, qword [rdi + 0x20]
mov qword [rsp + 0x78], r9
mov rdi, qword [rdi + 0x28]
mov qword [rsp + 0x70], rdi
cmp r9, 4
jne 0x58c5a1
mov r10, qword [rsp + 0x80]
lea r11, [r10 + 1]
mov r12, qword [rsp + 0x88]
cmp r11, r12
jg 0x58c521
mov r13, qword [rsp + 0xf8]
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x80], r12
lea r10, [r10 + r10*2]
mov qword [r13 + r10*8 + 8], r9
mov qword [r13 + r10*8 + 0x10], rdi
mov edi, dword [0x008b4340]
lea r9, [r13 + r10*8]
test edi, edi
jne 0x58c4d4
mov qword [r13 + r10*8], r8
mov rdi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x100]
mov r14, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa8]
mov rsi, rcx
mov rcx, rdx
mov rbx, rax
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rbx
mov rbx, r8
mov r8, r10
mov r10, r9
mov r9, r15
mov r15, r11
mov r11, r14
mov r14, r12
mov r12, rbx
mov rbx, qword [rsp + 0x68]
jmp 0x58c2b9
mov qword [rsp], r9
mov qword [rsp + 8], r8
call fcn.00410240
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
mov r11, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov r13, qword [rsp + 0xd8]
jmp 0x58c464
lea r13, [0x006bb500]
mov qword [rsp], r13
mov r13, qword [rsp + 0xf8]
mov qword [rsp + 8], r13
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x18], r12
mov qword [rsp + 0x20], r11
call fcn.0043e790
mov r13, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
lea r11, [rax + 1]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
jmp 0x58c42a
cmp r9, 0x10
jne 0x58c5ac
jmp 0x58c405
mov qword [rsp], r9
call fcn.00492d90
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006dcf8f]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x31
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.004424a0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x50], rcx
lea rdx, [0x0068d4a0]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x58c6f8
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x158], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x160], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x168], rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x170], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x178], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x188], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x198], rcx
lea rcx, [0x007e49c0]
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], rax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov qword [rsp], rax
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xd0]
jmp 0x58c641
mov r11, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x108]
mov r13, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x100]
mov r14, qword [rsp + 0x98]
mov r12, qword [rsp + 0x88]
mov r15, qword [rsp + 0xa8]
jmp 0x58c494
mov r8, qword [rdi + 0x18]
mov r9, qword [rdi + 0x20]
mov rdi, qword [rdi + 0x28]
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], r9
mov qword [rsp + 0x18], rdi
mov qword [rsp], 0
call fcn.004426a0
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0xa8]
lea rbx, [rdx + 1]
mov rsi, qword [rsp + 0x98]
cmp rbx, rsi
jg 0x58c893
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x98], rsi
shl rdx, 4
mov qword [rdi + rdx + 8], rcx
lea rcx, [rdi + rdx]
mov r8d, dword [0x008b4340]
test r8d, r8d
jne 0x58c868
mov qword [rdi + rdx], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
mov r11, qword [rsp + 0x80]
mov r13, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x100]
mov r14, qword [rsp + 0x98]
mov r12, qword [rsp + 0x88]
mov r15, qword [rsp + 0xa8]
jmp 0x58c494
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xc0]
jmp 0x58c801
lea rdi, [0x0066fb00]
mov qword [rsp], rdi
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
call fcn.0043e790
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
lea rbx, [rax + 1]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xa8]
jmp 0x58c7cc
mov r8, qword [rdi + 0x18]
mov r9, qword [rdi + 0x20]
mov rdi, qword [rdi + 0x28]
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], r9
mov qword [rsp + 0x18], rdi
mov qword [rsp], 0
call fcn.004426a0
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0xa0]
lea rbx, [rdx + 1]
mov rsi, qword [rsp + 0x90]
cmp rbx, rsi
jg 0x58ca1f
mov rdi, qword [rsp + 0x100]
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x90], rsi
shl rdx, 4
mov qword [rdi + rdx + 8], rcx
lea rcx, [rdi + rdx]
mov r8d, dword [0x008b4340]
test r8d, r8d
jne 0x58c9f4
mov qword [rdi + rdx], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
mov r11, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x108]
mov r13, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x98]
mov r12, qword [rsp + 0x88]
mov r15, qword [rsp + 0xa8]
jmp 0x58c494
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00410240
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xc0]
jmp 0x58c985
lea rdi, [0x0066fb00]
mov qword [rsp], rdi
mov rdi, qword [rsp + 0x100]
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
call fcn.0043e790
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
lea rbx, [rax + 1]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xa0]
jmp 0x58c950
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], rsi
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x160], r9
mov qword [rsp + 0x168], r11
mov qword [rsp + 0x170], r8
mov qword [rsp + 0x178], r10
mov qword [rsp + 0x180], r12
mov qword [rsp + 0x188], r13
mov qword [rsp + 0x190], r15
mov qword [rsp + 0x198], r14
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rdx
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xd0], rax
mov qword [rax + 8], 0x29
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x58cc60
lea rcx, [0x006db497]
mov qword [rax], rcx
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], rax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov qword [rsp], rax
lea rcx, [0x006db497]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xd0]
jmp 0x58cbcd
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rdx
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
call fcn.00452210
jmp fcn.0058c0d0