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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x18]
cmp rax, qword [rcx + 0x18]
jbe 0x43f901
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx]
cmp rax, rcx
jne 0x43f8e6
mov ecx, dword [rsp + 0xa0]
lea edx, [rcx - 1]
test edx, ecx
jne 0x43f8cb
mov edx, ecx
mov qword [rsp], rdx
call fcn.00424bc0
mov rax, qword [rsp + 8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov rcx, rax
shl rax, 4
mov qword [rsp + 0x50], rax
mov edx, dword [0x008b4448]
test edx, edx
jne 0x43f7e4
mov edx, dword [rsp + 0xa0]
cmp edx, 0x8000
jae 0x43f6fb
mov ebx, edx
xor esi, esi
cmp edx, 0x2000
jbe 0x43f568
inc esi
shr edx, 1
cmp edx, 0x2000
ja 0x43f55c
mov byte [rsp + 0x1f], sil
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x30]
mov rdi, qword [rdx + 0x120]
mov qword [rsp + 0x68], rdi
test rdi, rdi
je 0x43f597
mov r8, qword [rdx + 0xc8]
test r8, r8
je 0x43f664
lea rdx, [0x008b4210]
mov qword [rsp], rdx
call fcn.0040d6a0
movzx eax, byte [rsp + 0x1f]
mov byte [rsp], al
call fcn.0043ede0
mov rax, qword [rsp + 8]
mov qword [rsp + 0x20], rax
lea rcx, [0x008b4210]
mov qword [rsp], rcx
call fcn.0040d8b0
mov rax, qword [rsp + 0x20]
mov ecx, dword [rsp + 0xa0]
mov ecx, ecx
mov rdx, qword [rsp + 0x50]
sub rcx, rdx
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x43f614
mov qword [rsp + 0x78], 0
lea rbx, [rcx + rax]
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rdx
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0xa8], rax
add rax, rcx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rdx
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov edx, dword [rdx + 0xe0]
test edx, edx
jne 0x43f597
movzx edx, sil
cmp rdx, 2
jae 0x43f6f4
shl rdx, 4
mov qword [rsp + 0x48], rdx
mov r8, qword [rdi + rdx + 0x240]
mov r9, r8
test r9, r9
je 0x43f6c1
mov rsi, r8
mov rsi, qword [rsi]
mov qword [rdi + rdx + 0x240], rsi
mov rsi, qword [rdi + rdx + 0x248]
mov r9d, ebx
sub rsi, r9
mov qword [rdi + rdx + 0x248], rsi
mov rax, r8
jmp 0x43f5d3
mov qword [rsp], rdi
mov byte [rsp + 8], sil
call fcn.0043f130
mov rdx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rdi + rdx + 0x240]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov ebx, dword [rsp + 0xa0]
jmp 0x43f695
call fcn.004293e0
ud2
mov ebx, edx
shr rbx, 0xd
mov qword [rsp + 0x40], rbx
mov qword [rsp], rbx
call fcn.0043edc0
mov rax, qword [rsp + 8]
mov qword [rsp + 0x38], rax
lea rcx, [0x008980e0]
mov qword [rsp], rcx
call fcn.0040d6a0
mov rax, qword [rsp + 0x38]
cmp rax, 0x16
jae 0x43f7dd
shl rax, 4
lea rcx, [0x008980e0]
mov rdx, qword [rcx + rax + 8]
mov qword [rsp + 0x70], rdx
lea rax, [rcx + rax + 8]
test rdx, rdx
jne 0x43f7c5
xor eax, eax
mov qword [rsp + 0x60], rax
lea rcx, [0x008980e0]
mov qword [rsp], rcx
call fcn.0040d8b0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x43f784
mov rcx, qword [rax + 0x18]
mov rax, rcx
jmp 0x43f5d3
lea rax, [0x0089ce60]
mov qword [rsp], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 8], rax
call fcn.00420e40
mov rax, qword [rsp + 0x10]
test rax, rax
je 0x43f7aa
jmp 0x43f778
lea rax, [0x006d1e2a]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call fcn.0042aea0
ud2
mov qword [rsp], rax
mov qword [rsp + 8], rdx
call fcn.00422340
mov rax, qword [rsp + 0x70]
jmp 0x43f759
call fcn.004293e0
ud2
mov edx, dword [rsp + 0xa0]
mov edx, edx
mov qword [rsp + 0x28], rdx
lea rbx, [rdx + 0x1fff]
and rbx, 0xffffffffffffe000
mov qword [rsp], rbx
lea rbx, [0x008b5f28]
mov qword [rsp + 8], rbx
call fcn.00413cb0
mov rax, qword [rsp + 0x10]
test rax, rax
je 0x43f8b0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x50]
sub rcx, rdx
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x43f860
mov qword [rsp + 0x78], 0
lea rbx, [rax + rcx]
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rdx
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0xa8], rax
add rax, rcx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rdx
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
lea rax, [0x006d6abe]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1a
call fcn.0042aea0
ud2
lea rax, [0x006d70cd]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1b
call fcn.0042aea0
ud2
lea rax, [0x006d934e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x21
call fcn.0042aea0
ud2
call fcn.004421a0
jmp fcn.0043f480