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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x4251ed
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
mov rdx, qword [r14 + 0x30]
cmp dword [rdx + 0xd8], 0
jne 0x424529
cmp dword [rdx + 0xc0], 0
jne 0x424529
mov rsi, r14
nop
cmp qword [rdx], rsi
jne 0x4251db
mov rdx, qword [rax]
test bl, bl
jne 0x424537
mov qword [rax], 0
mov esi, dword [0x009d6dd8]
mov dword [rsp + 0x28], esi
nop
mov dil, byte [rdx + 0x63]
mov byte [rsp + 0x20], dil
cmp dil, 1
jne 0x425158
lea r8d, [rsi - 1]
nop dword [rax]
cmp dword [rdx + 0x58], r8d
jne 0x425158
mov byte [rsp + 0xf8], bl
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x2c], r8d
cmp byte [0x009b6bd0], 0
je 0x4245a7
mov rax, qword [rdx + 0x20]
shl rax, 0xd
call fcn.00456640
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2c]
mov rdi, qword [rdx + 0x20]
lea r9, [0x009d6e00]
lock xadd qword [r9], rdi
movzx edi, byte [rdx + 0x62]
mov byte [rsp + 0x21], dil
mov r9, qword [rdx + 0x68]
mov qword [rsp + 0x38], r9
mov r10, qword [rdx + 0x80]
mov qword [rsp + 0x88], r10
lea r11, [rdx + 0x80]
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0xa8], r10
jmp 0x4245fa
mov esi, dword [rsp + 0x28]
movzx edi, byte [rsp + 0x21]
mov r11, qword [rsp + 0xa8]
test r11, r11
je 0x424700
movzx eax, word [r11 + 8]
test r9, r9
je 0x425153
mov r12, qword [rdx + 0x50]
test byte [r12], al
mov rcx, rdx
xor edx, edx
div r9
mov rdx, rax
imul rax, r9
mov r13, qword [rcx + 0x18]
add r13, rax
nop
mov r15, rdx
shr rdx, 3
movzx edi, byte [rdx + r12]
and r15d, 7
mov rcx, r15
mov esi, 1
shl esi, cl
test sil, dil
je 0x4246c5
cmp byte [r11 + 0xa], 3
je 0x424674
nop
mov qword [rsp + 0xa0], r11
mov rdx, qword [r11]
mov qword [rsp + 0xa8], rdx
jmp 0x4246b8
nop
mov rdx, qword [r11]
mov qword [rsp + 0xa8], rdx
mov rsi, qword [rsp + 0xa0]
mov qword [rsi], rdx
mov byte [r11 + 0x11], 1
mov rax, r11
mov rbx, r13
mov rcx, r9
call fcn.00429120
movzx ebx, byte [rsp + 0xf8]
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x40]
nop dword [rax]
jmp 0x4245f1
lea rsi, [rax + r9]
jmp 0x425095
nop
bts edi, ecx
mov byte [r12 + rdx], dil
mov eax, 1
jmp 0x4246e4
xor eax, eax
nop
jmp 0x4246e4
xor eax, eax
mov qword [rsp + 0x60], rsi
mov byte [rsp + 0x22], al
mov rdx, qword [rsp + 0x40]
jmp 0x4250b8
test r10, r10
je 0x424794
cmp qword [rdx + 0x80], 0
jne 0x424794
nop
nop
nop
mov rax, qword [rdx + 0x18]
movabs r10, 0x800000000000
add r10, rax
mov r11, r10
shr r10, 0x2a
cmp r10, 0x40
jae 0x425085
lea r12, [0x009d6e30]
mov r10, qword [r12 + r10*8]
test byte [r10], al
shr r11, 0x16
and r11d, 0xfffff
mov r10, qword [r10 + r11*8]
test byte [r10], al
shr rax, 0xd
mov rcx, rax
and eax, 0x1ff
shr rax, 3
cmp rax, 0x40
jae 0x42507b
lea r10, [r10 + rax]
lea r10, [r10 + 0x11480]
and ecx, 7
mov r11d, 1
shl r11d, cl
not r11d
lock and byte [r10], r11b
cmp dword [0x00a053a8], 0
jne 0x4247a6
cmp dword [0x00a05364], 0
je 0x4247f4
mov r10, qword [rdx + 0x50]
test byte [r10], al
mov qword [rsp + 0xb0], r10
mov byte [rsp + 0xb8], 1
mov qword [rsp + 0xc0], 0
mov r10, qword [rdx + 0x48]
test byte [r10], al
nop
mov qword [rsp + 0xc8], r10
mov byte [rsp + 0xd0], 1
mov qword [rsp + 0xd8], 0
xor eax, eax
jmp 0x424f40
mov rcx, qword [rdx + 0x30]
cmp qword [rdx + 0x38], rcx
jbe 0x424876
mov r10, qword [rdx + 0x50]
test byte [r10], al
mov r11, qword [rdx + 0x48]
test byte [r11], al
mov r12, rcx
shr rcx, 3
movzx r10d, byte [rcx + r10]
movzx r11d, byte [rcx + r11]
not r11d
and r11d, r10d
and r12d, 7
mov rax, rcx
mov rcx, r12
shr r11b, cl
test r11b, r11b
je 0x42486d
mov qword [rsp + 0x80], rax
mov rax, rdx
call fcn.004252c0
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x28]
movzx edi, byte [rsp + 0x21]
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
lea rcx, [rax + 1]
jmp 0x424ec8
nop
mov rcx, qword [rdx + 0x38]
add rcx, 7
shr rcx, 3
mov qword [rsp + 0x80], rcx
xor eax, eax
xor r10d, r10d
jmp 0x424899
add rax, 8
add r10, r11
mov qword [rsp + 0x68], r10
nop
cmp rax, rcx
jae 0x424910
mov r11, qword [rdx + 0x50]
test byte [r11], al
mov r11, qword [r11 + rax]
movzx r12, byte [0x00a04a08]
test r12d, r12d
je 0x4248c4
popcnt r11, r11
jmp 0x424892
mov qword [rsp + 0x48], rax
mov rax, r11
call fcn.00402160
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x28]
movzx edi, byte [rsp + 0x21]
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x68]
movzx r12, byte [0x00a04a08]
mov r11, rax
mov rax, qword [rsp + 0x48]
jmp 0x424892
movzx ecx, word [rdx + 0x60]
mov r11d, ecx
sub ecx, r10d
mov word [rsp + 0x24], cx
nop
cmp r10w, r11w
ja 0x424e09
mov word [rdx + 0x60], r10w
mov qword [rdx + 0x30], 0
mov qword [rdx + 0x98], 0
cmp byte [0x009b6bd0], 0
je 0x42496c
mov r11, qword [r14 + 0x30]
mov r11, qword [r11 + 0xa0]
test byte [r11], al
movzx r12d, cx
mov r13, qword [rdx + 0x68]
imul r13, r12
add qword [r11 + 0x11e8], r13
mov rcx, qword [rdx + 0x50]
mov qword [rdx + 0x48], rcx
mov rax, qword [rdx + 0x38]
call fcn.00429260
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x50], rax
mov rax, rcx
xor ebx, ebx
call fcn.004142c0
nop
mov rbx, qword [rsp + 0x40]
mov cl, byte [rbx + 0x63]
mov byte [rsp + 0x1f], cl
nop dword [rax]
cmp cl, 1
jne 0x424d87
mov edx, dword [rbx + 0x58]
mov esi, dword [rsp + 0x2c]
cmp edx, esi
jne 0x424d87
mov esi, dword [rsp + 0x28]
lea edi, [rsi + 1]
nop
cmp edx, edi
je 0x424d76
lea edi, [rsi + 3]
cmp edx, edi
je 0x424d76
mov edx, esi
xchg dword [rbx + 0x58], esi
cmp byte [rbx + 0x65], 0
nop dword [rax]
je 0x424ac3
movzx esi, byte [rsp + 0xf8]
test sil, sil
jne 0x424d65
mov rsi, qword [rsp + 0x68]
nop dword [rax]
test si, si
jbe 0x424a51
movzx eax, byte [rsp + 0x21]
cmp rax, 0x88
jae 0x424d58
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x009d70d0]
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.0042f600
xor eax, eax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov rax, qword [rbx + 0x20]
neg rax
lea rcx, [0x009d6df8]
lock xadd qword [rcx], rax
nop
nop
lea rax, [rbx + 0x63]
xor ecx, ecx
xchg byte [rax], cl
movups xmmword [rsp + 0x90], xmm15
lea rax, [0x00425220]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rbx
lea rax, [rsp + 0x90]
mov qword [rsp], rax
call fcn.00463720
xorps xmm15, xmm15
mov r14, qword [0x00a04c40]
mov r14, qword gs:[r14]
mov r14, qword [r14]
xor eax, eax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
movzx eax, byte [rsp + 0x21]
mov esi, eax
shr al, 1
test al, al
je 0x424c3c
movzx edi, word [rsp + 0x24]
test di, di
ja 0x424aee
movzx edi, byte [rsp + 0xf8]
test dil, dil
jmp 0x424b76
mov byte [rsp + 0x23], al
mov byte [rbx + 0x64], 1
lea rax, [0x00a094e0]
nop dword [rax]
call fcn.0042fca0
test byte [rax], al
movzx ecx, byte [rsp + 0x23]
movsx rcx, cl
cmp rcx, 0x44
jae 0x424d4b
lea rcx, [rax + rcx*8]
lea rcx, [rcx + 0x278]
movzx edx, word [rsp + 0x24]
movzx edx, dx
mov qword [rsp + 0x78], rdx
lock xadd qword [rcx], rdx
lea rax, [0x00a094e0]
nop
call fcn.0042fd80
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x68]
mov rdx, qword [rsp + 0x78]
imul rdx, rcx
lea rcx, [0x00a05c18]
lock xadd qword [rcx], rdx
movzx ecx, byte [rsp + 0xf8]
test cl, cl
mov edx, dword [rsp + 0x28]
movzx esi, byte [rsp + 0x21]
jne 0x424d15
mov rdi, qword [rsp + 0x68]
test di, di
je 0x424c1b
movzx edi, di
cmp qword [rbx + 0x38], rdi
jne 0x424be0
nop word [rax + rax]
nop dword [rax]
cmp rsi, 0x88
jae 0x424d3f
lea rcx, [rsi + rsi*2]
shl rcx, 6
lea rsi, [0x009d70d0]
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.0042f600
jmp 0x424d15
cmp rsi, 0x88
jae 0x424d33
lea rcx, [rsi + rsi*2]
shl rcx, 6
lea rsi, [0x009d70d0]
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.0042f600
jmp 0x424d15
lea rax, [0x009c6cc0]
call fcn.004280e0
mov eax, 1
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
movzx edi, byte [rsp + 0xf8]
test dil, dil
jne 0x424d15
movzx edi, word [rsp + 0x24]
test di, di
je 0x424ce3
cmp dword [0x00a05368], 0
jle 0x424c7c
mov qword [rbx + 0x70], 0
mov rax, qword [rbx + 0x18]
mov rbx, qword [rsp + 0x38]
call fcn.00417640
jmp 0x424c88
lea rax, [0x009c6cc0]
call fcn.004280e0
lea rax, [0x00a094e0]
call fcn.0042fca0
mov ecx, 1
lock xadd qword [rax + 0x270], rcx
mov rcx, qword [rsp + 0x38]
lock xadd qword [rax + 0x268], rcx
lea rax, [0x00a094e0]
call fcn.0042fd80
nop
mov rcx, qword [rsp + 0x38]
lea rdx, [0x00a05c18]
lock xadd qword [rdx], rcx
mov eax, 1
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
cmp rsi, 0x88
jae 0x424d27
lea rcx, [rsi + rsi*2]
shl rcx, 6
lea rsi, [0x009d70d0]
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.0042f600
xor eax, eax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov eax, esi
mov ecx, 0x88
call fcn.00465ec0
mov eax, esi
mov ecx, 0x88
call fcn.00465ec0
mov eax, esi
mov ecx, 0x88
call fcn.00465ec0
mov rax, rcx
mov ecx, 0x44
call fcn.00465ec0
mov ecx, 0x88
nop dword [rax]
call fcn.00465ec0
lea rax, [0x0072ba8a]
mov ebx, 0x2a
call fcn.00436d20
lea rax, [0x0071e959]
mov ebx, 0x11
call fcn.00436d20
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0x70], rax
call fcn.00438660
lea rax, [0x0071fb9f]
mov ebx, 0x13
call fcn.00438f60
movzx eax, byte [rsp + 0x1f]
movzx eax, al
call fcn.00438c60
lea rax, [0x0071b075]
mov ebx, 0xa
nop
call fcn.00438f60
mov rax, qword [rsp + 0x70]
call fcn.00438c60
lea rax, [0x0071db29]
mov ebx, 0x10
nop dword [rax + rax]
call fcn.00438f60
mov eax, dword [rsp + 0x28]
call fcn.00438c60
call fcn.004388c0
call fcn.004386e0
lea rax, [0x0072a6e2]
mov ebx, 0x27
call fcn.00436d20
mov word [rsp + 0x26], r11w
mov rax, qword [rdx + 0x38]
mov qword [rsp + 0x80], rax
nop dword [rax + rax]
call fcn.00438660
lea rax, [0x0071e289]
mov ebx, 0x10
call fcn.00438f60
mov rax, qword [rsp + 0x80]
nop
call fcn.00438c60
lea rax, [0x0071a6af]
mov ebx, 8
call fcn.00438f60
mov rax, qword [rsp + 0x68]
movzx eax, ax
nop
call fcn.00438c60
lea rax, [0x007207e3]
mov ebx, 0x15
call fcn.00438f60
movzx eax, word [rsp + 0x26]
nop dword [rax + rax]
call fcn.00438c60
lea rax, [0x0071a6bf]
mov ebx, 8
call fcn.00438f60
movzx eax, word [rsp + 0x24]
movzx eax, ax
nop
call fcn.00438c60
call fcn.004388c0
call fcn.004386e0
lea rax, [0x00727318]
mov ebx, 0x20
nop dword [rax + rax]
call fcn.00436d20
inc rcx
mov r10, qword [rdx + 0x38]
add r10, 7
shr r10, 3
cmp rcx, r10
jae 0x424876
mov r10, qword [rdx + 0x50]
test byte [r10], al
mov r11, qword [rdx + 0x48]
test byte [r11], al
movzx r10d, byte [rcx + r10]
movzx r11d, byte [rcx + r11]
not r11d
test r10b, r11b
je 0x424ec5
mov qword [rsp + 0x50], rcx
mov rax, rdx
call fcn.004252c0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x28]
movzx edi, byte [rsp + 0x21]
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
jmp 0x424ec5
inc qword [rsp + 0xd8]
inc rax
nop dword [rax]
cmp qword [rdx + 0x38], rax
jbe 0x4247f4
mov r10, qword [rsp + 0xb0]
movzx r11d, byte [rsp + 0xb8]
movzx r10d, byte [r10]
nop
test r10b, r11b
jne 0x424ff2
mov r10, qword [rsp + 0xd8]
cmp qword [rdx + 0x30], r10
ja 0x424f91
mov r10, qword [rsp + 0xc8]
movzx r11d, byte [rsp + 0xd0]
movzx r10d, byte [r10]
test r10b, r11b
je 0x424ff2
mov r10, qword [rdx + 0x68]
imul r10, rax
add r10, qword [rdx + 0x18]
cmp dword [0x00a053a8], 0
je 0x424fe5
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], r10
mov rax, r10
mov rbx, r9
call fcn.0042e9e0
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0xf8]
mov esi, dword [rsp + 0x28]
movzx edi, byte [rsp + 0x21]
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
cmp dword [0x00a05364], 0
je 0x424ff2
xor ecx, ecx
jmp 0x425071
nop
movzx r10d, byte [rsp + 0xb8]
nop dword [rax]
cmp r10b, 0x80
jne 0x425018
inc qword [rsp + 0xb0]
mov byte [rsp + 0xb8], 1
jmp 0x425023
shl r10d, 1
mov byte [rsp + 0xb8], r10b
inc qword [rsp + 0xc0]
nop
movzx r10d, byte [rsp + 0xd0]
cmp r10b, 0x80
jne 0x425050
inc qword [rsp + 0xc8]
mov byte [rsp + 0xd0], 1
jmp 0x424f31
shl r10d, 1
mov byte [rsp + 0xd0], r10b
nop dword [rax + rax]
jmp 0x424f31
mov dword [r10 + rcx], 0xdeadbeef
add rcx, 4
cmp rcx, r9
jb 0x425065
jmp 0x424ff2
mov ecx, 0x40
call fcn.00465ee0
mov rax, r10
mov ecx, 0x40
call fcn.00465ee0
mov r11, qword [r11]
test r11, r11
je 0x4246e2
movzx r13d, word [r11 + 8]
cmp r13, rsi
jae 0x4246dd
cmp byte [r11 + 0xa], 1
jne 0x425092
jmp 0x4246ce
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x4245f1
movzx r11d, word [rdi + 8]
cmp r11, rsi
jae 0x4245f1
mov r12, qword [rdx + 0x18]
add r11, r12
cmp byte [rdi + 0xa], 1
je 0x4250fe
test al, al
je 0x4250fe
nop
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rdi]
mov qword [rsp + 0xa8], rdi
jmp 0x4250b8
nop
mov rdx, qword [rdi]
mov qword [rsp + 0xa8], rdx
mov rsi, qword [rsp + 0xa0]
mov qword [rsi], rdx
mov rax, rdi
mov rbx, r11
mov rcx, r9
nop
call fcn.00429120
movzx eax, byte [rsp + 0x22]
mov rdx, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0xf8]
mov rsi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x88]
jmp 0x4250b8
call fcn.00435240
mov eax, dword [rdx + 0x58]
mov qword [rsp + 0x70], rax
call fcn.00438660
lea rax, [0x0071fb9f]
mov ebx, 0x13
call fcn.00438f60
movzx eax, byte [rsp + 0x20]
movzx eax, al
nop
call fcn.00438c60
lea rax, [0x0071b075]
mov ebx, 0xa
call fcn.00438f60
mov rax, qword [rsp + 0x70]
nop dword [rax + rax]
call fcn.00438c60
lea rax, [0x0071db29]
mov ebx, 0x10
call fcn.00438f60
mov eax, dword [rsp + 0x28]
call fcn.00438c60
nop
call fcn.004388c0
call fcn.004386e0
lea rax, [0x0072464a]
mov ebx, 0x1b
call fcn.00436d20
lea rax, [0x00724f7c]
mov ebx, 0x1c
call fcn.00436d20
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call fcn.00463860
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
jmp fcn.004244e0