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

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x437c5e
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov rcx, qword [r14 + 0x30]
mov rcx, qword [rcx + 0x90]
test rcx, rcx
je 0x4378a3
mov rax, rcx
call fcn.0043a980
cmp eax, 2
je 0x437c4c
mov rax, qword [rsp + 0x60]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
xor r8d, r8d
jmp 0x4378d3
mov r9, qword [rsp + 0x38]
lea rdi, [r9 + 1]
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x16]
mov rdx, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x18]
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x18], ebx
mov qword [rsp + 0x40], rdx
mov byte [rsp + 0x16], cl
mov qword [rsp + 0x38], rdi
call fcn.0043a980
cmp eax, 4
ja 0x437aa5
nop dword [rax]
cmp eax, 1
je 0x437a9b
cmp eax, 2
jne 0x437a8c
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0xb2], 0
nop
je 0x43797c
cmp byte [rax + 0xb1], 0
je 0x43796f
cmp qword [rax + 0x10], 0xfffffffffffffade
jne 0x437962
mov rdx, qword [rsp + 0x40]
nop word [rax + rax]
cmp qword [rax + 0x30], rdx
jne 0x437958
mov esi, dword [rdx + 0x300]
mov edi, dword [rsp + 0x18]
cmp esi, edi
sete sil
jmp 0x437987
mov edi, dword [rsp + 0x18]
xor esi, esi
nop
jmp 0x437987
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
xor esi, esi
jmp 0x437987
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
xor esi, esi
jmp 0x437987
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
xor esi, esi
test sil, sil
je 0x43799b
movzx ecx, byte [rsp + 0x16]
mov rbx, qword [rsp + 0x30]
jmp 0x437b6d
mov ebx, 2
mov ecx, 0x1002
call fcn.0043ab40
test al, al
je 0x437a6f
mov rax, qword [rsp + 0x60]
mov word [rax + 0xb1], 0x101
mov qword [rax + 0x10], 0xfffffffffffffade
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x48], rdx
mov esi, dword [rdx + 0x300]
mov dword [rsp + 0x1c], esi
mov rdi, qword [rsp + 0x40]
cmp rdi, rdx
je 0x4379ec
mov edi, 1
jmp 0x4379f6
mov edi, dword [rsp + 0x18]
cmp esi, edi
setne dil
mov byte [rsp + 0x17], dil
mov ebx, 0x1002
mov ecx, 2
call fcn.0043a9a0
cmp dword [0x00838638], 0
jne 0x437a4f
movzx eax, byte [rsp + 0x17]
test al, al
je 0x437a4f
nop dword [rax]
call fcn.00452f40
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
jl 0x437a54
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
call fcn.00435020
mov rcx, qword [rsp + 0x20]
lea rsi, [rcx + 0x1388]
mov rcx, rsi
jmp 0x437a54
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
mov edi, dword [rsp + 0x1c]
mov rbx, rcx
movzx ecx, byte [rsp + 0x16]
jmp 0x437b6d
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x16]
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
mov rbx, qword [rsp + 0x30]
jmp 0x437b6d
cmp eax, 3
jb 0x437ad5
movzx ecx, byte [rsp + 0x16]
jmp 0x437b35
movzx ecx, byte [rsp + 0x16]
jmp 0x437b35
cmp eax, 6
je 0x437c1e
cmp eax, 8
jne 0x437ad0
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x16]
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
mov rbx, qword [rsp + 0x30]
jmp 0x437b6d
cmp eax, 9
je 0x437af9
bt eax, 0xc
jae 0x437c31
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x16]
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
mov rbx, qword [rsp + 0x30]
jmp 0x437b6d
mov rax, qword [rsp + 0x60]
mov ebx, 9
mov ecx, 4
call fcn.0043afe0
test al, al
jne 0x437b2b
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x16]
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
mov rbx, qword [rsp + 0x30]
jmp 0x437b6d
mov eax, 4
mov ecx, 1
mov byte [rsp + 0x16], cl
mov ebx, eax
bts eax, 0xc
mov edx, eax
mov rax, qword [rsp + 0x60]
mov ecx, edx
call fcn.0043ab40
test al, al
jne 0x437bf1
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x16]
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x18]
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x18], edi
mov qword [rsp + 0x40], rdx
mov byte [rsp + 0x16], cl
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x437b90
mov r8, qword [rsp + 0x28]
jmp 0x437b9c
call fcn.00452f40
lea r8, [rax + 0x2710]
mov qword [rsp + 0x28], r8
call fcn.00452f40
mov rcx, qword [rsp + 0x28]
cmp rax, rcx
jge 0x437bda
mov dword [rsp], 0xa
call fcn.00461060
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov r8, qword [rsp + 0x28]
jmp 0x4378b2
call fcn.00434ce0
nop
call fcn.00452f40
lea r8, [rax + 0x1388]
jmp 0x4378b2
mov rax, qword [rsp + 0x60]
mov word [rax + 0xb1], 0
mov rdx, qword [rax]
add rdx, 0x13a0
mov qword [rax + 0x10], rdx
xor ebx, ebx
movzx ecx, byte [rsp + 0x16]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
xor eax, eax
mov ebx, 1
xor ecx, ecx
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rax, qword [rsp + 0x60]
call fcn.0043a3a0
lea rax, [0x00648413]
mov ebx, 0x10
call fcn.00436d80
lea rax, [0x00653181]
mov ebx, 0x27
call fcn.00436d80
nop
mov qword [rsp + 8], rax
call fcn.00463620
mov rax, qword [rsp + 8]
jmp fcn.00437860