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

Disassembly:
lea r12, [rsp - 0x88]
cmp r12, qword [r14 + 0x10]
jbe 0x43f866
push rbp
mov rbp, rsp
sub rsp, 0x100
mov rcx, qword [r14 + 0x30]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rcx + 0xa0]
mov dl, byte [0x008cdb68]
test dl, dl
je 0x43ebe9
call fcn.0043e940
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
mov qword [rsp + 0xf8], rax
test byte [rax], al
cmp dword [rax + 0x2278], 0
je 0x43ec0d
nop dword [rax]
call fcn.0043cf00
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
call fcn.00440720
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rax
cmp byte [0x008d3208], 0
jne 0x43ec30
cmp byte [0x008d3209], 0
je 0x43ec48
call fcn.00455f20
test rax, rax
jne 0x43f4e4
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
cmp dword [0x009210e0], 0
je 0x43ec79
mov rbx, qword [rsp + 0xf8]
mov rcx, rax
lea rax, [0x00921fc0]
call fcn.00421040
test rax, rax
jne 0x43f4d4
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0xf8]
mov esi, dword [rdx + 0x10]
imul esi, esi, 0xc10c9715
cmp esi, 0x4325c53
ja 0x43ecfe
cmp dword [0x008cdaf8], 0
nop
jle 0x43ecfe
nop
nop
lea rax, [0x008cda98]
call fcn.0040b580
mov rax, qword [rsp + 0xf8]
mov ebx, 1
nop dword [rax]
call fcn.00445bc0
mov qword [rsp + 0xe0], rax
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rax, qword [rsp + 0xe0]
test rax, rax
jne 0x43f4c7
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x50]
mov esi, dword [0x009210d8]
and esi, 0xc
cmp esi, 0xc
jne 0x43ed65
mov rcx, rax
mov eax, 0xd
lea rsi, [0x009210d8]
mov edi, 1
lock cmpxchg dword [rsi], edi
sete sil
test sil, sil
je 0x43ed36
mov rsi, qword [0x008cbd50]
jmp 0x43ed38
xor esi, esi
test rsi, rsi
je 0x43ed6d
mov rax, rsi
xor ebx, ebx
mov ecx, 1
call fcn.0043aee0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x50]
mov edi, 1
jmp 0x43ed6d
mov rcx, rax
mov edi, 1
mov rsi, qword [0x008bd648]
mov rsi, qword [rsi]
test rsi, rsi
je 0x43edb7
mov qword [rsp], rsi
mov qword [rsp + 8], 0
call fcn.00466160
xorps xmm15, xmm15
mov r14, qword [0x00921328]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x50]
mov edi, 1
mov rax, qword [rdx + 0x998]
nop
test rax, rax
je 0x43ede2
mov qword [rsp + 0x60], rax
xor esi, esi
lock cmpxchg qword [rdx + 0x998], rsi
sete r8b
mov rax, qword [rsp + 0x60]
nop
jmp 0x43ede5
xor r8d, r8d
test r8b, r8b
je 0x43f522
nop
mov esi, 1
jmp 0x43ee01
mov rax, rsi
xor esi, esi
jmp 0x43ee01
xor eax, eax
xor esi, esi
test rax, rax
jne 0x43f5df
cmp dword [0x008cdaf8], 0
je 0x43ee72
nop
nop
lea rax, [0x008cda98]
nop dword [rax]
call fcn.0040b580
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
call fcn.00445bc0
mov qword [rsp + 0xd8], rax
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rax, qword [rsp + 0xd8]
test rax, rax
jne 0x43f5d2
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x50]
mov edi, 1
mov esi, dword [0x009210ec]
test esi, esi
je 0x43ee9a
mov esi, dword [0x009210f0]
test esi, esi
jbe 0x43ee96
mov rsi, qword [0x008cda88]
test rsi, rsi
setne sil
jmp 0x43eea0
xor esi, esi
jmp 0x43eea0
xor esi, esi
nop dword [rax]
test sil, sil
je 0x43eed1
xor eax, eax
call fcn.00431760
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x43f567
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x50]
mov edi, 1
mov rsi, qword [rsp + 0xb8]
cmp byte [rsi + 0xe4], 0
je 0x43eeea
mov r8d, 1
jmp 0x43ef0c
mov r8d, dword [0x008cdadc]
shl r8d, 1
mov r9d, dword [0x008cdad8]
mov r10d, dword [0x0092111c]
sub r10d, r9d
cmp r8d, r10d
setl r8b
test r8b, r8b
je 0x43efa2
cmp byte [rsi + 0xe4], 0
jne 0x43ef47
nop
mov byte [rsi + 0xe4], 1
nop
mov r8d, 1
lea r9, [0x008cdadc]
lock xadd dword [r9], r8d
nop
xor r8d, r8d
lea r9, [0x008cdae0]
xchg dword [r9], r8d
mov rax, rcx
call fcn.0043f960
test rax, rax
jne 0x43f55c
test sil, sil
je 0x43ef6a
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
test rdi, rdi
je 0x43ef82
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x43ef8a
cmp rdi, rdx
jl 0x43ef8a
nop
jmp 0x43ef87
mov rdx, qword [rsp + 0x50]
mov rdi, rdx
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xb8]
mov rbx, rdi
mov edi, 1
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
cmp dword [0x009210e0], 0
je 0x43f046
mov r8, qword [rdx + 0x1240]
test r8, r8
je 0x43efe2
cmp qword [r8 + 0x10], 0
jne 0x43efda
mov r8, qword [rdx + 0x1248]
cmp qword [r8 + 0x10], 0
je 0x43efe2
mov eax, 1
nop
jmp 0x43f00e
mov r8, qword [0x008cd440]
test r8, r8
jne 0x43f009
mov r8d, dword [0x008cd508]
cmp dword [0x008cd50c], r8d
jbe 0x43f005
mov eax, 1
jmp 0x43f00e
xor eax, eax
jmp 0x43f00e
mov eax, 1
test al, al
jne 0x43f016
xor eax, eax
jmp 0x43f048
lea rax, [0x00921fc0]
nop dword [rax]
call fcn.00421a20
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xb8]
mov edi, 1
jmp 0x43f048
xor eax, eax
test al, al
je 0x43f052
nop
jmp 0x43f7bf
mov rcx, qword [0x008cc590]
mov qword [rsp + 0xf0], rcx
mov rdx, qword [0x008cc598]
mov qword [rsp + 0x88], rdx
mov rbx, qword [0x008cc5a0]
mov qword [rsp + 0x90], rbx
mov rsi, qword [0x008cc5b0]
mov qword [rsp + 0xc0], rsi
mov rdi, qword [0x008cc5b8]
mov qword [rsp + 0x78], rdi
mov r8, qword [0x008cc5c0]
mov qword [rsp + 0x80], r8
mov r9, qword [0x008cc5d0]
mov qword [rsp + 0xa0], r9
mov r10, qword [0x008cc5d8]
mov qword [rsp + 0x40], r10
mov r11, qword [0x008cc5e0]
mov qword [rsp + 0x48], r11
nop
nop
lea rax, [0x008cda98]
call fcn.0040b580
mov cl, byte [0x008cdb68]
test cl, cl
jne 0x43f0f9
mov rax, qword [rsp + 0xf8]
cmp dword [rax + 0x2278], 0
je 0x43f114
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
cmp dword [0x008cdaf8], 0
nop dword [rax + rax]
jne 0x43f749
mov rcx, qword [rsp + 0xb8]
cmp byte [rcx + 0xe4], 0
je 0x43f13b
xor edx, edx
jmp 0x43f147
mov edx, dword [0x008cdae0]
cmp edx, 1
sete dl
test dl, dl
je 0x43f18b
nop
mov byte [rcx + 0xe4], 1
nop
mov edx, 1
lea rbx, [0x008cdadc]
lock xadd dword [rbx], edx
nop
xor edx, edx
lea rbx, [0x008cdae0]
xchg dword [rbx], edx
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
call fcn.00444260
mov rcx, qword [rsp + 0xf8]
nop dword [rax + rax]
cmp rax, rcx
jne 0x43f7ae
mov rax, rcx
mov rbx, qword [rsp + 0x58]
call fcn.00445de0
mov qword [rsp + 0x58], rax
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rcx, qword [rsp + 0xb8]
movzx edx, byte [rcx + 0xe4]
mov byte [rsp + 0x3f], dl
nop dword [rax]
test dl, dl
je 0x43f2d4
mov byte [rcx + 0xe4], 0
mov r9d, 0xffffffff
lea r10, [0x008cdadc]
lock xadd dword [r10], r9d
dec r9d
test r9d, r9d
jl 0x43f79d
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
call fcn.0043fd20
nop
test rax, rax
je 0x43f27c
call fcn.004440c0
nop
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 0xe4], 1
nop
mov edx, 1
lea rbx, [0x008cdadc]
lock xadd dword [rbx], edx
nop
xor edx, edx
lea rbx, [0x008cdae0]
xchg dword [rbx], edx
jmp 0x43ebc9
nop dword [rax]
call fcn.0043ff00
test rax, rax
jne 0x43f5ec
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
nop dword [rax]
call fcn.0043fe60
mov rcx, qword [rsp + 0xb8]
movzx edx, byte [rsp + 0x3f]
jmp 0x43f2d9
mov rax, qword [rsp + 0x50]
mov esi, dword [0x009210ec]
nop
test esi, esi
je 0x43f30c
mov esi, dword [0x009210f0]
test esi, esi
ja 0x43f2f3
test rax, rax
je 0x43f308
xor esi, esi
lea rdi, [0x008cda88]
xchg qword [rdi], rsi
test rsi, rsi
setne sil
jmp 0x43f30e
xor esi, esi
jmp 0x43f30e
xor esi, esi
test sil, sil
je 0x43f700
nop
lea rsi, [0x008cda90]
mov rdi, rax
xchg qword [rsi], rax
cmp qword [rcx + 0xa0], 0
jne 0x43f78c
cmp byte [rcx + 0xe4], 0
nop word [rax + rax]
jne 0x43f77b
test rdi, rdi
je 0x43f3ab
mov rbx, qword [rsp + 0x58]
test rbx, rbx
jne 0x43f39a
mov qword [rsp + 0x98], rdi
nop
nop
call fcn.00468220
xorps xmm15, xmm15
mov r14, qword [0x00921328]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp]
mov rcx, qword [rsp + 0xb8]
movzx edx, byte [rsp + 0x3f]
lea rsi, [0x008cda90]
mov rdi, qword [rsp + 0x98]
mov rbx, rax
sub rdi, rbx
test rdi, rdi
mov ebx, 0
cmovl rdi, rbx
jmp 0x43f3b4
xor ebx, ebx
mov rdi, 0xffffffffffffffff
cmp qword [0x009212b0], 0
cmovne rdi, rbx
mov rax, rdi
call fcn.00431760
mov qword [rsp + 0x68], rax
nop
call fcn.00468220
xorps xmm15, xmm15
mov r14, qword [0x00921328]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp]
mov qword [rsp + 0x58], rcx
nop
xor edx, edx
lea rbx, [0x008cda90]
xchg qword [rbx], rdx
nop
lea rdx, [0x008cda88]
xchg qword [rdx], rcx
cmp qword [0x009212b0], 0
je 0x43f42a
cmp qword [rsp + 0x68], 0
jne 0x43f42a
call fcn.0043dd80
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
nop
nop
lea rax, [0x008cda98]
call fcn.0040b580
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.00445f80
mov qword [rsp + 0xa8], rax
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x43f6f2
call fcn.004440c0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
jne 0x43f689
movzx ecx, byte [rsp + 0x3f]
test cl, cl
je 0x43f4ba
nop
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 0xe4], 1
nop
mov edx, 1
lea rsi, [0x008cdadc]
lock xadd dword [rsi], edx
nop
xor edx, edx
lea rsi, [0x008cdae0]
xchg dword [rsi], edx
jmp 0x43ebc9
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
xor ebx, ebx
mov ecx, 1
add rsp, 0x100
pop rbp
ret
mov qword [rsp + 0xe8], rax
mov ebx, 4
mov ecx, 1
call fcn.0043bae0
mov rax, qword [rsp + 0xe8]
xor ebx, ebx
call fcn.00457740
mov rax, qword [rsp + 0xe8]
xor ebx, ebx
mov ecx, 1
add rsp, 0x100
pop rbp
ret
mov eax, dword [rdx + 0x190]
mov esi, dword [rdx + 0x194]
cmp eax, esi
je 0x43edfd
movzx esi, al
mov rsi, qword [rdx + rsi*8 + 0x198]
lea r8d, [rax + 1]
lock cmpxchg dword [rdx + 0x190], r8d
sete r8b
test r8b, r8b
je 0x43f522
jmp 0x43edf6
xor ecx, ecx
add rsp, 0x100
pop rbp
ret
mov qword [rsp + 0xf8], rax
nop
nop
test rax, rax
je 0x43f582
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x70], rcx
lea rax, [rsp + 0x70]
call fcn.004401a0
mov rax, qword [rsp + 0xf8]
mov ebx, 4
mov ecx, 1
nop
call fcn.0043bae0
cmp byte [0x008d3208], 0
je 0x43f5bd
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
call fcn.00457740
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
mov ebx, esi
xor ecx, ecx
add rsp, 0x100
pop rbp
ret
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xc8], rbx
nop dword [rax]
call fcn.004440c0
nop
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 0xe4], 1
nop
mov ecx, 1
lea rdx, [0x008cdadc]
lock xadd dword [rdx], ecx
nop
xor ecx, ecx
lea rdx, [0x008cdae0]
xchg dword [rdx], ecx
mov rcx, qword [rsp + 0xb0]
mov qword [rcx + 0x1230], 3
mov rax, qword [rsp + 0xc8]
mov ebx, 4
mov ecx, 1
call fcn.0043bae0
cmp byte [0x008d3208], 0
je 0x43f674
mov rax, qword [rsp + 0xc8]
xor ebx, ebx
call fcn.00457740
mov rax, qword [rsp + 0xc8]
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
mov qword [rsp + 0xf8], rcx
nop
nop
test rcx, rcx
je 0x43f6a4
mov rdx, qword [rcx + 0xa0]
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x68]
call fcn.004401a0
mov rax, qword [rsp + 0xf8]
mov ebx, 4
mov ecx, 1
call fcn.0043bae0
cmp byte [0x008d3208], 0
je 0x43f6dd
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
call fcn.00457740
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
lea rax, [rsp + 0x68]
call fcn.004401a0
jmp 0x43f737
test rax, rax
je 0x43f712
mov edx, dword [0x009210ec]
test edx, edx
setne dl
jmp 0x43f714
xor edx, edx
test dl, dl
je 0x43f737
nop
mov rdx, qword [0x008cda90]
test rdx, rdx
je 0x43f72a
cmp rdx, rax
jle 0x43f737
call fcn.00431660
mov rcx, qword [rsp + 0xb8]
call fcn.0043dd80
mov rcx, qword [rsp + 0xb8]
jmp 0x43ebc9
xor ebx, ebx
call fcn.00445bc0
mov qword [rsp + 0xd0], rax
nop
nop
lea rax, [0x008cda98]
call fcn.0040b7a0
mov rax, qword [rsp + 0xd0]
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
lea rax, [0x006bcaf5]
mov ebx, 0x23
call fcn.00437240
lea rax, [0x006b9870]
mov ebx, 0x1c
call fcn.00437240
lea rax, [0x006bbd87]
mov ebx, 0x21
call fcn.00437240
lea rax, [0x006b60c4]
mov ebx, 0x15
call fcn.00437240
mov rax, qword [0x00921290]
test rax, rax
je 0x43f7f2
mov r8, rax
sar r8, 0x13
shl r8, 3
nop
nop
mov r9, qword [r8]
lea r10, [0x00921290]
lock cmpxchg qword [r10], r9
sete r9b
test r9b, r9b
je 0x43f7bf
jmp 0x43f800
lea r10, [0x00921290]
xor r8d, r8d
nop dword [rax]
test r8, r8
jne 0x43f816
lea rax, [0x00921fc0]
call fcn.00421b00
jmp 0x43f052
mov qword [rdx + 0x1230], 3
mov rax, qword [r8 + 0x10]
mov qword [rsp + 0xf8], rax
mov ebx, 4
mov ecx, edi
call fcn.0043bae0
cmp byte [0x008d3208], 0
je 0x43f851
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
call fcn.00457740
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
mov ecx, ebx
add rsp, 0x100
pop rbp
ret
call fcn.004646a0
jmp fcn.0043eba0