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

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x503f57
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
xor ecx, ecx
xor edx, edx
jmp 0x503a97
inc rcx
cmp rbx, rcx
jle 0x503ae8
movzx r8d, byte [rax + rcx]
cmp r8b, 0x80
jae 0x503ac6
test dl, dl
je 0x503ab2
mov edx, 1
jmp 0x503a94
cmp r8b, 0x41
jb 0x503ac2
cmp r8b, 0x5a
setbe dl
nop
jmp 0x503a94
xor edx, edx
jmp 0x503a94
mov rcx, rbx
mov rbx, rax
lea rax, fcn.00472ce0
call fcn.00503420
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
test dl, dl
je 0x503be2
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0x90], xmm15
movups xmmword [rsp + 0xa0], xmm15
nop
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x90], rdx
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov r10, r9
sub r9, r8
nop dword [rax]
cmp rbx, r9
jle 0x503bda
mov qword [rsp + 0x50], r8
nop
lea rcx, [rbx + r10*2]
mov qword [rsp + 0x58], rcx
lea rax, [0x006578a0]
mov rbx, r8
call fcn.0044a840
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x98]
cmp rax, rbx
je 0x503ba5
mov qword [rsp + 0x88], rax
call fcn.004662e0
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
xor ecx, ecx
xor esi, esi
nop
jmp 0x503bf5
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
inc rcx
cmp rbx, rcx
jle 0x503de5
movzx r8d, byte [rax + rcx]
lea r9d, [r8 - 0x41]
cmp r9b, 0x19
ja 0x503bf2
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x47], r8b
nop word [rax + rax]
cmp rsi, rcx
jge 0x503d34
ja 0x503f4e
mov rdi, rcx
sub rdi, rsi
mov r9, rdi
neg rdi
sar rdi, 0x3f
and rsi, rdi
lea r10, [rax + rsi]
nop
mov r11, qword [rsp + 0x90]
test r11, r11
je 0x503c5e
cmp r11, rdx
je 0x503c66
jmp 0x503f3b
mov qword [rsp + 0x90], rdx
mov r11, qword [rsp + 0xa0]
lea r12, [r11 + r9]
mov r13, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x98]
cmp r13, r12
jae 0x503cc6
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x60], r11
mov rax, r15
mov rbx, r12
mov rcx, r13
mov rdi, r9
lea rsi, [0x006578a0]
call fcn.0044a920
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
mov r15, rax
mov r13, rcx
mov r12, rbx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x60], r12
lea rax, [r15 + r11]
mov rbx, r10
mov rcx, r9
call fcn.004662e0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
movzx r8d, byte [rsp + 0x47]
nop
nop
mov r9, qword [rsp + 0x90]
nop
test r9, r9
je 0x503d4f
cmp r9, rdx
je 0x503d57
jmp 0x503f28
mov qword [rsp + 0x90], rdx
mov r9, qword [rsp + 0xa0]
inc r9
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0xa8]
cmp r11, r9
jae 0x503dca
mov rax, r10
mov rbx, r9
mov rcx, r11
mov edi, 1
lea rsi, [0x006578a0]
call fcn.0044a920
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
movzx r8d, byte [rsp + 0x47]
mov r9, rbx
mov r10, rax
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 0xa0], r9
add r8d, 0x20
mov byte [r9 + r10 - 1], r8b
lea rsi, [rcx + 1]
nop
jmp 0x503bf2
cmp rbx, rsi
jle 0x503ec8
jb 0x503f1d
sub rbx, rsi
mov rdi, rbx
neg rbx
sar rbx, 0x3f
and rsi, rbx
lea rbx, [rax + rsi]
nop
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x503e25
cmp r8, rdx
je 0x503e2d
nop dword [rax + rax]
jmp 0x503f0a
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0xa0]
lea r8, [rdi + rdx]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
cmp rcx, r8
jae 0x503e7e
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rbx
mov rbx, r8
lea rsi, [0x006578a0]
call fcn.0044a920
mov rdx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r8, rbx
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], r8
add rdx, rax
mov rax, rdx
mov rcx, rdi
call fcn.004662e0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0x98]
mov rcx, rax
neg rax
mov rbx, qword [rsp + 0xa0]
nop
cmp rbx, rax
ja 0x503ef8
mov rax, rcx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
test rcx, rcx
je 0x503f05
nop dword [rax]
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x006576e0]
lea rbx, [0x00718800]
call fcn.00436420
mov rax, rsi
mov rcx, rbx
call fcn.00465a00
lea rax, [0x006576e0]
lea rbx, [0x00718800]
call fcn.00436420
lea rax, [0x006576e0]
lea rbx, [0x00718800]
call fcn.00436420
mov rax, rsi
call fcn.00465a00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00503a60