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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rsi, rdx
mov rdi, rcx
lea rdx, str.EMAIL
mov rbx, r8
mov rcx, rsi
mov rbp, r9
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002c88
lea rdx, str.IPV4
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002bc0
lea rdx, str.IPV6
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002e48
lea rdx, [0x1400a7268]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002e58
lea rdx, str.DIGIT
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002db8
lea rdx, [0x1400a727d]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002ef0
lea rdx, [0x1400a729c]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002f7a
lea rdx, [0x1400a72d5]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140002e65
lea rdx, [0x1400a72f4]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140003003
lea rdx, str.UUID1
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14000306b
lea rdx, str.UUID2
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14000307f
lea rdx, str.UUID3
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400030a7
lea rdx, str.UUID4
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140003093
lea rdx, str.UUID
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140003093
lea rdx, str.UUID5
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400030bb
lea rdx, str.BYTES
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400030cf
lea rdx, str.SPACE
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140003109
lea rdx, str.USERAGENT
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400030df
movabs rax, 0x5851f42d4c957f2d
imul rax, qword [0x1400c4050]
mov ecx, 0x2d
xor edx, edx
add rax, 1
mov qword [0x1400c4050], rax
div rcx
lea rax, str.8t_n_
mov rbp, qword [rax + rdx*8]
jmp 0x140002c38
mov ecx, 0x10
call sub.msvcrt.dll_malloc
mov rcx, qword [0x1400c4050]
movabs r9, 0x5851f42d4c957f2d
lea r8, str._d._d._d._d
mov rbp, rax
imul rcx, r9
add rcx, 1
mov rdx, rcx
movzx ecx, cl
imul rdx, r9
mov dword [rsp + 0x30], ecx
mov rcx, rbp
add rdx, 1
mov rax, rdx
movzx edx, dl
imul rax, r9
mov dword [rsp + 0x28], edx
mov edx, 0x10
add rax, 1
imul r9, rax
movzx eax, al
mov dword [rsp + 0x20], eax
add r9, 1
mov qword [0x1400c4050], r9
movzx r9d, r9b
call fcn.140002050
test rbp, rbp
je 0x140002d92
lea rdx, [0x1400a742a]
mov rcx, rdi
mov r8, rbp
call fcn.140002070
lea rdx, str.USERAGENT
mov rcx, rsi
mov ebx, eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140002da8
movsxd rax, ebx
add rax, rdi
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
movabs r12, 0x5851f42d4c957f2d
mov ecx, 0x100
call sub.msvcrt.dll_malloc
mov rbx, qword [0x1400c4050]
mov rbp, rax
movabs rax, 0xcccccccccccccccd
imul rbx, r12
add rbx, 1
mul rbx
shr rdx, 5
lea rax, [rdx + rdx*4]
mov rdx, rbx
imul rbx, r12
shl rax, 3
sub rdx, rax
lea rax, str.gmail.com
mov r14, qword [rax + rdx*8]
add rbx, 1
mov eax, ebx
mov qword [0x1400c4050], rbx
sar eax, 0x1f
shr eax, 0x1a
lea r13d, [rax + rbx]
and r13d, 0x3f
sub r13d, eax
movsxd r13, r13d
lea rcx, [r13 + 1]
call sub.msvcrt.dll_malloc
mov r9, rax
test rax, rax
je 0x140002d70
test r13, r13
je 0x140002d6b
mov r10, rax
lea r11, [r13 + rax]
lea r8, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.__
movabs rcx, 0xfc0fc0fc0fc0fc1
nop dword [rax]
imul rbx, r12
add r10, 1
add rbx, 1
mov rax, rbx
mul rcx
shr rdx, 2
mov rax, rdx
shl rax, 6
add rax, rdx
mov rdx, rbx
sub rdx, rax
movzx eax, byte [r8 + rdx]
mov byte [r10 - 1], al
cmp r11, r10
jne 0x140002d30
mov qword [0x1400c4050], rbx
mov byte [r9 + r13], 0
mov qword [rsp + 0x20], r14
lea r8, str._s__s
mov edx, 0x100
mov rcx, rbp
call fcn.140002050
test rbp, rbp
jne 0x140002c41
mov rax, rdi
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x140002c6c
lea rcx, [rbx + 1]
call sub.msvcrt.dll_malloc
mov rbp, rax
test rax, rax
je 0x140002d92
test rbx, rbx
je 0x140002e38
mov rcx, qword [0x1400c4050]
mov r8, rax
lea r12, [rbx + rax]
lea r11, [0x1400a7272]
movabs r10, 0x5851f42d4c957f2d
movabs r9, 0xcccccccccccccccd
nop word [rax + rax]
imul rcx, r10
add r8, 1
add rcx, 1
mov rax, rcx
mul r9
shr rdx, 3
lea rax, [rdx + rdx*4]
mov rdx, rcx
add rax, rax
sub rdx, rax
movzx eax, byte [r11 + rdx]
mov byte [r8 - 1], al
cmp r12, r8
jne 0x140002e00
mov qword [0x1400c4050], rcx
mov byte [rbp + rbx], 0
jmp 0x140002c41
call fcn.1400026b0
mov rbp, rax
jmp 0x140002c38
call fcn.140002540
mov rbp, rax
jmp 0x140002c38
lea rcx, [rbx + 1]
call sub.msvcrt.dll_malloc
mov rbp, rax
test rax, rax
je 0x140002d92
test rbx, rbx
je 0x140002e38
mov rcx, qword [0x1400c4050]
mov r8, rax
lea r12, [rbx + rax]
lea r11, str.ABCDEFGHIJKLMNOPQRSTUVWXYZ
movabs r10, 0x5851f42d4c957f2d
movabs r9, 0x4ec4ec4ec4ec4ec5
nop dword [rax + rax]
imul rcx, r10
add r8, 1
add rcx, 1
mov rax, rcx
mul r9
shr rdx, 3
lea rax, [rdx + rdx*2]
lea rax, [rdx + rax*4]
mov rdx, rcx
add rax, rax
sub rdx, rax
movzx eax, byte [r11 + rdx]
mov byte [r8 - 1], al
cmp r12, r8
jne 0x140002eb0
jmp 0x140002e31
lea rcx, [rbx + 1]
call sub.msvcrt.dll_malloc
mov rbp, rax
test rax, rax
je 0x140002d92
test rbx, rbx
je 0x140002e38
mov rcx, qword [0x1400c4050]
mov r8, rax
lea r12, [rbx + rax]
lea r11, str.abcdefghijklmnopqrstuvwxyz
movabs r10, 0x5851f42d4c957f2d
movabs r9, 0x4ec4ec4ec4ec4ec5
nop word [rax + rax]
imul rcx, r10
add r8, 1
add rcx, 1
mov rax, rcx
mul r9
shr rdx, 3
lea rax, [rdx + rdx*2]
lea rax, [rdx + rax*4]
mov rdx, rcx
add rax, rax
sub rdx, rax
movzx eax, byte [r11 + rdx]
mov byte [r8 - 1], al
cmp r12, r8
jne 0x140002f40
jmp 0x140002e31
lea rcx, [rbx + 1]
call sub.msvcrt.dll_malloc
mov rbp, rax
test rax, rax
je 0x140002d92
test rbx, rbx
je 0x140002e38
mov rcx, qword [0x1400c4050]
mov r8, rax
lea r12, [rbx + rax]
lea r11, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
movabs r10, 0x5851f42d4c957f2d
movabs r9, 0x4ec4ec4ec4ec4ec5
nop dword [rax]
imul rcx, r10
add r8, 1
add rcx, 1
mov rax, rcx
mul r9
shr rdx, 4
lea rax, [rdx + rdx*2]
lea rax, [rdx + rax*4]
mov rdx, rcx
shl rax, 2
sub rdx, rax
movzx eax, byte [r11 + rdx]
mov byte [r8 - 1], al
cmp r12, r8
jne 0x140002fc8
jmp 0x140002e31
lea rcx, [rbx + 1]
call sub.msvcrt.dll_malloc
mov rbp, rax
test rax, rax
je 0x140002d92
test rbx, rbx
je 0x140002e38
mov rax, qword [0x1400c4050]
mov rdx, rbp
lea r10, [rbx + rbp]
lea r9, [0x1400a72f8]
movabs r8, 0x5851f42d4c957f2d
imul rax, r8
add rdx, 1
add rax, 1
mov rcx, rax
and ecx, 0xf
movzx ecx, byte [r9 + rcx]
mov byte [rdx - 1], cl
cmp r10, rdx
jne 0x140003040
mov qword [0x1400c4050], rax
jmp 0x140002e38
lea rcx, str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
call fcn.140002790
mov rbp, rax
jmp 0x140002c38
lea rcx, str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
call fcn.140002790
mov rbp, rax
jmp 0x140002c38
lea rcx, str.xxxxxxxx_xxxx_4xxx_xxxx_xxxxxxxxxxxx
call fcn.140002790
mov rbp, rax
jmp 0x140002c38
lea rcx, str.xxxxxxxx_xxxx_3xxx_xxxx_xxxxxxxxxxxx
call fcn.140002790
mov rbp, rax
jmp 0x140002c38
lea rcx, str.xxxxxxxx_xxxx_5xxx_xxxx_xxxxxxxxxxxx
call fcn.140002790
mov rbp, rax
jmp 0x140002c38
mov rcx, rbx
call fcn.140002830
mov rbp, rax
jmp 0x140002c38
lea rdx, str.NULL
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140003120
lea rdx, [0x1400a7408]
mov rcx, rbx
call fcn.1400024b0
mov rbp, rax
jmp 0x140002c38
lea rdx, str.__r_n_t_v_b_f
mov rcx, rbx
call fcn.1400024b0
mov rbp, rax
jmp 0x140002c38
mov r8, rbp
lea rdx, str.___s__
mov rcx, rdi
call fcn.140002070
cdqe
add rax, rdi
jmp 0x140002c72