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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x424446
push rbp
mov rbp, rsp
sub rsp, 0xe0
mov rdx, qword [r14 + 0x30]
cmp dword [rdx + 0xd8], 0
jne 0x4237dc
cmp dword [rdx + 0xc0], 0
jne 0x4237dc
mov rsi, r14
cmp qword [rdx], rsi
jne 0x424430
mov rdx, qword [rax]
nop
test bl, bl
jne 0x4237eb
mov qword [rax], 0
mov esi, dword [0x008bf540]
nop
mov dil, byte [rdx + 0x63]
nop word [rax + rax]
nop
cmp dil, 1
jne 0x42441f
lea edi, [rsi - 1]
cmp dword [rdx + 0x58], edi
jne 0x42441f
mov byte [rsp + 0xf8], bl
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], edi
mov r8, qword [0x0092d490]
test r8, r8
jne 0x42383c
xor eax, eax
xor ecx, ecx
jmp 0x423860
nop dword [rax]
call fcn.004520a0
mov rdx, qword [rsp + 0x30]
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov rcx, rax
mov rax, rbx
movzx ebx, byte [rsp + 0xf8]
test rax, rax
je 0x4238d8
mov qword [rsp + 0x98], rcx
mov rsi, qword [rdx + 0x20]
shl rsi, 0xd
mov rbx, rax
mov rax, rcx
mov rcx, rsi
nop
call fcn.004526a0
nop
mov edx, 1
mov rsi, qword [rsp + 0x98]
lock xadd qword [rsi + 0x398], rdx
mov edx, dword [rsi + 0xd8]
lea edi, [rdx - 1]
nop
mov dword [rsi + 0xd8], edi
cmp edx, 1
jne 0x4238c3
cmp byte [r14 + 0xb1], 0
je 0x4238c3
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rdx, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov r8, qword [rdx + 0x20]
lea r9, [rdx + 0x80]
lea r10, [0x008bf568]
lock xadd qword [r10], r8
mov r8, qword [rdx + 0x80]
mov qword [rsp + 0x68], r8
movzx r10d, byte [rdx + 0x62]
mov byte [rsp + 0x1b], r10b
mov r11, qword [rdx + 0x68]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0xa8], r8
nop
jmp 0x423930
movzx ebx, byte [rsp + 0xf8]
movzx r10d, byte [rsp + 0x1b]
mov r9, qword [rsp + 0xa8]
nop dword [rax + rax]
test r9, r9
je 0x423a2e
test r11, r11
je 0x42441a
movzx eax, word [r9 + 8]
mov rcx, rdx
xor edx, edx
div r11
mov rdx, rax
imul rax, r11
mov r12, qword [rcx + 0x18]
mov r13, qword [rcx + 0x48]
test byte [r13], al
mov r15, rdx
shr rdx, 3
movzx ebx, byte [r13 + rdx]
and r15d, 7
mov rcx, r15
mov r10d, 1
shl r10d, cl
add r12, rax
nop
test r10b, bl
je 0x4239fb
cmp byte [r9 + 0xa], 3
je 0x4239b5
nop
mov qword [rsp + 0xa0], r9
mov rdx, qword [r9]
mov qword [rsp + 0xa8], rdx
jmp 0x4239f1
mov rdx, qword [r9]
nop
mov qword [rsp + 0xa8], rdx
mov rsi, qword [rsp + 0xa0]
mov qword [rsi], rdx
mov byte [r9 + 0x11], 1
mov rax, r9
mov rbx, r12
mov rcx, r11
call fcn.00427fe0
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x68]
mov r11, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
jmp 0x423922
lea r10, [rax + r11]
nop
jmp 0x424360
bts ebx, ecx
nop
mov byte [r13 + rdx], bl
mov eax, 1
jmp 0x423a1b
xor eax, eax
jmp 0x423a1b
xor eax, eax
mov qword [rsp + 0x48], r10
mov byte [rsp + 0x1c], al
mov rdx, qword [rsp + 0x30]
jmp 0x424385
test r8, r8
je 0x423acb
cmp qword [rdx + 0x80], 0
nop
jne 0x423acb
mov rax, qword [rdx + 0x18]
movabs r8, 0x800000000000
add r8, rax
mov r9, r8
shr r8, 0x2a
nop
nop
cmp r8, 0x40
jae 0x42434f
shr rax, 0xd
mov rcx, rax
and eax, 0x1ff
lea r12, [0x008bf5d8]
mov r8, qword [r12 + r8*8]
test byte [r8], al
shr rax, 3
shr r9, 0x16
and r9d, 0xfffff
mov r8, qword [r8 + r9*8]
nop word [rax + rax]
cmp rax, 0x40
jae 0x424345
test byte [r8], al
lea r8, [r8 + rax]
lea r8, [r8 + 0x1080]
and ecx, 7
mov r9d, 1
shl r9d, cl
not r9d
lock and byte [r8], r9b
cmp dword [0x0092dd7c], 0
jne 0x423add
cmp dword [0x0092dd24], 0
je 0x423b2b
mov r8, qword [rdx + 0x48]
test byte [r8], al
mov qword [rsp + 0xb0], r8
mov byte [rsp + 0xb8], 1
mov qword [rsp + 0xc0], 0
mov r8, qword [rdx + 0x40]
test byte [r8], al
nop
mov qword [rsp + 0xc8], r8
mov byte [rsp + 0xd0], 1
mov qword [rsp + 0xd8], 0
xor eax, eax
jmp 0x424250
movzx ecx, word [rdx + 0x30]
cmp word [rdx + 0x32], cx
jbe 0x423ba5
mov r8, qword [rdx + 0x48]
test byte [r8], al
mov r9d, ecx
shr r9, 3
movzx r8d, byte [r8 + r9]
mov r12, qword [rdx + 0x40]
test byte [r12], al
movzx r12d, byte [r12 + r9]
not r12d
and r12d, r8d
and ecx, 7
shr r12b, cl
test r12b, r12b
je 0x423b98
mov qword [rsp + 0x60], r9
mov rax, rdx
call fcn.00424700
mov rdx, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov r9, qword [rsp + 0x60]
movzx r10d, byte [rsp + 0x1b]
mov r11, qword [rsp + 0x28]
lea rcx, [r9 + 1]
nop dword [rax]
jmp 0x4241db
movzx ecx, word [rdx + 0x32]
add rcx, 7
nop
shr rcx, 3
mov qword [rsp + 0x60], rcx
xor eax, eax
xor r8d, r8d
jmp 0x423bc5
add rax, 8
add r8, r9
mov qword [rsp + 0x50], r8
cmp rax, rcx
jae 0x423c37
mov r9, qword [rdx + 0x48]
test byte [r9], al
mov r9, qword [r9 + rax]
movzx r12d, byte [0x0092d4db]
test r12d, r12d
je 0x423bee
popcnt r9, r9
jmp 0x423bbe
mov qword [rsp + 0x38], rax
mov rax, r9
call fcn.00402e80
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x50]
movzx r10d, byte [rsp + 0x1b]
mov r11, qword [rsp + 0x28]
movzx r12d, byte [0x0092d4db]
mov r9, rax
mov rax, qword [rsp + 0x38]
jmp 0x423bbe
movzx ecx, word [rdx + 0x60]
mov r9d, ecx
sub ecx, r8d
cmp r8w, r9w
ja 0x4241c7
mov word [rsp + 0x1e], cx
mov word [rdx + 0x60], r8w
mov word [rdx + 0x30], 0
mov word [rdx + 0x34], 0
mov r9, qword [0x0092d490]
test r9, r9
je 0x423c8e
mov r9, qword [r14 + 0x30]
mov r9, qword [r9 + 0xa0]
movzx r12d, cx
mov r13, qword [rdx + 0x68]
imul r13, r12
test byte [r9], al
add qword [r9 + 0x1210], r13
mov rcx, qword [rdx + 0x48]
mov qword [rdx + 0x40], rcx
movzx eax, word [rdx + 0x32]
call fcn.00428180
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x48], rax
cmp qword [rcx + 0x50], 0
je 0x423cbc
mov rax, rcx
call fcn.00434b20
mov rcx, qword [rsp + 0x30]
mov rax, rcx
xor ebx, ebx
call fcn.00413880
nop
mov rbx, qword [rsp + 0x30]
mov cl, byte [rbx + 0x63]
cmp cl, 1
jne 0x4241b6
mov edx, dword [rbx + 0x58]
mov esi, dword [rsp + 0x24]
nop
cmp edx, esi
jne 0x4241b6
mov esi, dword [rsp + 0x20]
lea edi, [rsi + 1]
cmp edx, edi
je 0x4241a5
lea edi, [rsi + 3]
nop word [rax + rax]
cmp edx, edi
je 0x4241a5
mov edx, esi
xchg dword [rbx + 0x58], esi
cmp byte [rbx + 0x65], 0
je 0x423dec
movzx esi, byte [rsp + 0xf8]
nop
test sil, sil
jne 0x424191
mov rsi, qword [rsp + 0x50]
test si, si
jbe 0x423d81
movzx eax, byte [rsp + 0x1b]
nop dword [rax + rax]
cmp rax, 0x88
jae 0x424187
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x008bf880]
lea rcx, [rcx + rsi]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call fcn.0042e140
xor eax, eax
add rsp, 0xe0
pop rbp
nop
ret
mov rax, qword [rbx + 0x20]
neg rax
lea rcx, [rbx + 0x63]
lea rdx, [0x008bf560]
lock xadd qword [rdx], rax
nop
nop
xor eax, eax
xchg byte [rcx], al
movups xmmword [rsp + 0x88], xmm15
lea rax, [0x00424660]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rbx
lea rax, [rsp + 0x88]
mov qword [rsp], rax
call fcn.0045dde0
xorps xmm15, xmm15
mov r14, qword [0x0092d718]
mov r14, qword gs:[r14]
mov r14, qword [r14]
xor eax, eax
add rsp, 0xe0
pop rbp
ret
movzx eax, byte [rsp + 0x1b]
mov esi, eax
shr sil, 1
test sil, sil
je 0x423fa5
movzx edi, word [rsp + 0x1e]
test di, di
ja 0x423e19
movzx esi, byte [rsp + 0xf8]
test sil, sil
jmp 0x423ea6
mov byte [rsp + 0x1d], sil
mov byte [rbx + 0x64], 1
lea rax, [0x00931ec0]
call fcn.0042e680
movzx ecx, byte [rsp + 0x1d]
movsx rcx, cl
nop word [rax + rax]
cmp rcx, 0x44
jae 0x42417a
test byte [rax], al
lea rcx, [rax + rcx*8]
lea rcx, [rcx + 0x278]
movzx edx, word [rsp + 0x1e]
movzx edx, dx
mov qword [rsp + 0x58], rdx
lock xadd qword [rcx], rdx
lea rax, [0x00931ec0]
call fcn.0042e720
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x68]
mov rdx, qword [rsp + 0x58]
imul rdx, rcx
lea rcx, [0x0092e5f0]
lock xadd qword [rcx], rdx
movzx ecx, byte [rsp + 0xf8]
test cl, cl
movzx eax, byte [rsp + 0x1b]
mov edx, dword [rsp + 0x20]
jne 0x424151
mov rsi, qword [rsp + 0x50]
test si, si
je 0x423f3f
nop word [rax + rax]
cmp word [rbx + 0x32], si
jne 0x423f05
cmp rax, 0x88
jae 0x424170
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x008bf880]
lea rcx, [rcx + rsi]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call fcn.0042e140
nop dword [rax + rax]
jmp 0x424151
cmp rax, 0x88
jae 0x424166
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x008bf880]
lea rcx, [rsi + rcx]
lea rcx, [rcx + 8]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call fcn.0042e140
jmp 0x424151
nop
movups xmmword [rsp + 0x70], xmm15
mov qword [rsp + 0x80], 0
lea rax, [0x004245c0]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x008af400]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp], rax
nop dword [rax + rax]
call fcn.0045dde0
xorps xmm15, xmm15
mov r14, qword [0x0092d718]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, 1
add rsp, 0xe0
pop rbp
ret
movzx esi, byte [rsp + 0xf8]
test sil, sil
jne 0x424151
movzx esi, word [rsp + 0x1e]
nop dword [rax + rax]
test si, si
je 0x424120
cmp dword [0x0092dd30], 0
jle 0x424002
mov qword [rbx + 0x70], 0
mov rax, qword [rbx + 0x18]
mov rcx, qword [rsp + 0x28]
mov rdx, rcx
neg rcx
nop
nop
lea rsi, [0x0092e5f8]
lock xadd qword [rsi], rcx
mov rbx, rdx
call fcn.00416620
nop
jmp 0x424057
nop
movups xmmword [rsp + 0x70], xmm15
mov qword [rsp + 0x80], 0
lea rax, [0x00424520]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x008af400]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp], rax
nop
call fcn.0045dde0
xorps xmm15, xmm15
mov r14, qword [0x0092d718]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x4240c7
movzx edx, byte [rdx + 0x14]
test dl, 0x10
je 0x4240c7
movups xmmword [rsp + 0x88], xmm15
lea rax, [0x00424480]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rcx
lea rax, [rsp + 0x88]
mov qword [rsp], rax
nop dword [rax]
call fcn.0045dde0
xorps xmm15, xmm15
mov r14, qword [0x0092d718]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x98], 0
lea rax, [0x00931ec0]
call fcn.0042e680
mov ecx, 1
lock xadd qword [rax + 0x270], rcx
mov rcx, qword [rsp + 0x28]
lock xadd qword [rax + 0x268], rcx
lea rax, [0x00931ec0]
call fcn.0042e720
nop
mov rcx, qword [rsp + 0x28]
lea rdx, [0x0092e5f0]
lock xadd qword [rdx], rcx
mov eax, 1
add rsp, 0xe0
pop rbp
ret
cmp rax, 0x88
jae 0x42415c
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x008bf880]
lea rcx, [rcx + rsi]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call fcn.0042e140
xor eax, eax
add rsp, 0xe0
pop rbp
ret
mov ecx, 0x88
call fcn.004601e0
mov ecx, 0x88
call fcn.004601e0
mov ecx, 0x88
call fcn.004601e0
mov rax, rcx
mov ecx, 0x44
call fcn.004601e0
mov ecx, 0x88
call fcn.004601e0
lea rax, [0x006d2cec]
mov ebx, 0x2a
nop dword [rax]
call fcn.004341e0
lea rax, [0x006c7e3e]
mov ebx, 0x11
call fcn.004341e0
lea rax, [0x006d1bab]
mov ebx, 0x27
call fcn.004341e0
lea rax, [0x006ceca9]
mov ebx, 0x20
call fcn.004341e0
inc rcx
movzx r8d, word [rdx + 0x32]
add r8, 7
shr r8, 3
cmp rcx, r8
jae 0x423ba5
mov r8, qword [rdx + 0x48]
test byte [r8], al
movzx r8d, byte [rcx + r8]
mov r9, qword [rdx + 0x40]
test byte [r9], al
movzx r9d, byte [rcx + r9]
not r9d
test r9b, r8b
je 0x4241d8
mov qword [rsp + 0x40], rcx
mov rax, rdx
call fcn.00424700
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
movzx r10d, byte [rsp + 0x1b]
mov r11, qword [rsp + 0x28]
jmp 0x4241d8
inc qword [rsp + 0xd8]
inc rax
movzx r8d, word [rdx + 0x32]
cmp rax, r8
jae 0x423b2b
mov r8, qword [rsp + 0xb0]
movzx r9d, byte [rsp + 0xb8]
movzx r8d, byte [r8]
test r8b, r9b
jne 0x4242be
movzx r8d, word [rdx + 0x30]
nop dword [rax]
cmp qword [rsp + 0xd8], r8
jb 0x4242a5
mov r8, qword [rsp + 0xc8]
movzx r9d, byte [rsp + 0xd0]
movzx r8d, byte [r8]
nop
test r8b, r9b
je 0x4242be
mov r8, qword [rdx + 0x68]
imul r8, rax
add r8, qword [rdx + 0x18]
cmp dword [0x0092dd24], 0
je 0x4242be
xor ecx, ecx
jmp 0x424337
movzx r8d, byte [rsp + 0xb8]
nop
cmp r8b, 0x80
jne 0x4242e2
inc qword [rsp + 0xb0]
mov byte [rsp + 0xb8], 1
nop
jmp 0x4242ed
shl r8d, 1
mov byte [rsp + 0xb8], r8b
inc qword [rsp + 0xc0]
movzx r8d, byte [rsp + 0xd0]
nop
nop
cmp r8b, 0x80
jne 0x42431b
inc qword [rsp + 0xc8]
mov byte [rsp + 0xd0], 1
jmp 0x424245
shl r8d, 1
mov byte [rsp + 0xd0], r8b
jmp 0x424245
mov dword [r8 + rcx], 0xdeadbeef
add rcx, 4
cmp rcx, r11
jb 0x42432b
nop dword [rax]
jmp 0x4242be
mov ecx, 0x40
call fcn.00460200
mov rax, r8
mov ecx, 0x40
call fcn.00460200
mov r9, qword [r9]
nop
test r9, r9
je 0x423a19
movzx r12d, word [r9 + 8]
cmp r12, r10
jae 0x423a15
cmp byte [r9 + 0xa], 1
jne 0x42435c
nop
jmp 0x423a05
mov r9, qword [rsp + 0xa8]
test r9, r9
je 0x423922
movzx r12d, word [r9 + 8]
nop dword [rax + rax]
cmp r12, r10
jae 0x423922
mov r13, qword [rdx + 0x18]
lea rbx, [r12 + r13]
cmp byte [r9 + 0xa], 1
je 0x4243d2
test al, al
je 0x4243d2
nop
mov qword [rsp + 0xa0], r9
mov r9, qword [r9]
mov qword [rsp + 0xa8], r9
jmp 0x424385
mov rdx, qword [r9]
nop
mov qword [rsp + 0xa8], rdx
mov rsi, qword [rsp + 0xa0]
mov qword [rsi], rdx
mov rax, r9
mov rcx, r11
call fcn.00427fe0
movzx eax, byte [rsp + 0x1c]
mov rdx, qword [rsp + 0x30]
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x68]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x28]
jmp 0x424385
call fcn.00432ee0
lea rax, [0x006cc7b8]
mov ebx, 0x1b
call fcn.004341e0
lea rax, [0x006ccfaf]
mov ebx, 0x1c
nop dword [rax]
call fcn.004341e0
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call fcn.0045df00
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
nop
jmp fcn.004237a0