Function at 0x14000ab20
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x300], rbx
mov rax, qword [0x1400710e0]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x58], rdx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov qword [rdx + 0x18], 0xf
mov qword [rdx + 0x10], r13
mov byte [rdx], r13b
mov r14d, 1
mov dword [rsp + 0x30], r14d
xor bl, bl
mov eax, dword [rcx + 0x20]
cmp eax, 4
jb 0x14000abac
cmp eax, 5
jbe 0x14000aba8
cmp eax, 7
je 0x14000aba8
cmp eax, 0xc
je 0x14000aba8
cmp eax, 0xe
jne 0x14000abac
movzx ebx, r14b
lea rax, str.SOFTWAREMicrosoftWindowsCurrentVersionMMDevicesAudioCapture_
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionMMDevicesAudioRender_
test bl, bl
cmovne rdx, rax
mov qword [rbp - 0x10], 0xf
mov qword [rbp - 0x18], r13
mov byte [rbp - 0x28], 0
xor eax, eax
or r12, 0xffffffffffffffff
mov rcx, r12
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp - 0x28]
call fcn.140002720
nop
lea rax, str.3BA0CD54_830F_4551_A6EB_F3EAB68E3700_17
lea rdx, str.3BA0CD54_830F_4551_A6EB_F3EAB68E3700_6
test bl, bl
cmovne rdx, rax
mov qword [rbp + 0x40], 0xf
mov qword [rbp + 0x38], r13
mov byte [rbp + 0x28], 0
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x28]
call fcn.140002720
nop
lea rax, str.Properties
lea rdx, str.FxProperties
test bl, bl
cmovne rdx, rax
mov qword [rbp + 0x18], 0xf
mov qword [rbp + 0x10], r13
mov byte [rbp], 0
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp]
call fcn.140002720
nop
mov rdi, qword [r15 + 8]
mov rdi, qword [rdi]
cmp qword [rsi + 0x10], 0
jne 0x14000b85b
cmp rdi, qword [r15 + 8]
je 0x14000b737
mov qword [rbp - 0x38], 0xf
mov qword [rbp - 0x40], r13
mov byte [rbp - 0x50], 0
lea r12, [rdi + 0x20]
mov r13d, 0xf
mov qword [rbp - 0x60], r13
xor ecx, ecx
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x78], cl
mov rbx, qword [r12 + 0x10]
cmp rbx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
cmova rbx, rdx
lea rax, [rbp - 0x78]
cmp rax, r12
jne 0x14000acec
mov r8, rdx
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.1400027f0
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1400027f0
jmp 0x14000ad60
cmp rbx, 0xfffffffffffffffe
ja 0x14000b72a
cmp rbx, r13
jbe 0x14000ad10
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.140002c70
mov r13, qword [rbp - 0x60]
jmp 0x14000ad1c
test rbx, rbx
jne 0x14000ad1f
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x78], cl
test rbx, rbx
setne al
test al, al
je 0x14000ad64
cmp qword [r12 + 0x18], 0x10
jb 0x14000ad32
mov r12, qword [r12]
lea rcx, [rbp - 0x78]
cmp r13, 0x10
cmovae rcx, qword [rbp - 0x78]
mov r8, rbx
mov rdx, r12
call fcn.140023e70
mov qword [rbp - 0x68], rbx
lea rax, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rax, qword [rbp - 0x78]
mov byte [rbx + rax], 0
mov r13, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
cmp rcx, 1
jb 0x14000ae60
dec rcx
cmp rcx, 0xffffffffffffffff
mov rax, 0xffffffffffffffff
cmova rcx, rax
lea rbx, [rbp - 0x78]
mov r12, qword [rbp - 0x78]
cmp r13, 0x10
cmovae rbx, r12
add rbx, rcx
cmp byte [rbx], 0x7b
je 0x14000adb3
lea rcx, [rbp - 0x78]
call fcn.140002050
cmp rbx, rax
je 0x14000ae60
dec rbx
jmp 0x14000ad97
lea rax, [rbp - 0x78]
cmp r13, 0x10
cmovae rax, r12
sub rbx, rax
cmp rbx, 0xffffffffffffffff
je 0x14000ae60
mov r8, rbx
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x78]
call fcn.14000be90
mov rbx, rax
lea rax, [rbp - 0x50]
cmp rax, rbx
je 0x14000ae50
cmp qword [rbp - 0x38], 0x10
jb 0x14000adf8
mov rcx, qword [rbp - 0x50]
call fcn.140023c7c
mov qword [rbp - 0x38], 0xf
xor r12d, r12d
mov qword [rbp - 0x40], r12
mov byte [rbp - 0x50], r12b
cmp qword [rbx + 0x18], 0x10
jae 0x14000ae27
mov r8, qword [rbx + 0x10]
inc r8
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140023e70
jmp 0x14000ae31
mov rax, qword [rbx]
mov qword [rbp - 0x50], rax
mov qword [rbx], r12
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x40], rax
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], r12
mov byte [rbx], r12b
cmp qword [rbp + 0x68], 0x10
jb 0x14000ae60
mov rcx, qword [rbp + 0x50]
call fcn.140023c7c
mov r8d, 0xf
mov qword [rsp + 0x78], r8
xor r13d, r13d
mov ecx, r13d
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x60], cl
mov rbx, qword [rbp - 0x18]
cmp rbx, 0xffffffffffffffff
mov rax, 0xffffffffffffffff
cmova rbx, rax
cmp rbx, 0xfffffffffffffffe
ja 0x14000b71d
cmp rbx, r8
jbe 0x14000aeb8
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140002c70
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
jmp 0x14000aec6
test rbx, rbx
jne 0x14000aec9
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x60], cl
test rbx, rbx
setne al
test al, al
je 0x14000af19
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
lea rcx, [rsp + 0x60]
cmp r8, 0x10
cmovae rcx, qword [rsp + 0x60]
mov r8, rbx
call fcn.140023e70
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax + rbx], r13b
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
or rdx, 0xffffffffffffffff
mov r12, rdx
mov rax, qword [rbp - 0x40]
cmp rax, rdx
cmovb r12, rax
mov rax, rdx
sub rax, rcx
cmp rax, r12
jbe 0x14000b710
test r12, r12
je 0x14000afd9
lea rbx, [rcx + r12]
cmp rbx, 0xfffffffffffffffe
ja 0x14000b64b
cmp r8, rbx
jae 0x14000af68
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140002c70
jmp 0x14000af83
test rbx, rbx
jne 0x14000af90
mov qword [rsp + 0x70], r13
lea rax, [rsp + 0x60]
cmp r8, 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax], bl
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
test rbx, rbx
setne al
test al, al
je 0x14000afd9
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
lea rax, [rsp + 0x60]
cmp r8, 0x10
cmovae rax, qword [rsp + 0x60]
add rcx, rax
mov r8, r12
call fcn.140023e70
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rbx + rax], 0
mov r8d, 0xb
lea rdx, str.Properties
lea rcx, [rsp + 0x60]
call fcn.140002620
lea r12, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r12, qword [rsp + 0x60]
lea rax, [rbp + 0x88]
mov qword [rbp + 0x80], rax
test r12, r12
jne 0x14000b023
mov rcx, r13
mov qword [rbp + 0x80], rcx
jmp 0x14000b0ee
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
inc ebx
mov ecx, r13d
setns cl
test ecx, ecx
je 0x14000b705
lea rax, [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
cmp rcx, rax
je 0x14000b079
cmp ebx, 0x80
jle 0x14000b072
movsxd rdx, ebx
mov r8d, 1
call fcn.140025010
test rax, rax
je 0x14000b658
jmp 0x14000b08e
call fcn.140024614
jmp 0x14000b0a0
cmp ebx, 0x80
jle 0x14000b0a0
movsxd rcx, ebx
mov edx, 1
call fcn.140024654
mov qword [rbp + 0x80], rax
test rax, rax
je 0x14000b663
jmp 0x14000b0ae
lea rax, [rbp + 0x88]
mov qword [rbp + 0x80], rax
movsxd rdx, ebx
mov r9, rdx
mov r8, r12
mov rcx, rax
call fcn.1400246c0
test eax, eax
je 0x14000b0e7
cmp eax, 0xc
je 0x14000b684
cmp eax, 0x16
je 0x14000b679
cmp eax, 0x22
je 0x14000b679
cmp eax, 0x50
jne 0x14000b66e
mov rcx, qword [rbp + 0x80]
call fcn.14000aa70
test al, al
sete bl
lea rax, [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
cmp rcx, rax
je 0x14000b110
call fcn.140024614
test bl, bl
je 0x14000b592
mov rbx, qword [rbp - 0x18]
cmp rbx, 0xffffffffffffffff
mov rax, 0xffffffffffffffff
cmova rbx, rax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140002890
test al, al
je 0x14000b17d
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
mov r8, rbx
call fcn.140023e70
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax + rbx], 0
or rcx, 0xffffffffffffffff
mov r12, rcx
mov rax, qword [rbp - 0x40]
cmp rax, rcx
cmovb r12, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
sub rax, rcx
cmp rax, r12
jbe 0x14000b6f8
test r12, r12
je 0x14000b248
lea rbx, [rcx + r12]
cmp rbx, 0xfffffffffffffffe
ja 0x14000b68f
cmp qword [rsp + 0x78], rbx
jae 0x14000b1d3
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140002c70
jmp 0x14000b1f0
test rbx, rbx
jne 0x14000b1f8
mov qword [rsp + 0x70], r13
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax], bl
mov rcx, qword [rsp + 0x70]
test rbx, rbx
setne al
test al, al
je 0x14000b248
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
add rcx, rax
mov r8, r12
call fcn.140023e70
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax + rbx], 0
mov rcx, qword [rsp + 0x70]
or rdx, 0xffffffffffffffff
mov r12, rdx
mov rax, qword [rbp + 0x10]
cmp rax, rdx
cmovb r12, rax
mov rax, rdx
sub rax, rcx
cmp rax, r12
jbe 0x14000b6eb
test r12, r12
je 0x14000b309
lea rbx, [rcx + r12]
cmp rbx, 0xfffffffffffffffe
ja 0x14000b69c
cmp qword [rsp + 0x78], rbx
jae 0x14000b299
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140002c70
jmp 0x14000b2b6
test rbx, rbx
jne 0x14000b2be
mov qword [rsp + 0x70], r13
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax], bl
mov rcx, qword [rsp + 0x70]
test rbx, rbx
setne al
test al, al
je 0x14000b309
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
add rcx, rax
mov r8, r12
call fcn.140023e70
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax + rbx], 0
mov dword [rsp + 0x34], r13d
lea r12, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae r12, qword [rbp + 0x28]
lea rax, [rbp + 0x118]
mov qword [rbp + 0x110], rax
test r12, r12
jne 0x14000b338
mov qword [rbp + 0x110], r13
jmp 0x14000b396
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebx, [rax + 1]
lea r8, [rbp + 0x118]
mov edx, ebx
lea rcx, [rbp + 0x110]
call fcn.140008250
movsxd rdx, ebx
mov r9, rdx
mov r8, r12
mov rcx, qword [rbp + 0x110]
call fcn.1400246c0
test eax, eax
je 0x14000b396
cmp eax, 0xc
je 0x14000b6bf
cmp eax, 0x16
je 0x14000b6b4
cmp eax, 0x22
je 0x14000b6b4
cmp eax, 0x50
jne 0x14000b6a9
or r14d, 2
mov dword [rsp + 0x30], r14d
lea r12, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r12, qword [rsp + 0x60]
lea rax, [rbp + 0x88]
mov qword [rbp + 0x80], rax
test r12, r12
jne 0x14000b3cf
mov rdx, r13
mov qword [rbp + 0x80], rdx
jmp 0x14000b434
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebx, [rax + 1]
lea r8, [rbp + 0x88]
mov edx, ebx
lea rcx, [rbp + 0x80]
call fcn.140008250
movsxd rdx, ebx
mov r9, rdx
mov r8, r12
mov rcx, qword [rbp + 0x80]
call fcn.1400246c0
test eax, eax
je 0x14000b42d
cmp eax, 0xc
je 0x14000b6e0
cmp eax, 0x16
je 0x14000b6d5
cmp eax, 0x22
je 0x14000b6d5
cmp eax, 0x50
jne 0x14000b6ca
mov rdx, qword [rbp + 0x80]
or r14d, 4
mov dword [rsp + 0x30], r14d
mov rbx, qword [rbp + 0x110]
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000b4bf
mov dword [rsp + 0x38], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
sete bl
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test bl, bl
je 0x14000b4bf
cmp dword [rsp + 0x34], 1
jne 0x14000b4bf
mov bl, 1
jmp 0x14000b4c1
xor bl, bl
test r14b, 4
je 0x14000b4e9
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
lea rax, [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
cmp rcx, rax
je 0x14000b4e9
call fcn.140024614
nop
test r14b, 2
je 0x14000b510
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
lea rax, [rbp + 0x118]
mov rcx, qword [rbp + 0x110]
cmp rcx, rax
je 0x14000b510
call fcn.140024614
test bl, bl
je 0x14000b592
mov rbx, qword [rbp - 0x68]
cmp rbx, 0xffffffffffffffff
mov r12, 0xffffffffffffffff
cmova rbx, r12
lea rax, [rbp - 0x78]
mov rdx, rbx
mov rcx, rsi
cmp rsi, rax
jne 0x14000b54d
mov r8, r12
call fcn.1400027f0
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.1400027f0
jmp 0x14000b592
call fcn.140002890
test al, al
je 0x14000b592
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rdx, qword [rbp - 0x78]
cmp qword [rsi + 0x18], 0x10
jb 0x14000b570
mov rcx, qword [rsi]
jmp 0x14000b573
mov rcx, rsi
mov r8, rbx
call fcn.140023e70
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 0x10
jb 0x14000b58b
mov rax, qword [rsi]
jmp 0x14000b58e
mov rax, rsi
mov byte [rbx + rax], 0
cmp qword [rsp + 0x78], 0x10
jb 0x14000b5a4
mov rcx, qword [rsp + 0x60]
call fcn.140023c7c
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], r13
mov byte [rsp + 0x60], 0
cmp qword [rbp - 0x60], 0x10
jb 0x14000b5c7
mov rcx, qword [rbp - 0x78]
call fcn.140023c7c
mov qword [rbp - 0x60], 0xf
mov qword [rbp - 0x68], r13
mov byte [rbp - 0x78], 0
cmp qword [rbp - 0x38], 0x10
jb 0x14000b5e7
mov rcx, qword [rbp - 0x50]
call fcn.140023c7c
cmp byte [rdi + 0x49], 0
jne 0x14000ac74
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x49], 0
jne 0x14000b621
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x49], 0
jne 0x14000ac74
nop dword [rax + rax]
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x49], 0
je 0x14000b610
jmp 0x14000ac74
mov rax, qword [rdi + 8]
cmp byte [rax + 0x49], 0
jne 0x14000b643
nop dword [rax + rax]
cmp rdi, qword [rax + 0x10]
jne 0x14000b643
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x49], 0
je 0x14000b630
mov rdi, rax
jmp 0x14000ac74
lea rcx, str.string_too_long
call fcn.140023a8c
int3
mov ecx, 0x8007000e
call fcn.1400050a0
int3
mov ecx, 0x8007000e
call fcn.1400050a0
int3
mov ecx, 0x80004005
call fcn.1400050a0
int3
mov ecx, 0x80070057
call fcn.1400050a0
int3
mov ecx, 0x8007000e
call fcn.1400050a0
int3
lea rcx, str.string_too_long
call fcn.140023a8c
int3
lea rcx, str.string_too_long
call fcn.140023a8c
int3
mov ecx, 0x80004005
call fcn.1400050a0
int3
mov ecx, 0x80070057
call fcn.1400050a0
int3
mov ecx, 0x8007000e
call fcn.1400050a0
nop
mov ecx, 0x80004005
call fcn.1400050a0
int3
mov ecx, 0x80070057
call fcn.1400050a0
int3
mov ecx, 0x8007000e
call fcn.1400050a0
nop
lea rcx, str.string_too_long
call fcn.140023a8c
int3
lea rcx, str.string_too_long
call fcn.140023a8c
int3
mov ecx, 0x80070057
call fcn.1400050a0
int3
lea rcx, str.string_too_long
call fcn.140023a8c
nop
lea rcx, str.string_too_long
call fcn.140023a8c
nop
lea rcx, str.string_too_long
call fcn.140023a8c
nop
cmp qword [rsi + 0x10], 0
jne 0x14000b85b
lea rdx, [rbp + 0x50]
mov rcx, r15
call fcn.14000bb10
mov rdi, rax
cmp rsi, rax
je 0x14000b7b7
cmp qword [rsi + 0x18], 0x10
jb 0x14000b765
mov rcx, qword [rsi]
call fcn.140023c7c
mov qword [rsi + 0x18], 0xf
mov qword [rsi + 0x10], r13
mov byte [rsi], 0
cmp qword [rdi + 0x18], 0x10
jae 0x14000b78f
mov r8, qword [rdi + 0x10]
inc r8
mov rdx, rdi
mov rcx, rsi
call fcn.140023e70
jmp 0x14000b798
mov rax, qword [rdi]
mov qword [rsi], rax
mov qword [rdi], r13
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rsi + 0x18], rax
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r13
mov byte [rdi], 0
cmp qword [rbp + 0x68], 0x10
jb 0x14000b7c7
mov rcx, qword [rbp + 0x50]
call fcn.140023c7c
cmp qword [rsi + 0x10], 0
jne 0x14000b85b
xor r8d, r8d
lea rdx, [rbp + 0x50]
mov rcx, r15
call fcn.140009ee0
mov rdi, rax
cmp rsi, rax
je 0x14000b84a
cmp qword [rsi + 0x18], 0x10
jb 0x14000b7f8
mov rcx, qword [rsi]
call fcn.140023c7c
mov qword [rsi + 0x18], 0xf
mov qword [rsi + 0x10], r13
mov byte [rsi], 0
cmp qword [rdi + 0x18], 0x10
jae 0x14000b822
mov r8, qword [rdi + 0x10]
inc r8
mov rdx, rdi
mov rcx, rsi
call fcn.140023e70
jmp 0x14000b82b
mov rax, qword [rdi]
mov qword [rsi], rax
mov qword [rdi], r13
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rsi + 0x18], rax
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r13
mov byte [rdi], 0
cmp qword [rbp + 0x68], 0x10
jb 0x14000b85b
mov rcx, qword [rbp + 0x50]
call fcn.140023c7c
nop
cmp qword [rbp + 0x18], 0x10
jb 0x14000b86b
mov rcx, qword [rbp]
call fcn.140023c7c
mov qword [rbp + 0x18], 0xf
mov qword [rbp + 0x10], r13
mov byte [rbp], 0
cmp qword [rbp + 0x40], 0x10
jb 0x14000b88b
mov rcx, qword [rbp + 0x28]
call fcn.140023c7c
mov qword [rbp + 0x40], 0xf
mov qword [rbp + 0x38], r13
mov byte [rbp + 0x28], 0
cmp qword [rbp - 0x10], 0x10
jb 0x14000b8ab
mov rcx, qword [rbp - 0x28]
call fcn.140023c7c
mov rax, rsi
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.140023ca0
mov rbx, qword [rsp + 0x300]
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret