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

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rdx, qword [rbp + 0x50]
lea esi, [r9 - 0xb]
mov r15, qword [rbp + 0x50]
xor ebx, ebx
mov dword [rbp + 0x48], r9d
mov r14d, r9d
mov dword [rbp + 0x70], esi
mov r12, rcx
mov qword [rbp + 0x98], rdx
mov edi, r9d
cmp r9d, esi
jbe 0x18000588b
mov rax, qword [rbp + 0x50]
lea r13d, [r9 - 0xba]
mov r9d, dword [rbp + 0x58]
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x60], r9d
mov qword [rbp - 0x10], r15
lea r8, [0x18009f470]
lea r10, [0x180000000]
cmp r13d, 0x38
ja case.0x18000553e.11
movzx eax, byte [r10 + r13 + 0x5b3c]
mov ecx, dword [r10 + rax*4 + 0x5b0c]
add rcx, r10
jmp rcx
mov rax, qword [rbp + 0x80]
mov rcx, qword [r12]
mov rdx, qword [rax]
inc rdx
call fcn.180061838
mov rcx, rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rbx
jmp 0x1800057c7
test r12, r12
jne 0x180005591
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.a___NULL
call fcn.1800064b0
xor r9d, r9d
mov r8, r12
xor edx, edx
mov ecx, 0xce
call fcn.1800377d0
mov dword [rbp + 0x88], eax
jmp case.0x18000553e.11
test r12, r12
jne case.0x18000553e.11
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.VXORPDZ128rm
call fcn.1800064b0
jmp case.0x18000553e.11
mov ecx, 0x18
call fcn.18006717c
mov r15, rax
mov qword [rbp - 0x10], rax
jmp case.0x18000553e.11
test r12, r12
jne 0x180005617
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.in___NULL
call fcn.1800064b0
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.NO_SELECTOR
call fcn.1800064b0
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.outlen___NULL
call fcn.1800064b0
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.PerIeRe
call fcn.1800064b0
jmp case.0x18000553e.11
test r15, r15
je 0x1800056b2
mov rax, qword [r12]
mov qword [r15 + 0x10], rax
mov qword [r15 + 8], rbx
jmp case.0x18000553e.11
mov rcx, qword [r15 + 0x10]
inc rcx
call fcn.18006717c
mov qword [r15], rax
test rax, rax
jne case.0x18000553e.11
mov rcx, r15
call fcn.180065650
mov rax, rbx
jmp 0x180005867
mov dword [rbp + 0x60], ebx
jmp case.0x18000553e.11
mov r15d, VarR4FromUI1
cmp r15d, 0x41
je 0x1800056e0
cmp r15d, 0x104
je case.0x18000553e.0
jmp 0x180005795
test r12, r12
jne 0x18000570c
lea r9, [rbp + 0x68]
mov dword [rbp + 0x68], ebx
mov r8d, 0x8c
lea rdx, [0x18008f048]
lea rcx, str.cipher___NULL
call fcn.1800064b0
lea r8, [0x18009f470]
mov esi, ebx
mov rdi, r8
nop dword [rax]
nop word [rax + rax]
mov r14d, esi
mov rdx, r12
imul rcx, r14, 0xb0
add rcx, r8
mov r8d, VarDecMul
call fcn.18005e380
test eax, eax
jne 0x18000576f
mov ecx, 0x9d
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x9c
je 0x180005847
cmp eax, 1
jne 0x180005765
mov qword [rdi], rbx
dec ecx
cmp ecx, 0x9b
ja 0x180005750
inc esi
lea r8, [0x18009f470]
add rdi, 0xb0
cmp esi, 0x20
jl 0x180005720
mov dword [rbp + 0x88], 1
lea r8, [0x18009f470]
add r15d, 0xc3
cmp r15d, 0x1c7
jb 0x1800056c8
mov edi, dword [rbp + 0x48]
mov esi, dword [rbp + 0x70]
mov r15, qword [rbp - 0x10]
mov eax, dword [rbx]
dec eax
cmp eax, 1
ja 0x18000587f
mov rcx, qword [rbp + 0x90]
dec edi
dec r13d
mov dword [rbp + 0x48], edi
cmp edi, esi
ja 0x180005512
mov r14d, dword [rbp + 0x58]
mov r13d, dword [rbp + 0x60]
lea esi, [r14 + 0x53c]
cmp r14d, esi
jae case.0x18000553e.0
mov edi, dword [rbp + 0x58]
mov r11d, dword [rbp + 0x58]
cmp r14d, 0x157
ja 0x180005994
je case.0x18000553e.0
mov eax, r14d
sub eax, 0xc6
je 0x180005927
sub eax, 0xb
je 0x1800058cd
sub eax, 0xb
je 0x1800058c3
sub eax, 0xb
je 0x18000589f
cmp eax, 0x65
jne 0x1800059e7
cmp r11d, dword [rbx]
jbe 0x1800059e7
mov dword [rbx], r11d
mov dword [rbp + 0x88], 6
jmp case.0x18000553e.0
imul rax, r14, 0xb0
lea rcx, [0x18009f470]
mov byte [rax + rcx + 8], 0xff
mov dword [rbp + 0x88], ebx
mov rax, qword [rbp + 0x88]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [rbp + 0x88], 0x18
jmp case.0x18000553e.0
mov rcx, qword [rbp + 0x50]
mov r13d, dword [rbp + 0x58]
mov qword [rbp + 0x90], rcx
jmp 0x1800057df
test rcx, rcx
je 0x1800059fc
mov rax, qword [rbp + 0x80]
mov qword [r12], rcx
mov dword [rbp + 0x78], ebx
mov rax, qword [rax]
mov qword [r12 + 0x10], rax
jmp 0x1800059e7
mov rax, qword [r15]
mov byte [rax], bl
jmp 0x1800059e7
mov r9d, ebx
lea r10, [0x18009e8c0]
mov rax, qword [r10]
test rax, rax
je 0x18000590b
mov r8, r12
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180005903
inc rax
test ecx, ecx
jne 0x1800058f0
test edx, edx
je 0x180005a09
inc r9d
add r10, 0x50
cmp r9d, 0x20
jl 0x1800058d7
mov dword [rbp + 0x88], 0xffffffff
jmp 0x1800059e0
mov eax, dword [rbx]
lea rdx, [rbp + 0x58]
mov r8d, 0x8c
mov dword [rbp + 0x58], eax
xor ecx, ecx
call fcn.18002ad40
test eax, eax
jne 0x180005a87
cmp dword [rbx], 2
jne 0x180005971
lea r9, [rbp + 0x58]
mov dword [rbp + 0x58], 2
xor r8d, r8d
mov dword [rsp + 0x20], 0xc5
xor edx, edx
xor ecx, ecx
call fcn.18000efe0
test eax, eax
jne 0x180005a87
mov rcx, qword [0x18]
call qword [0x18009f328]
mov rcx, qword [0x18]
mov edi, eax
call qword [0x18009f350]
mov r11d, eax
jmp 0x1800059e0
mov eax, r14d
sub eax, 0x162
je 0x180005b01
sub eax, 0xb
je 0x1800059d4
sub eax, 0x65
je 0x180005a15
cmp eax, 0x21
jne 0x1800059e7
mov rdx, qword [rbp + 0x98]
lea r8, [rbp + 0x78]
mov ecx, r13d
call qword [sym.imp.urlmon.dll_ObtainUserAgentString]
mov dword [rbp + 0x88], 1
jmp case.0x18000553e.0
mov rcx, qword [r12 + 0x10]
mov rax, qword [r12]
mov byte [rcx + rax], bl
mov rcx, qword [rbp + 0x90]
add r14d, 0x86
cmp r14d, esi
jb 0x1800057f2
jmp case.0x18000553e.0
mov rcx, r12
call fcn.180065650
jmp 0x18000585a
mov dword [rbp + 0x88], r9d
jmp case.0x18000553e.0
mov eax, dword [rbx]
lea rcx, [rbp + 0x50]
mov dword [rbp + 0x48], 2
mov r8, r12
cmp eax, 2
jne 0x180005a92
mov dword [rbp + 0x50], eax
lea r9, [rbp + 0x70]
mov dword [rbp + 0x70], eax
mov edx, VarDecMul
mov dword [rbp + 0x58], eax
mov rax, qword [rbp + 0x80]
mov dword [rbp + 0x60], edi
mov eax, dword [rax]
mov dword [rbp + 0x68], eax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.180018870
test eax, eax
je 0x180005adc
mov dword [rbp + 0x88], eax
jmp case.0x18000553e.0
mov dword [rbp + 0x50], eax
lea r9, [rbp + 0x60]
mov dword [rbp + 0x68], eax
lea rdx, [rbp + 0x68]
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], 0xed
mov dword [rbp + 0x58], edi
mov eax, dword [rax]
mov dword [rbp + 0x60], eax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call fcn.18000d6f0
test eax, eax
jne 0x180005a87
mov edx, dword [rbp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call qword [0x18009f440]
mov dword [rbp + 0x88], eax
jmp case.0x18000553e.0
mov rax, r15
jmp 0x180005867