Function at 0x140182340
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf0
mov rax, qword [0x1403c6030]
xor rax, rsp
mov qword [rbp - 9], rax
mov edi, r9d
mov dword [rsp + 0x54], r9d
mov r13, r8
mov qword [rsp + 0x38], rdx
mov r15, rcx
mov qword [rsp + 0x48], rcx
mov rcx, qword [rcx + 0x30]
mov eax, dword [rcx + 0x1cc]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp dword [rbp + 0x67], eax
jne 0x1401833ae
mov eax, dword [rcx + 0x1d0]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
cmp dword [rbp + 0x6f], eax
jne 0x1401833ae
xor ebx, ebx
mov dword [rsp + 0x30], ebx
mov byte [rsp + 0x20], bl
mov r9b, 1
lea r8, [rsp + 0x30]
mov edx, edi
mov rcx, r15
call fcn.14006e480
cmp dword [rsp + 0x30], ebx
je 0x140183592
lea eax, [rdi - 0xeee]
cmp eax, 8
ja 0x1401823f4
test al, 1
jne 0x1401823f4
lea rdx, str.hair
jmp 0x140182411
lea eax, [rdi - 0x1552]
cmp eax, 8
ja 0x14018240a
test al, 1
lea rdx, str.drops
je 0x140182411
lea rdx, str.lenses
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], bl
jne 0x140182427
lea rcx, [rbp - 0x29]
call fcn.1400167a0
nop
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
setae r14b
mov byte [rsp + 0x34], r14b
mov rsi, qword [rbp - 0x29]
mov qword [rsp + 0x58], rsi
cmovae rcx, rsi
movzx r12d, byte [rbp + 0x97]
mov rdi, qword [rbp - 0x19]
mov qword [rbp - 0x49], rdi
cmp rdi, 6
jne 0x1401824ba
mov r8, rdi
lea rdx, str.lenses
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401824ba
test r12b, r12b
jne 0x1401824ba
mov rax, qword [r15 + 0x30]
cmp dword [rax + 0x694], 0xffffffff
jne 0x1401824ba
mov eax, dword [rbp + 0x7f]
lea ecx, [rax + rax*8]
mov dword [rsp + 0x30], ecx
mov eax, dword [rbp + 0x87]
lea ecx, [rax + rax*8]
mov dword [rsp + 0x44], ecx
mov eax, dword [rbp + 0x8f]
lea ecx, [rax + rax*8]
mov dword [rsp + 0x50], ecx
jmp 0x1401824d5
mov eax, dword [rbp + 0x8f]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x87]
mov dword [rsp + 0x44], eax
mov eax, dword [rbp + 0x7f]
mov dword [rsp + 0x30], eax
movzx r12d, word [r13]
mov eax, 0xe6
cmp r12w, ax
je 0x140182532
mov eax, 0x180e
cmp r12w, ax
je 0x140182532
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 4
jne 0x140182514
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140182582
mov eax, 0x155c
cmp r12w, ax
je 0x1401827bc
mov eax, 0x1e3c
cmp r12w, ax
je 0x1401827bc
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 5
jne 0x140182556
mov r8, rdi
lea rdx, str.drops
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140182582
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 6
jne 0x1401827bc
mov r8, rdi
lea rdx, str.lenses
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401827bc
mov dword [rsp + 0x60], ebx
mov ecx, 0x3d
call fcn.1402d160c
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x64], 0x3d
mov dword [rax + 0xc], ebx
mov qword [rax + 0x10], 8
mov qword [rax + 0x1c], rbx
mov qword [rax + 0x24], rbx
mov qword [rax + 0x2c], rbx
mov qword [rax + 0x34], rbx
mov byte [rax + 0x3c], 0
mov dword [rax], 4
mov dword [rax + 4], 1
mov dword [rax + 8], 0xffffffff
mov dword [rax + 0x18], ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, str.OnTalkBubble
lea rcx, [rbp - 0x69]
call fcn.1400167a0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x60]
call fcn.1400348f0
mov rax, qword [r15 + 0x30]
mov r12d, dword [rax + 0x1bc]
movsxd r14, dword [rsp + 0x64]
lea r15d, [r14 + 6]
movsxd rcx, r15d
call fcn.1402d160c
mov r13, rax
mov r8, r14
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x68]
call fcn.1402d0d60
mov qword [rsp + 0x68], r13
movzx ecx, byte [rsp + 0x60]
mov byte [r14 + r13], cl
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r13], 9
mov dword [r14 + r13 + 2], r12d
mov dword [rsp + 0x64], r15d
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov byte [r13 + 0x3c], al
lea rcx, [rbp - 0x29]
cmp byte [rsp + 0x34], 0
cmovne rcx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x49]
cmp rdi, 4
jne 0x1401826aa
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401826aa
lea r8d, [rdi + 0x37]
lea rdx, str.Youll_make_a_huge_mess_if_you_do_that_outside_the_Bathtub_
jmp 0x1401826b7
mov r8d, 0x4f
lea rdx, str.Youd_better_do_that_in_front_of_a_bathroom_mirror_or_youll_poke_your_eye_out_
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
lea rcx, [rbp - 0x69]
call fcn.1400167a0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x60]
call fcn.1400348f0
movsxd r14, dword [rsp + 0x64]
lea r13d, [r14 + 6]
movsxd rcx, r13d
call fcn.1402d160c
mov r15, rax
mov r8, r14
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x68]
call fcn.1402d0d60
mov qword [rsp + 0x68], r15
movzx ecx, byte [rsp + 0x60]
mov byte [r15 + r14], cl
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r15], 9
mov dword [r15 + r14 + 2], ebx
mov dword [rsp + 0x64], r13d
mov esi, dword [rsp + 0x60]
inc esi
mov dword [rsp + 0x60], esi
mov byte [r15 + 0x3c], sil
lea edi, [r13 + 6]
movsxd rcx, edi
call fcn.1402d160c
mov r14, rax
movsxd rbx, r13d
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r15
call fcn.1402d0d60
mov qword [rsp + 0x68], r14
mov byte [r14 + rbx], sil
movsxd rcx, r13d
mov byte [rcx + r14 + 1], 9
mov dword [r14 + rbx + 2], 1
mov dword [rsp + 0x64], edi
lea eax, [rsi + 1]
mov dword [rsp + 0x60], eax
mov byte [r14 + 0x3c], al
movsxd rdx, r13d
add rdx, 6
mov r8d, 1
mov rcx, r14
call fcn.14000ff40
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x48]
call fcn.1400101d0
nop
mov rcx, r14
jmp 0x14018339a
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
mov r12d, dword [rbp + 0x77]
cmp rdi, 4
jne 0x1401827f1
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401827f1
mov rax, qword [r15 + 0x30]
cmp dword [rax + 0x68c], r12d
je 0x14018285f
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 5
jne 0x140182822
mov r8, rdi
lea rdx, str.drops
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140182822
mov rax, qword [r15 + 0x30]
cmp dword [rax + 0x690], r12d
je 0x14018285f
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 6
jne 0x140182b92
mov r8, rdi
lea rdx, str.lenses
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140182b92
mov r13, qword [r15 + 0x30]
cmp dword [r13 + 0x694], r12d
jne 0x140182b96
mov dword [rsp + 0x60], ebx
mov ecx, 0x3d
call fcn.1402d160c
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x64], 0x3d
mov dword [rax + 0xc], ebx
mov qword [rax + 0x10], 8
mov qword [rax + 0x1c], rbx
mov qword [rax + 0x24], rbx
mov qword [rax + 0x2c], rbx
mov qword [rax + 0x34], rbx
mov byte [rax + 0x3c], 0
mov dword [rax], 4
mov dword [rax + 4], 1
mov dword [rax + 8], 0xffffffff
mov dword [rax + 0x18], ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, str.OnTalkBubble
lea rcx, [rbp - 0x69]
call fcn.1400167a0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x60]
call fcn.1400348f0
mov rax, qword [r15 + 0x30]
mov r12d, dword [rax + 0x1bc]
movsxd r14, dword [rsp + 0x64]
lea r15d, [r14 + 6]
movsxd rcx, r15d
call fcn.1402d160c
mov r13, rax
mov r8, r14
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x68]
call fcn.1402d0d60
mov qword [rsp + 0x68], r13
movzx ecx, byte [rsp + 0x60]
mov byte [r14 + r13], cl
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r13], 9
mov dword [r14 + r13 + 2], r12d
mov dword [rsp + 0x64], r15d
mov r12d, dword [rsp + 0x60]
inc r12d
mov dword [rsp + 0x60], r12d
movzx eax, r12b
mov dword [rsp + 0x30], eax
mov byte [r13 + 0x3c], al
lea rcx, [rbp - 0x29]
movzx r14d, byte [rsp + 0x34]
test r14b, r14b
mov rsi, qword [rsp + 0x58]
cmovne rcx, rsi
mov rdi, qword [rbp - 0x49]
cmp rdi, 4
jne 0x1401829e6
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401829e6
xorps xmm0, xmm0
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
lea rcx, [rbp - 0x69]
movups xmmword [rbp - 0x69], xmm0
cmp byte [rbp + 0x97], al
je 0x1401829d4
lea r8d, [rdi + 0x17]
lea rdx, str.Your_hair_is_already_clean_
call fcn.1400167a0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x60]
call fcn.1400348f0
mov r12d, dword [rsp + 0x60]
mov dword [rsp + 0x30], r12d
jmp 0x140182ab7
mov r8d, 0x20
lea rdx, str.Your_hair_is_already_that_color_
jmp 0x140182a9a
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 5
jne 0x140182a41
mov r8, rdi
lea rdx, str.drops
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140182a41
xorps xmm0, xmm0
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
lea rcx, [rbp - 0x69]
movups xmmword [rbp - 0x69], xmm0
cmp byte [rbp + 0x97], al
je 0x140182a32
lea r8d, [rdi + 0x17]
lea rdx, str.Your_eyes_are_already_clean_
jmp 0x140182a9a
mov r8d, 0x21
lea rdx, str.Your_eyes_are_already_that_color_
jmp 0x140182a9a
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 6
jne 0x140182ab7
mov r8, rdi
lea rdx, str.lenses
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140182ab7
xorps xmm0, xmm0
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x51], rbx
lea rcx, [rbp - 0x69]
movups xmmword [rbp - 0x69], xmm0
cmp byte [rbp + 0x97], al
je 0x140182a8d
lea r8d, [rdi + 0x18]
lea rdx, str.Your_lenses_are_already_clean_
jmp 0x140182a9a
mov r8d, 0x23
lea rdx, str.Your_pupils_are_already_that_color_
call fcn.1400167a0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x60]
call fcn.1400348f0
mov r12d, dword [rsp + 0x60]
mov byte [rsp + 0x30], r12b
movsxd r14, dword [rsp + 0x64]
lea r13d, [r14 + 6]
movsxd rcx, r13d
call fcn.1402d160c
mov r15, rax
mov r8, r14
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x68]
call fcn.1402d0d60
mov qword [rsp + 0x68], r15
mov eax, dword [rsp + 0x30]
mov byte [r14 + r15], al
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r15], 9
mov dword [r14 + r15 + 2], ebx
mov dword [rsp + 0x64], r13d
inc r12d
mov dword [rsp + 0x60], r12d
mov byte [r15 + 0x3c], r12b
lea edi, [r13 + 6]
movsxd rcx, edi
call fcn.1402d160c
mov rsi, rax
movsxd rbx, r13d
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r15
call fcn.1402d0d60
mov qword [rsp + 0x68], rsi
mov byte [rsi + rbx], r12b
movsxd rcx, r13d
mov byte [rcx + rsi + 1], 9
mov dword [rsi + rbx + 2], 1
mov dword [rsp + 0x64], edi
lea eax, [r12 + 1]
mov dword [rsp + 0x60], eax
mov byte [rsi + 0x3c], al
movsxd rdx, r13d
add rdx, 6
mov r8d, 1
mov rcx, rsi
call fcn.14000ff40
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x48]
call fcn.1400101d0
nop
mov rcx, rsi
jmp 0x14018339a
mov r13, qword [r15 + 0x30]
lea rcx, [rbp - 0x29]
test r14b, r14b
je 0x140182ba6
mov rcx, rsi
mov r13, qword [r15 + 0x30]
cmp rdi, 4
jne 0x140182bc8
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140182bc8
add r13, 0x68c
jmp 0x140182bfc
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 5
jne 0x140182bf5
mov r8, rdi
lea rdx, str.drops
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140182bf5
add r13, 0x690
jmp 0x140182bfc
add r13, 0x694
mov dword [rsp + 0x60], 0xff
mov dword [rsp + 0x40], ebx
movzx edx, byte [r13 + 1]
add edx, dword [rsp + 0x30]
mov dword [rsp + 0x30], edx
mov eax, edx
shr eax, 0x1f
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x30]
test al, al
cmove rcx, r8
lea rax, [rsp + 0x60]
cmp edx, 0xff
cmovle rax, rcx
movzx eax, byte [rax]
mov byte [r13 + 1], al
mov dword [rsp + 0x30], 0xff
mov dword [rsp + 0x60], ebx
movzx edx, byte [r13 + 2]
add edx, dword [rsp + 0x44]
mov dword [rsp + 0x40], edx
mov eax, edx
shr eax, 0x1f
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x40]
test al, al
cmove rcx, r8
lea rax, [rsp + 0x30]
cmp edx, 0xff
cmovle rax, rcx
movzx eax, byte [rax]
mov byte [r13 + 2], al
mov dword [rsp + 0x44], 0xff
mov dword [rsp + 0x60], ebx
movzx edx, byte [r13 + 3]
add edx, dword [rsp + 0x50]
mov dword [rsp + 0x40], edx
mov eax, edx
shr eax, 0x1f
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x40]
test al, al
cmove rcx, r8
lea rax, [rsp + 0x44]
cmp edx, 0xff
cmovle rax, rcx
movzx eax, byte [rax]
mov byte [r13 + 3], al
movsxd r13, dword [rsp + 0x54]
imul rsi, r13, 0x3b8
mov rdi, qword [0x1403c8210]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
mov ecx, dword [rdi + rsi + 0x44]
add ecx, 5
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp r8d, ecx
jge 0x140182e0b
mov byte [rbp - 0x55], 0
lea eax, [r13 + 1]
mov dword [rbp - 0x69], eax
mov dword [rbp - 0x65], 1
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x110]
sub rcx, qword [rdi + 0x108]
mov rax, rdx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, dx
inc eax
mov dword [rbp - 0x61], eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x78787879
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x11
sub r8d, ecx
mov ecx, dword [rbp + 0x67]
shl ecx, 5
add r8d, ecx
mov dword [rbp - 0x5d], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x78787879
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x11
sub r8d, ecx
mov ecx, dword [rbp + 0x6f]
shl ecx, 5
add r8d, ecx
mov dword [rbp - 0x59], r8d
movups xmm0, xmmword [rbp - 0x69]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp - 0x59]
movsd qword [rbp - 0x79], xmm1
mov r9d, dword [rbp + 0x6f]
mov r8d, dword [rbp + 0x67]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.14017e600
test al, al
jne 0x140182e7a
movups xmm0, xmmword [rbp - 0x69]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x79], xmm0
mov r8d, 0xffffffff
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140086f80
jmp 0x140182e7a
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub r8d, ecx
cmp r8d, 4
jge 0x140182e7a
mov rdi, qword [0x1403c8210]
add rdi, rsi
mov r14d, dword [rbp + 0x6f]
shl r14d, 5
mov esi, dword [rbp + 0x67]
shl esi, 5
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, dword [rdi + 0x180]
inc ecx
cdq
idiv ecx
mov r8d, edx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
mov r9d, esi
mov rdx, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400bb360
mov dword [rbp - 0x69], ebx
mov ecx, 0x3d
call fcn.1402d160c
mov qword [rbp - 0x61], rax
mov dword [rbp - 0x65], 0x3d
mov dword [rax + 0xc], ebx
mov qword [rax + 0x10], 8
mov qword [rax + 0x1c], rbx
mov qword [rax + 0x24], rbx
mov qword [rax + 0x2c], rbx
mov qword [rax + 0x34], rbx
mov byte [rax + 0x3c], 0
mov dword [rax], 4
mov dword [rax + 4], 1
mov dword [rax + 8], 0xffffffff
mov dword [rax + 0x18], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rbx
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, str.OnTalkBubble
lea rcx, [rsp + 0x60]
call fcn.1400167a0
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x69]
call fcn.1400348f0
mov rax, qword [r15 + 0x30]
mov r12d, dword [rax + 0x1bc]
movsxd r14, dword [rbp - 0x65]
lea r15d, [r14 + 6]
movsxd rcx, r15d
call fcn.1402d160c
mov r13, rax
mov r8, r14
mov rdx, qword [rbp - 0x61]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x61]
call fcn.1402d0d60
mov qword [rbp - 0x61], r13
movzx ecx, byte [rbp - 0x69]
mov byte [r14 + r13], cl
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r13], 9
mov dword [r14 + r13 + 2], r12d
mov dword [rbp - 0x65], r15d
mov eax, dword [rbp - 0x69]
inc eax
mov dword [rbp - 0x69], eax
mov byte [r13 + 0x3c], al
lea rcx, [rbp - 0x29]
movzx r14d, byte [rsp + 0x34]
test r14b, r14b
mov rsi, qword [rsp + 0x58]
cmovne rcx, rsi
mov rdi, qword [rbp - 0x49]
cmp rdi, 4
jne 0x1401830ed
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401830ed
cmp byte [rbp + 0x97], al
je 0x1401830db
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x10624dd3
imul r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xfa
sub r8d, ecx
cmp r8d, 1
jge 0x1401830c9
mov byte [rbp - 0x35], 0
mov dword [rbp - 0x49], 0x30de
mov dword [rbp - 0x45], 1
mov r15, qword [rsp + 0x38]
mov rcx, qword [r15 + 0x110]
sub rcx, qword [r15 + 0x108]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, dx
inc eax
mov dword [rbp - 0x41], eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x78787879
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x11
sub r8d, ecx
mov ecx, dword [rbp + 0x67]
shl ecx, 5
add r8d, ecx
mov dword [rbp - 0x3d], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r10d, eax
mov eax, 0x78787879
imul r10d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x11
sub r10d, ecx
mov ecx, dword [rbp + 0x6f]
shl ecx, 5
add r10d, ecx
mov dword [rbp - 0x39], r10d
movups xmm0, xmmword [rbp - 0x49]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp - 0x39]
movsd qword [rbp - 0x79], xmm1
mov r9d, dword [rbp + 0x6f]
mov r8d, dword [rbp + 0x67]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14017e600
test al, al
jne 0x1401830c9
movups xmm0, xmmword [rbp - 0x49]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [rbp - 0x39]
movsd qword [rbp - 0x79], xmm0
lea r8d, [rdi - 5]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140086f80
mov r8d, socket
lea rdx, str.Your_hair_got_cleaner_
jmp 0x14018316d
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.You_dyed_your_hair_
jmp 0x14018316d
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
cmp rdi, 5
jne 0x140183148
mov r8, rdi
lea rdx, str.drops
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140183148
xorps xmm0, xmm0
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rbx
lea rcx, [rbp - 0x49]
movups xmmword [rbp - 0x49], xmm0
cmp byte [rbp + 0x97], al
je 0x140183139
lea r8d, [rdi + 0x11]
lea rdx, str.Your_eyes_got_cleaner_
jmp 0x140183180
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.You_used_eye_drops_
jmp 0x140183180
cmp byte [rbp + 0x97], 0
je 0x140183160
mov r8d, 0x18
lea rdx, str.Your_lenses_got_cleaner_
jmp 0x14018316d
mov r8d, 0x1f
lea rdx, str.You_put_in_some_contact_lenses_
xorps xmm0, xmm0
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x31], rbx
mov qword [rbp - 0x39], rbx
movups xmmword [rbp - 0x49], xmm0
call fcn.1400167a0
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x69]
call fcn.1400348f0
lea rcx, [rbp - 0x29]
test r14b, r14b
cmovne rcx, rsi
mov r12, qword [rbp - 0x61]
cmp rdi, 4
jne 0x140183368
mov r8, rdi
lea rdx, str.hair
call sub.VCRUNTIME140.dll_memcmp
mov r15, qword [rsp + 0x48]
test eax, eax
jne 0x14018336d
mov rax, qword [r15 + 0x30]
mov edi, dword [rax + 0x1bc]
mov dword [rbp - 0x49], ebx
mov ecx, 0x3d
call fcn.1402d160c
mov qword [rbp - 0x41], rax
mov dword [rbp - 0x45], 0x3d
mov dword [rax + 0xc], ebx
mov qword [rax + 0x10], 8
mov qword [rax + 0x1c], rbx
mov qword [rax + 0x24], rbx
mov qword [rax + 0x2c], rbx
mov qword [rax + 0x34], rbx
mov byte [rax + 0x3c], 0
mov dword [rax], 4
mov dword [rax + 4], 1
mov dword [rax + 8], edi
mov dword [rax + 0x18], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rbx
mov r8d, 8
lea rdx, str.OnAction
lea rcx, [rsp + 0x60]
call fcn.1400167a0
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x49]
call fcn.1400348f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rbx
mov r8d, 7
lea rdx, str._shower
lea rcx, [rsp + 0x60]
call fcn.1400167a0
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x49]
call fcn.1400348f0
movsxd rdx, dword [rbp - 0x65]
mov r8d, 1
mov rcx, r12
call fcn.14000ff40
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.1400101d0
mov rdi, qword [0x1403c79b0]
mov rbx, qword [rdi + 0x28]
imul rax, qword [rdi + 0x30], 0x1c8
add rax, rbx
mov rsi, qword [rbp - 0x41]
cmp rbx, rax
jae 0x14018335e
add rbx, 0x30
movsxd r14, dword [rbp - 0x45]
nop
cmp dword [rbx + 8], 5
jne 0x14018333e
mov rcx, qword [rbx]
test rcx, rcx
je 0x14018333e
mov rdx, qword [r15 + 0x30]
add rdx, 0x488
add rcx, 0x488
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401832fe
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14018330c
mov rcx, qword [rcx]
cmp r8, rax
jne 0x14018333e
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14018333e
mov rdx, r14
lea r8d, [rax + 1]
mov rcx, rsi
call fcn.14000ff40
lea rcx, [rbx - 0x30]
mov r8, rax
xor edx, edx
call fcn.1400101d0
mov rdi, qword [0x1403c79b0]
add rbx, 0x1c8
imul r8, qword [rdi + 0x30], 0x1c8
add r8, qword [rdi + 0x28]
lea rax, [rbx - 0x30]
cmp rax, r8
jb 0x1401832d0
mov rcx, rsi
call fcn.1402d0d60
jmp 0x14018336d
mov r15, qword [rsp + 0x48]
mov dword [rsp + 0x30], 0xffffffff
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rsp + 0x30]
mov edx, dword [rsp + 0x54]
mov rcx, r15
call fcn.14006e480
mov rcx, r15
call fcn.1400668c0
nop
mov rcx, r12
call fcn.1402d0d60
nop
lea rcx, [rbp - 0x29]
call fcn.14029ed10
jmp 0x140183592
xor ebx, ebx
mov dword [rbp - 0x49], ebx
lea ecx, [rbx + 0x3d]
call fcn.1402d160c
mov qword [rbp - 0x41], rax
mov dword [rbp - 0x45], 0x3d
mov dword [rax + 0xc], ebx
mov qword [rax + 0x10], 8
mov qword [rax + 0x1c], rbx
mov qword [rax + 0x24], rbx
mov qword [rax + 0x2c], rbx
mov qword [rax + 0x34], rbx
mov byte [rax + 0x3c], bl
mov dword [rax], 4
mov dword [rax + 4], 1
mov dword [rax + 8], 0xffffffff
mov dword [rax + 0x18], ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], rbx
lea r8d, [rbx + 0xc]
lea rdx, str.OnTalkBubble
lea rcx, [rbp - 0x29]
call fcn.1400167a0
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x49]
call fcn.1400348f0
mov rax, qword [r15 + 0x30]
mov r12d, dword [rax + 0x1bc]
movsxd r14, dword [rbp - 0x45]
lea r15d, [r14 + 6]
movsxd rcx, r15d
call fcn.1402d160c
mov r13, rax
mov r8, r14
mov rdx, qword [rbp - 0x41]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x41]
call fcn.1402d0d60
mov qword [rbp - 0x41], r13
movzx ecx, byte [rbp - 0x49]
mov byte [r14 + r13], cl
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r13], 9
mov dword [r14 + r13 + 2], r12d
mov dword [rbp - 0x45], r15d
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbp - 0x49], eax
mov byte [r13 + 0x3c], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], rbx
lea r8d, [rbx + 0x1a]
lea rdx, str._Must_be_used_on_yourself_
lea rcx, [rbp - 0x29]
call fcn.1400167a0
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x49]
call fcn.1400348f0
movsxd r14, dword [rbp - 0x45]
lea r13d, [r14 + 6]
movsxd rcx, r13d
call fcn.1402d160c
mov r15, rax
mov r8, r14
mov rdx, qword [rbp - 0x41]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x41]
call fcn.1402d0d60
mov qword [rbp - 0x41], r15
movzx ecx, byte [rbp - 0x49]
mov byte [r15 + r14], cl
lea ecx, [r14 + 1]
movsxd rdx, ecx
mov byte [rdx + r15], 9
mov dword [r15 + r14 + 2], ebx
mov dword [rbp - 0x45], r13d
mov esi, dword [rbp - 0x49]
inc esi
mov dword [rbp - 0x49], esi
mov byte [r15 + 0x3c], sil
lea edi, [r13 + 6]
movsxd rcx, edi
call fcn.1402d160c
mov r14, rax
movsxd rbx, r13d
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r15
call fcn.1402d0d60
mov qword [rbp - 0x41], r14
mov byte [rbx + r14], sil
movsxd rcx, r13d
mov byte [rcx + r14 + 1], 9
mov dword [rbx + r14 + 2], 1
mov dword [rbp - 0x45], edi
lea eax, [rsi + 1]
mov dword [rbp - 0x49], eax
mov byte [r14 + 0x3c], al
movsxd rdx, r13d
add rdx, 6
mov r8d, 1
mov rcx, r14
call fcn.14000ff40
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x48]
call fcn.1400101d0
nop
mov rcx, r14
call fcn.1402d0d60
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1402d0d40
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret