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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x407e11
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rdx + 0x48]
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
cmp rbx, 0x30
jne 0x407d8b
mov rbx, qword [rsp + 0x60]
test rbx, rbx
jl 0x407d42
movsxd rsi, ebx
cmp rbx, rsi
jne 0x407d42
mov rsi, qword [rdx + 0x30]
mov rdi, qword [rsi + 0x18]
mov rdi, qword [rdi]
test rdi, rdi
je 0x407d27
mov rax, qword [rsi]
cmp rax, 0x80
jbe 0x40799d
movzx edi, byte [rdx + 0x51]
test dil, dil
je 0x407d0c
movzx edi, byte [rdx + 0x50]
cmp dil, 8
jne 0x407d0c
cmp rax, 0x80
ja 0x4079b9
movzx edi, byte [rdx + 0x51]
test dil, dil
jne 0x407d0c
movzx edi, byte [rdx + 0x50]
cmp dil, al
jne 0x407d0c
mov rdi, qword [rdx + 0x38]
mov r8, qword [rdi]
cmp r8, 0x80
jbe 0x4079ed
movzx r9d, byte [rdx + 0x53]
test r9b, r9b
je 0x407cf1
movzx r9d, byte [rdx + 0x52]
cmp r9b, 8
jne 0x407cf1
cmp r8, 0x80
ja 0x407a0b
movzx r9d, byte [rdx + 0x53]
test r9b, r9b
jne 0x407cf1
movzx r9d, byte [rdx + 0x52]
cmp r9b, r8b
jne 0x407cf1
movzx esi, byte [rsi + 0x15]
cmp sil, 8
ja 0x407cd6
movzx edi, byte [rdi + 0x15]
cmp dil, 8
ja 0x407cbb
movzx esi, sil
test rsi, rsi
je 0x407cb4
mov rcx, rdx
xor edx, edx
div rsi
test rdx, rdx
jne 0x407c99
movzx edx, dil
test rdx, rdx
je 0x407c92
mov rax, r8
mov rdi, rdx
xor edx, edx
div rdi
test rdx, rdx
jne 0x407c77
mov rax, 8
xor edx, edx
div rsi
test rdx, rdx
jne 0x407c5c
mov rax, 8
xor edx, edx
div rdi
test rdx, rdx
jne 0x407c41
xor eax, eax
mov byte [rsp + 0x27], al
cmp rbx, 8
jl 0x407af6
mov rdx, rcx
mov ecx, eax
mov rsi, 1
shl rsi, cl
cmp al, 0x40
sbb rdi, rdi
mov r8, rdi
and rdi, rsi
test r8, rsi
jl 0x407c23
xorps xmm0, xmm0
cvtsi2ss xmm0, rdi
movss xmm1, dword [0x006efe30]
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
ucomiss xmm0, xmm1
setae sil
test sil, sil
je 0x407b04
inc eax
mov rcx, rdx
mov byte [rsp + 0x27], al
cmp rbx, 8
jge 0x407a9c
mov ecx, eax
mov rdx, qword [rsp + 0x58]
xor esi, esi
test sil, sil
jne 0x407ae7
test al, al
jne 0x407be9
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x30], rbx
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x407bc6
mov qword [rsp + 0x68], rsi
mov qword [rsi], 0
mov byte [rsi + 9], al
mov byte [rsi + 8], 0
call fcn.00454c50
mov eax, dword [rsp]
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0xc], eax
test byte [rcx], al
mov eax, dword [0x008b4340]
lea rdx, [rcx + 0x10]
test eax, eax
jne 0x407bac
mov rax, qword [rsp + 0x30]
mov qword [rcx + 0x10], rax
mov eax, dword [0x008b4340]
lea rdx, [rcx + 0x18]
test eax, eax
jne 0x407b93
mov qword [rcx + 0x18], 0
mov qword [rcx + 0x20], 0
mov word [rcx + 0xa], 0
mov qword [rsp + 0x78], rcx
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov qword [rsp], rdx
mov qword [rsp + 8], 0
call fcn.00410240
mov rcx, qword [rsp + 0x68]
jmp 0x407b76
mov qword [rsp], rdx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 8], rax
call fcn.00410240
mov rcx, qword [rsp + 0x68]
jmp 0x407b60
mov rdx, qword [rdx + 0x48]
mov qword [rsp], rdx
call fcn.0040f840
mov rsi, qword [rsp + 8]
movzx eax, byte [rsp + 0x27]
mov ecx, eax
mov rbx, qword [rsp + 0x30]
jmp 0x407b24
mov rbx, qword [rdx + 0x40]
mov qword [rsp], rbx
mov rbx, 1
shl rbx, cl
cmp al, 0x40
sbb rsi, rsi
and rsi, rbx
mov qword [rsp + 8], rsi
call fcn.0040f8f0
mov rbx, qword [rsp + 0x10]
movzx eax, byte [rsp + 0x27]
mov ecx, eax
mov rdx, qword [rsp + 0x58]
jmp 0x407b11
mov rsi, rdi
shr rdi, 1
and rsi, 1
or rdi, rsi
xorps xmm0, xmm0
cvtsi2ss xmm0, rdi
addss xmm0, xmm0
jmp 0x407ac7
lea rax, [0x006d81f3]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
call fcn.0042aea0
ud2
lea rax, [0x006d75ce]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1c
call fcn.0042aea0
ud2
lea rax, [0x006daf53]
mov qword [rsp], rax
mov qword [rsp + 8], 0x28
call fcn.0042aea0
ud2
call fcn.004294c0
ud2
lea rax, [0x006d9e60]
mov qword [rsp], rax
mov qword [rsp + 8], 0x24
call fcn.0042aea0
ud2
call fcn.004294c0
ud2
lea rax, [0x006d3f68]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0042aea0
ud2
lea rax, [0x006d31af]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call fcn.0042aea0
ud2
lea rax, [0x006d2de9]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042aea0
ud2
lea rax, [0x006d2252]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.0042aea0
ud2
lea rax, [0x006db282]
mov qword [rsp], rax
mov qword [rsp + 8], 0x29
call fcn.0042aea0
ud2
lea rax, [0x006d69d4]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 0x1a
lea rax, [0x00684a60]
mov qword [rsp], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042a540
ud2
call fcn.0042b850
lea rax, [0x006d585a]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0042c220
call fcn.0042bad0
mov qword [rsp], 0x30
call fcn.0042c020
call fcn.0042bad0
lea rax, [0x006d23b2]
mov qword [rsp], rax
mov qword [rsp + 8], 0xf
call fcn.0042c220
call fcn.0042bad0
mov rax, qword [rsp + 0x28]
mov qword [rsp], rax
call fcn.0042c020
call fcn.0042bb30
call fcn.0042b8f0
lea rax, [0x006d1d0c]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call fcn.0042aea0
ud2
call fcn.00452210
jmp fcn.00407900