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

Disassembly:
lea r12, [rsp - 0x8b0]
cmp r12, qword [r14 + 0x10]
jbe 0x56cda1
push rbp
mov rbp, rsp
sub rsp, 0x928
mov byte [rsp + 0xbc8], r9b
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0x2e8], r8
mov qword [rsp + 0xba8], rcx
mov qword [rsp + 0xba0], rbx
mov qword [rsp + 0xbb8], rsi
mov qword [rsp + 0xbb0], rdi
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov qword [rsp + 0xb88], 0
mov qword [rsp + 0xb8e], 0
movups xmmword [rsp + 0x3b0], xmm15
mov word [rsp + 0xa3a], 1
mov r11, qword [rsp + 0x938]
mov qword [rsp], r11
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x93c]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f60
mov rbp, qword [rbp]
mov eax, r10d
call fcn.0056b160
nop dword [rax + rax]
test r10, r10
jne 0x56c347
movzx edx, byte [rsp + 0xbc8]
test dl, dl
je 0x56c2a9
movups xmmword [rsp + 0x3c0], xmm15
lea rdx, [0x006b066f]
mov qword [rsp + 0x3c0], rdx
mov qword [rsp + 0x3c8], 3
lea rdx, [rsp + 0x3c0]
mov r10d, 1
jmp 0x56c2ff
movups xmmword [rsp + 0x3e8], xmm15
movups xmmword [rsp + 0x3f8], xmm15
lea rdx, [0x006b0672]
mov qword [rsp + 0x3e8], rdx
mov qword [rsp + 0x3f0], 3
lea rdx, [0x006b066f]
mov qword [rsp + 0x3f8], rdx
mov qword [rsp + 0x400], 3
lea rdx, [rsp + 0x3e8]
mov r10d, 2
mov word [rsp + 0x296], ax
mov qword [rsp + 0x2b0], r8
mov qword [rsp + 0x2c0], r10
mov qword [rsp + 0x380], rsi
mov qword [rsp + 0x2b8], r9
mov qword [rsp + 0x378], rbx
mov qword [rsp + 0x2a0], rcx
mov qword [rsp + 0x2a8], rdi
xor r11d, r11d
jmp 0x56c420
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov qword [rsp + 0xb88], 0
mov qword [rsp + 0xb8e], 0
mov rax, qword [0x008bddf0]
mov rcx, qword [0x008bddf8]
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rcx
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
mov rdx, qword [rsp + 0x3a0]
add rdx, 0x10
mov r11, qword [rsp + 0x2e0]
inc r11
movzx eax, word [rsp + 0x296]
mov rcx, qword [rsp + 0x2a0]
mov rbx, qword [rsp + 0x378]
mov rsi, qword [rsp + 0x380]
mov rdi, qword [rsp + 0x2a8]
mov r8, qword [rsp + 0x2b0]
mov r9, qword [rsp + 0x2b8]
mov r10, qword [rsp + 0x2c0]
nop
cmp r11, r10
jge 0x56ccff
mov qword [rsp + 0x2e0], r11
mov qword [rsp + 0x3a0], rdx
mov rax, qword [rdx]
mov qword [rsp + 0x388], rax
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x2c8], rcx
call fcn.004ce6c0
mov rdi, qword [rsp + 0x2e8]
nop dword [rax]
call fcn.004cdea0
mov rdi, rbx
mov rsi, rcx
xor r8d, r8d
xor r9d, r9d
mov rbx, qword [rsp + 0xba8]
mov rcx, rax
mov rax, qword [rsp + 0xba0]
call fcn.004ec260
mov qword [rsp + 0x370], rbx
mov qword [rsp + 0x298], rax
mov rax, rcx
nop dword [rax]
call fcn.00435880
test eax, eax
jne 0x56cce1
mov rax, qword [rsp + 0x3a8]
mov rbx, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x370]
mov rdi, qword [rsp + 0x388]
mov rsi, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0xbb0]
mov r9, qword [rsp + 0xbb8]
call fcn.0057a980
test rcx, rcx
jne 0x56cc41
mov qword [rsp + 0x398], rbx
mov qword [rsp + 0x2d8], rax
mov rcx, qword [rsp + 0x298]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x370]
call rcx
test dil, dil
je 0x56c59c
mov qword [rsp + 0x3d0], rax
mov qword [rsp + 0x3d8], rbx
mov qword [rsp + 0x3e0], rcx
mov rdx, qword [rsp + 0x3d0]
bt rdx, 0x3f
jae 0x56c55e
mov rsi, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r8, 0xdd7b17f80
add rdx, r8
jmp 0x56c56e
mov rsi, rdx
movabs r8, 0xdd7b17f80
mov rdx, rbx
test rdx, rdx
jne 0x56c57d
and esi, 0x3fffffff
test esi, esi
je 0x56c59c
mov rdx, qword [rsp + 0x2d8]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x398]
call rsi
movups xmmword [rsp + 0x408], xmm15
lea rdi, [rsp + 0x410]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov qword [rsp + 0x2f2], 0
mov qword [rsp + 0x2f8], 0
lea rax, [0x00681cc0]
mov rbx, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x398]
call fcn.0040b0a0
test rax, rax
je 0x56c7b8
movups xmmword [rsp + 0x550], xmm15
lea rdi, [rsp + 0x558]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x938]
mov qword [rsp], rdx
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x93c]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f60
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x2d8]
mov rbx, qword [rsp + 0x398]
movzx ecx, word [rsp + 0x296]
mov rdi, qword [rsp + 0x378]
mov rsi, qword [rsp + 0x2a0]
mov r8, qword [rsp + 0x2a8]
call fcn.0056b6a0
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x550], rdx
lea rdi, [rsp + 0x558]
lea rsi, [rsp + 0x110]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x250]
mov r9, qword [rsp + 0x256]
mov qword [rsp + 0x346], rdx
mov qword [rsp + 0x34c], r9
mov rdx, qword [rsp + 0x550]
mov qword [rsp + 0x7e0], rdx
lea rdi, [rsp + 0x7e8]
lea rsi, [rsp + 0x558]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x346]
mov r9, qword [rsp + 0x34c]
mov qword [rsp + 0x362], rdx
mov qword [rsp + 0x368], r9
mov rdx, qword [rsp + 0x7e0]
mov qword [rsp + 0x408], rdx
lea rdi, [rsp + 0x410]
lea rsi, [rsp + 0x7e8]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x362]
mov r9, qword [rsp + 0x368]
mov qword [rsp + 0x2f2], rdx
mov qword [rsp + 0x2f8], r9
jmp 0x56c953
movups xmmword [rsp + 0x550], xmm15
lea rdi, [rsp + 0x558]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x938]
mov qword [rsp], rdx
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x93c]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f60
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x2d8]
mov rbx, qword [rsp + 0x398]
movzx ecx, word [rsp + 0x296]
mov rdi, qword [rsp + 0x380]
mov rsi, qword [rsp + 0x2b0]
mov r8, qword [rsp + 0x2b8]
call fcn.0056bb00
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x550], rdx
lea rdi, [rsp + 0x558]
lea rsi, [rsp + 0x110]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x250]
mov r9, qword [rsp + 0x256]
mov qword [rsp + 0x346], rdx
mov qword [rsp + 0x34c], r9
mov rdx, qword [rsp + 0x550]
mov qword [rsp + 0x698], rdx
lea rdi, [rsp + 0x6a0]
lea rsi, [rsp + 0x558]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x346]
mov r9, qword [rsp + 0x34c]
mov qword [rsp + 0x354], rdx
mov qword [rsp + 0x35a], r9
mov rdx, qword [rsp + 0x698]
mov qword [rsp + 0x408], rdx
lea rdi, [rsp + 0x410]
lea rsi, [rsp + 0x6a0]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x354]
mov r9, qword [rsp + 0x35a]
mov qword [rsp + 0x2f2], rdx
mov qword [rsp + 0x2f8], r9
mov qword [rsp + 0x390], rbx
mov qword [rsp + 0x2d0], rax
mov rcx, qword [rsp + 0x2d8]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x398]
call rcx
mov rax, qword [rsp + 0x2d0]
test rax, rax
jne 0x56cb21
lea rax, [rsp + 0x408]
call fcn.00561b00
nop word [rax + rax]
cmp qword [0x008be8c0], rax
jne 0x56ca7e
mov rcx, qword [0x008be8c8]
call fcn.00404940
nop dword [rax]
test al, al
je 0x56ca7e
cmp byte [rsp + 0x2f9], 0
jne 0x56c3c7
mov rax, qword [rsp + 0x2f2]
mov rcx, qword [rsp + 0x2f8]
mov qword [rsp + 0x30e], rax
mov qword [rsp + 0x314], rcx
mov rax, qword [rsp + 0x408]
mov qword [rsp + 0xa40], rax
lea rdi, [rsp + 0xa48]
lea rsi, [rsp + 0x410]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466f28
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x30e]
mov rcx, qword [rsp + 0x314]
mov qword [rsp + 0xb88], rax
mov qword [rsp + 0xb8e], rcx
movups xmmword [rsp + 0x3b0], xmm15
nop dword [rax]
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
mov qword [rsp + 0x31c], 0
mov qword [rsp + 0x322], 0
mov rax, qword [0x008bde10]
mov rcx, qword [0x008bde18]
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x31c]
mov rbx, qword [rsp + 0x322]
mov qword [rsp + 0xb88], rdx
mov qword [rsp + 0xb8e], rbx
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rcx
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
cmp qword [0x008be5e0], rax
jne 0x56cb60
mov rcx, qword [0x008be5e8]
mov rbx, qword [rsp + 0x390]
call fcn.00404940
nop
test al, al
je 0x56cb54
lea rax, [0x00728aa0]
lea rbx, [0x009210a0]
jmp 0x56cba4
mov rax, qword [rsp + 0x2d0]
nop dword [rax]
cmp qword [0x008be5f0], rax
jne 0x56cb9c
mov rcx, qword [0x008be5f8]
mov rbx, qword [rsp + 0x390]
call fcn.00404940
nop dword [rax]
test al, al
je 0x56cb94
mov rax, qword [0x008bde80]
mov rbx, qword [0x008bde88]
jmp 0x56cba4
mov rax, qword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x390]
mov qword [rsp + 0x32a], 0
mov qword [rsp + 0x330], 0
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x32a]
mov rdx, qword [rsp + 0x330]
mov qword [rsp + 0xb88], rcx
mov qword [rsp + 0xb8e], rdx
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rbx
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
mov qword [rsp + 0x338], 0
mov qword [rsp + 0x33e], 0
movups xmmword [rsp + 0xa40], xmm15
mov rax, rdi
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x338]
mov rbx, qword [rsp + 0x33e]
mov qword [rsp + 0xb88], rdx
mov qword [rsp + 0xb8e], rbx
mov qword [rsp + 0x3b0], rcx
mov qword [rsp + 0x3b8], rax
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
mov qword [rsp + 0x300], 0
mov qword [rsp + 0x306], 0
mov rax, qword [0x008bde20]
mov rcx, qword [0x008bde28]
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466c3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x306]
mov qword [rsp + 0xb88], rdx
mov qword [rsp + 0xb8e], rbx
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rcx
call fcn.00435fa0
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
add rsp, 0x928
pop rbp
ret
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x280], rdi
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x290], r8
mov byte [rsp + 0x298], r9b
mov byte [rsp + 0x299], r10b
call fcn.004646a0
mov rax, qword [rsp + 0x268]
mov rbx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x278]
mov rdi, qword [rsp + 0x280]
mov rsi, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
movzx r9d, byte [rsp + 0x298]
movzx r10d, byte [rsp + 0x299]
jmp fcn.0056c180