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

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x5d513d
sub rsp, 0x140
mov qword [rsp + 0x138], rbp
lea rbp, [rsp + 0x138]
mov rcx, qword [rax + 0x48]
cmp qword [rcx + 0x88], 0
jne 0x5d439e
cmp byte [rcx + 0xa0], 0
nop
jne 0x5d439e
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x50
lea rcx, [0x006de4f1]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, qword [rcx + 0x68]
mov rsi, qword [rcx + 0x70]
xor ebx, ebx
xor edi, edi
jmp 0x5d43c0
add r8, 0x10
inc rbx
lea rdi, [rdi + rdx]
lea rdi, [rdi + 1]
mov rdx, r8
nop
cmp rbx, rsi
jge 0x5d4420
mov r8, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x5d43da
cmp rdx, 0xff
jle 0x5d43ac
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x1d
lea rcx, [0x006d3530]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
cmp rdi, 0xffff
jg 0x5d4939
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x100], rcx
mov rax, rcx
mov ebx, 1
call fcn.005ca560
test rbx, rbx
je 0x5d48fd
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x80], rbx
mov rax, qword [rsp + 0x100]
mov ebx, 1
call fcn.005ca560
nop dword [rax]
test rbx, rbx
jne 0x5d4489
xor edx, edx
jmp 0x5d448c
movzx edx, word [rax]
mov word [rsp + 0x40], dx
lea rax, [0x006796c0]
mov ebx, 0x20
mov rcx, rbx
call fcn.0044a840
mov qword [rsp + 0x130], rax
mov ebx, 0x20
mov rcx, rbx
lea rax, [0x006796c0]
nop dword [rax]
call fcn.0044a840
mov qword [rsp + 0x128], rax
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x80]
mov rbx, qword [rdx + 0x88]
mov rax, rsi
call fcn.005da100
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xa8], rbx
movzx edx, word [rsp + 0x40]
cmp dx, 0x303
mov esi, 0x303
cmova dx, si
mov word [rsp + 0x46], dx
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsi + 0x108]
mov r8, qword [rsi + 0x110]
mov r9, qword [rsi + 0x100]
test rdi, rdi
jne 0x5d454a
mov r9, qword [0x008cb1e0]
mov rdi, qword [0x008cb1e8]
mov r8, qword [0x008cb1f0]
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x58], rdi
lea rax, [0x006c2820]
call fcn.0040d960
mov qword [rsp + 0xf8], rax
movzx ecx, word [rsp + 0x46]
mov word [rax + 0x18], cx
lea rax, [0x0067ab00]
call fcn.0040d960
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0x70], 1
mov qword [rdi + 0x78], 1
cmp dword [0x0092b0b0], 0
jne 0x5d45ac
mov qword [rdi + 0x68], rax
jmp 0x5d45be
lea rcx, [rdi + 0x68]
mov rdx, rdi
mov rdi, rcx
call fcn.00465900
mov rdi, rdx
mov qword [rdi + 0x28], 0x20
mov qword [rdi + 0x30], 0x20
cmp dword [0x0092b0b0], 0
jne 0x5d45e5
mov rcx, qword [rsp + 0x130]
mov qword [rdi + 0x20], rcx
jmp 0x5d45ff
lea rcx, [rdi + 0x20]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x130]
call fcn.00465a20
mov rdi, rax
mov qword [rdi + 0x40], 0x20
mov qword [rdi + 0x48], 0x20
cmp dword [0x0092b0b0], 0
jne 0x5d4626
mov rcx, qword [rsp + 0x128]
mov qword [rdi + 0x38], rcx
jmp 0x5d4640
lea rcx, [rdi + 0x38]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x128]
call fcn.00465a20
mov rdi, rax
mov byte [rdi + 0x90], 1
mov byte [rdi + 0x150], 1
mov rcx, qword [rsp + 0xa8]
mov qword [rdi + 0x88], rcx
cmp dword [0x0092b0b0], 0
jne 0x5d4677
mov rcx, qword [rsp + 0x120]
mov qword [rdi + 0x80], rcx
jmp 0x5d4694
lea rcx, [rdi + 0x80]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x120]
call fcn.00465a20
mov rdi, rax
mov rcx, qword [rsp + 0x58]
mov qword [rdi + 0xa0], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rdi + 0xa8], rcx
cmp dword [0x0092b0b0], 0
jne 0x5d46c6
mov rcx, qword [rsp + 0xc0]
mov qword [rdi + 0x98], rcx
jmp 0x5d46dd
lea rcx, [rdi + 0x98]
mov rdi, rcx
mov rdx, qword [rsp + 0xc0]
call fcn.00465a20
lea rax, [0x0067ab00]
call fcn.0040d960
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0xb8], 1
mov qword [rdi + 0xc0], 1
cmp dword [0x0092b0b0], 0
jne 0x5d4719
mov qword [rdi + 0xb0], rax
jmp 0x5d472e
lea rdx, [rdi + 0xb0]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
mov rdi, rcx
mov byte [rdi + 0x118], 1
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x68]
mov r8, qword [rdx + 0x70]
mov r9, qword [rdx + 0x78]
mov qword [rdi + 0x140], r8
mov qword [rdi + 0x148], r9
cmp dword [0x0092b0b0], 0
nop
jne 0x5d476b
mov qword [rdi + 0x138], rsi
jmp 0x5d4780
lea r8, [rdi + 0x138]
mov rax, rdi
mov rdi, r8
call fcn.00465a60
mov rdi, rax
mov rsi, qword [rsp + 0x80]
mov qword [rdi + 0x160], rsi
mov rsi, qword [rsp + 0x88]
mov qword [rdi + 0x168], rsi
cmp dword [0x0092b0b0], 0
jne 0x5d47b8
mov rsi, qword [rsp + 0xd8]
mov qword [rdi + 0x158], rsi
jmp 0x5d47d5
lea rsi, [rdi + 0x158]
mov rax, rdi
mov rdi, rsi
mov r8, qword [rsp + 0xd8]
call fcn.00465a80
mov rdi, rax
mov rsi, qword [rsp + 0x148]
cmp qword [rsi + 0x50], 0
jle 0x5d4828
mov qword [rdi + 0x128], 0xc
mov qword [rdi + 0x130], 0xc
add rsi, 0x141
cmp dword [0x0092b0b0], 0
jne 0x5d4813
mov qword [rdi + 0x120], rsi
jmp 0x5d4828
lea r8, [rdi + 0x120]
mov rax, rdi
mov rdi, r8
call fcn.00465a60
mov rdi, rax
mov rsi, qword [0x008cb120]
mov r8, qword [0x008cb128]
cmp byte [0x0092ac05], 0
jne 0x5d484d
mov rsi, qword [0x008cb140]
mov r8, qword [0x008cb148]
mov qword [rsp + 0x90], r8
mov qword [rsp + 0xe0], rsi
mov r9, qword [rdx + 0xa8]
mov r10, qword [rdx + 0xb0]
test r9, r9
jne 0x5d487e
mov r9, qword [0x008d6130]
mov r10, qword [0x008d6138]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0xb8], r9
lea rax, [0x00679600]
xor ebx, ebx
mov rcx, r10
call fcn.0044a840
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0x58], 0
mov rdx, qword [rsp + 0x50]
mov qword [rdi + 0x60], rdx
lea rsi, [rdi + 0x50]
cmp dword [0x0092b0b0], 0
jne 0x5d48c8
mov qword [rdi + 0x50], rax
jmp 0x5d48d6
mov rcx, rdi
mov rdi, rsi
call fcn.00465900
mov rdi, rcx
mov qword [rsp + 0x118], rsi
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
xor eax, eax
jmp 0x5d4980
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x3c
lea rcx, [0x006dcd92]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x20
lea rcx, [0x006d4c1a]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
inc rax
nop dword [rax + rax]
cmp rax, r9
jge 0x5d4a85
movzx r12d, word [r10 + rax*2]
xor ecx, ecx
jmp 0x5d50f2
nop
mov r15, qword [0x008cb100]
mov rcx, r11
mov r11, qword [0x008cb108]
xor ebx, ebx
jmp 0x5d5111
xor ecx, ecx
test rcx, rcx
je 0x5d4975
cmp word [rdi + 0x18], 0x303
jae 0x5d49c8
mov r13, qword [rcx + 0x28]
bt r13d, 2
jb 0x5d4975
mov rbx, qword [rdi + 0x58]
inc rbx
mov r13, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x60]
nop word [rax + rax]
cmp rcx, rbx
jae 0x5d4a76
mov qword [rsp + 0xa8], rax
mov word [rsp + 0x42], r12w
mov rax, r13
mov edi, 1
lea rsi, [0x00679600]
call fcn.0044a920
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0x60], rcx
cmp dword [0x0092b0b0], 0
nop
jne 0x5d4a30
mov qword [rdx + 0x50], rax
mov rdi, qword [rsp + 0x118]
jmp 0x5d4a3d
mov rdi, qword [rsp + 0x118]
call fcn.00465900
mov rdx, qword [rsp + 0x50]
mov rsi, rdi
mov rdi, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
movzx r12d, word [rsp + 0x42]
mov r13, rax
mov rax, qword [rsp + 0xa8]
mov qword [rdi + 0x58], rbx
mov word [r13 + rbx*2 - 2], r12w
jmp 0x5d4975
mov rdx, qword [rsp + 0x100]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
test r9, r9
jne 0x5d4aa7
mov r9, qword [0x008d53e0]
mov r10, qword [0x008d53e8]
mov r8, qword [rdi + 0x28]
mov rcx, qword [rdi + 0x20]
mov rsi, qword [rdi + 0x30]
mov rax, r9
mov rbx, r10
mov rdi, r8
nop dword [rax]
call fcn.00470440
test rbx, rbx
jne 0x5d5052
mov rdx, qword [rsp + 0x100]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
nop dword [rax]
test r9, r9
jne 0x5d4af3
mov r9, qword [0x008d53e0]
mov r10, qword [0x008d53e8]
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x48]
mov rax, r9
mov rbx, r10
mov rdi, r8
call fcn.00470440
test rbx, rbx
jne 0x5d4fc6
mov rax, qword [rsp + 0xf8]
cmp word [rax + 0x18], 0x303
jb 0x5d4b6f
mov rdx, qword [0x008cb200]
mov r8, qword [0x008cb208]
mov r9, qword [0x008cb210]
mov qword [rax + 0xf0], r8
mov qword [rax + 0xf8], r9
cmp dword [0x0092b0b0], 0
jne 0x5d4b63
mov qword [rax + 0xe8], rdx
jmp 0x5d4b6f
lea rdi, [rax + 0xe8]
call fcn.00465a20
mov rdx, qword [0x008d6150]
mov r8, qword [0x008d6158]
mov r9, qword [0x008d6160]
test rdx, rdx
je 0x5d4bb7
mov qword [rax + 0xf0], r8
mov qword [rax + 0xf8], r9
cmp dword [0x0092b0b0], 0
nop
jne 0x5d4bab
mov qword [rax + 0xe8], rdx
jmp 0x5d4bb7
lea rdi, [rax + 0xe8]
call fcn.00465a20
mov rdx, qword [rax + 0x158]
cmp qword [rax + 0x160], 0
jbe 0x5d50e5
cmp word [rdx], 0x304
jne 0x5d4fad
cmp byte [0x0092ac05], 0
nop
je 0x5d4cbf
mov rdi, qword [0x008cb1a8]
mov rdx, qword [rax + 0x58]
lea rbx, [rdi + rdx]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rax + 0x50]
nop dword [rax]
cmp rcx, rbx
jb 0x5d4c0a
mov rsi, rbx
jmp 0x5d4c30
mov qword [rsp + 0xa0], rbx
mov rax, rdx
lea rsi, [0x00679600]
nop dword [rax]
call fcn.0044a920
mov rsi, qword [rsp + 0xa0]
mov rdx, rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0xa0], rcx
mov rdi, qword [0x008cb1a8]
sub rsi, rdi
lea rax, [rdx + rsi*2]
mov rsi, qword [0x008cb1a0]
shl rdi, 1
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xf8]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsi + 0x60], rdx
cmp dword [0x0092b0b0], 0
jne 0x5d4ca5
mov rdx, qword [rsp + 0x110]
mov qword [rsi + 0x50], rdx
jmp 0x5d4d8b
mov rdi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
call fcn.00465a20
jmp 0x5d4d8b
mov rdi, qword [0x008cb1c8]
mov rdx, qword [rax + 0x58]
lea rbx, [rdi + rdx]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rax + 0x50]
cmp rcx, rbx
jb 0x5d4ce2
mov rsi, rbx
nop
jmp 0x5d4d04
mov qword [rsp + 0xa0], rbx
mov rax, rdx
lea rsi, [0x00679600]
call fcn.0044a920
mov rsi, qword [rsp + 0xa0]
mov rdx, rax
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x110], rdx
mov rdi, qword [0x008cb1c8]
sub rsi, rdi
mov r8, qword [0x008cb1c0]
lea rax, [rdx + rsi*2]
shl rdi, 1
mov rbx, r8
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xf8]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsi + 0x60], rdx
cmp dword [0x0092b0b0], 0
jne 0x5d4d76
mov rdx, qword [rsp + 0x110]
mov qword [rsi + 0x50], rdx
jmp 0x5d4d8b
mov rdi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
call fcn.00465a20
mov rdx, qword [rsp + 0x100]
mov rdi, qword [rdx + 0x108]
mov r8, qword [rdx + 0x100]
test rdi, rdi
jne 0x5d4db4
mov r8, qword [0x008cb1e0]
mov rdi, qword [0x008cb1e8]
test rdi, rdi
jbe 0x5d50da
movzx ecx, word [r8]
nop
cmp cx, 0x18
ja 0x5d4dd9
cmp cx, 0x17
je 0x5d4dea
cmp cx, 0x18
je 0x5d4dea
jmp 0x5d4f71
cmp cx, 0x19
je 0x5d4dea
nop
cmp cx, 0x1d
jne 0x5d4f71
mov rdi, qword [rdx]
mov rdx, qword [rdx + 8]
test rdi, rdi
jne 0x5d4e04
mov rdi, qword [0x008d53e0]
mov rdx, qword [0x008d53e8]
mov word [rsp + 0x44], cx
mov rax, rdi
mov rbx, rdx
call fcn.005f57a0
test rbx, rbx
jne 0x5d4f57
mov qword [rsp + 0xe8], rax
call fcn.0056dbc0
mov qword [rsp + 0xf0], rax
lea rax, [0x00679e40]
call fcn.0040d960
mov rcx, qword [rsp + 0xf0]
mov rdi, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
cmp rdi, 0x85
ja 0x5d4e62
mov rcx, rdi
mov edx, 0x85
nop
jmp 0x5d4e9c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x108], rbx
mov rbx, rdi
mov ecx, 0x85
lea rsi, [0x006796c0]
call fcn.0044a920
mov rdi, rbx
mov rdx, rcx
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], rdx
call fcn.00466740
lea rax, [0x0067a680]
call fcn.0040d960
movzx edx, word [rsp + 0x44]
mov word [rax], dx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x18], rdx
cmp dword [0x0092b0b0], 0
jne 0x5d4ef0
mov rdx, qword [rsp + 0xb0]
mov qword [rax + 8], rdx
jmp 0x5d4f05
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0xb0]
nop dword [rax]
call fcn.00465a20
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0x190], 1
mov qword [rdi + 0x198], 1
cmp dword [0x0092b0b0], 0
jne 0x5d4f35
mov qword [rdi + 0x188], rax
jmp 0x5d4f4a
lea rdx, [rdi + 0x188]
mov rcx, rdi
mov rdi, rdx
call fcn.00465900
mov rdi, rcx
mov rax, rdi
mov rcx, qword [rsp + 0xe8]
jmp 0x5d4faf
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x30
lea rcx, [0x006da938]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
xor ecx, ecx
mov rbx, rcx
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006d256b]
call fcn.0044e760
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x70], rbx
lea rax, [0x00690f40]
nop dword [rax]
call fcn.0040d960
mov rcx, qword [rsp + 0x70]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x5d5024
mov rdx, qword [rsp + 0xc8]
mov qword [rax], rdx
jmp 0x5d5034
mov rdi, rax
mov rdx, qword [rsp + 0xc8]
call fcn.00465a20
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006d256b]
call fcn.0044e760
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x00690f40]
call fcn.0040d960
mov rcx, qword [rsp + 0x78]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x5d50ac
mov rdx, qword [rsp + 0xd0]
mov qword [rax], rdx
jmp 0x5d50bc
mov rdi, rax
mov rdx, qword [rsp + 0xd0]
call fcn.00465a20
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
xor eax, eax
mov rcx, rax
nop
call fcn.00465da0
xor eax, eax
mov rcx, rax
call fcn.00465da0
inc rcx
cmp rcx, rdx
jge 0x5d49ae
movzx r13d, word [r11 + rcx*2]
cmp r13w, r12w
jne 0x5d50ef
jmp 0x5d4995
inc rbx
mov r12d, r8d
cmp rbx, r11
jge 0x5d5129
mov r8d, r12d
mov r12, qword [r15 + rbx*8]
nop dword [rax]
cmp word [r12], r13w
jne 0x5d510b
jmp 0x5d512f
mov r8d, r12d
xor r12d, r12d
mov r11, rcx
mov rcx, r12
mov r12d, r8d
jmp 0x5d49b0
mov qword [rsp + 8], rax
call fcn.00463740
mov rax, qword [rsp + 8]
jmp fcn.005d4320