Function at 0x180051470
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x180080a28]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x80]
mov r10, r9
mov r11, qword [rbp + 0x70]
mov r14, qword [rbp + 0x90]
mov ebx, dword [rsp + 0x68]
mov edi, dword [rsp + 0x68]
mov qword [rbp - 0x30], rax
mov eax, dword [rbp + 0x78]
mov r15d, eax
mov qword [rbp - 0x58], r9
mov r9d, dword [rsp + 0x68]
mov qword [rbp - 0x20], rdx
mov edx, dword [rsp + 0x68]
lea r13d, [rax - 0x17]
mov qword [rbp - 0x48], r8
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x28], r11
mov dword [rsp + 0x70], r9d
mov dword [rsp + 0x74], edx
cmp eax, r13d
jbe 0x180051b5d
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x60]
mov esi, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x68]
mov r12d, dword [rbp - 0x68]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x78], rcx
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x80], rcx
mov dword [rbp - 0x70], esi
mov dword [rbp - 0x6c], r8d
nop word [rax + rax]
lea eax, [r15 - 0x91]
cmp eax, 0x5e
ja case.0x180051560.148
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x52228]
mov ecx, dword [rcx + rax*4 + 0x521cc]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor r15d, r15d
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], r15
mov rcx, r14
lea r8d, [r15 + 0x64]
call fcn.18000f750
test eax, eax
jne 0x180051b35
nop dword [rax]
nop word [rax + rax]
mov esi, 0x55
mov eax, esi
sub eax, 0x55
je 0x18005166f
sub eax, 0x45
je 0x180051663
sub eax, 0x45
je 0x180051611
cmp eax, 0x45
jne 0x180051705
cmp r12d, 0x36
jne 0x1800515c4
mov byte [rsp + 0x60], 0x15
jmp 0x1800515fa
cmp r12d, 0x37
jne 0x1800515d1
mov byte [rsp + 0x60], 0x1f
jmp 0x1800515fa
cmp r12d, 0x27
jne 0x1800515de
mov byte [rsp + 0x60], 0x1d
jmp 0x1800515fa
cmp r12d, 0x26
jne 0x1800515eb
mov byte [rsp + 0x60], 0x1e
jmp 0x1800515fa
cmp r12d, 0x18
jne 0x180051705
mov byte [rsp + 0x60], 0x1b
mov r8, r14
lea rcx, [rsp + 0x60]
mov edx, 0x10d
call fcn.180011a00
jmp 0x180051705
xor r9d, r9d
mov qword [rsp + 0x20], r15
xor edx, edx
mov rcx, r14
lea r8d, [r9 + 0x64]
call fcn.18000f750
test eax, eax
je 0x180051705
mov ecx, 0xef
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xee
je case.0x180051560.145
cmp eax, 1
jne 0x180051654
mov ebx, eax
dec ecx
cmp ecx, 0xed
ja 0x180051640
jmp 0x180051705
mov r12d, dword [r14 + 0x818]
jmp 0x180051705
mov r8, r14
mov dword [rsp + 0x68], 0x36
lea rdx, [rsp + 0x68]
mov ecx, 0xf0
call fcn.18004feb0
test eax, eax
jne 0x180051705
mov r8, r14
mov dword [rsp + 0x68], 0x18
lea rdx, [rsp + 0x68]
mov ecx, 0xf0
call fcn.18004feb0
test eax, eax
jne 0x180051705
mov r8, r14
mov dword [rsp + 0x68], 0x37
lea rdx, [rsp + 0x68]
mov ecx, 0xf0
call fcn.18004feb0
test eax, eax
jne 0x180051705
mov r8, r14
mov dword [rsp + 0x68], 0x27
lea rdx, [rsp + 0x68]
mov ecx, 0xf0
call fcn.18004feb0
test eax, eax
jne 0x180051705
mov r8, r14
mov dword [rsp + 0x68], 0x26
lea rdx, [rsp + 0x68]
mov ecx, 0xf0
call fcn.18004feb0
test eax, eax
je 0x180051719
add esi, 0x45
cmp esi, 0x169
jb 0x180051595
jmp 0x180051590
mov edx, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x70]
mov esi, dword [rbp - 0x70]
xor ebx, ebx
mov r15d, 0x92
jmp case.0x180051560.148
mov rax, qword [rbp - 0x30]
mov eax, dword [rax]
cmp eax, r9d
ja 0x180051b40
add eax, 2
add eax, esi
cmp r9d, eax
jb 0x180051b40
mov rax, qword [rbp + 0x88]
cmp dword [rax], r9d
jne 0x180051b40
mov ecx, r9d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [rsp + 0x74]
mov r11, rax
mov r9d, dword [rsp + 0x70]
mov qword [rsp + 0x78], rax
jmp 0x180051b14
and edx, 0x7f
add dword [r11], 0xfffffffe
mov dword [rsp + 0x74], edx
jmp case.0x180051560.148
mov ecx, dword [r11]
mov eax, 0x92492493
imul ecx
lea r8d, [rcx + rdx]
mov edx, 1
sar r8d, 4
mov eax, r8d
shr eax, 0x1f
add r8d, eax
imul eax, r8d, 0x1c
sub ecx, eax
mov rax, qword [r14 + 0x10]
shl edx, cl
movsxd rcx, r8d
mov dword [rax + rcx*4], edx
jmp 0x180051b0b
mov ecx, r9d
mov esi, r9d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, esi
mov qword [rbp - 0x50], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [rsp + 0x74]
mov r8, rax
mov r11, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x70]
mov esi, dword [rbp - 0x70]
mov qword [rbp - 0x78], rax
jmp 0x180051b18
cmp dword [r11], 2
jae 0x180051843
mov ecx, 0x50
mov eax, ecx
sub eax, 0x50
je 0x180051833
cmp eax, 0x79
jne 0x180051838
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180072740
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ebx, 0xffffffff
add ecx, 0x79
cmp ecx, 0x142
jb 0x180051805
inc r14
jmp case.0x180051560.148
lea eax, [rdx - 1]
cmp eax, 3
ja 0x18005185c
cmp edx, dword [r11]
jbe case.0x180051560.148
mov eax, 0x6e
cmp eax, 0x6e
je 0x180051b4a
add eax, 0x4830
cmp eax, 0x4830
jbe 0x180051861
jmp case.0x180051560.148
movzx edx, byte [r14]
inc r14
mov dword [rsp + 0x74], edx
inc r8d
mov dword [rbp - 0x6c], r8d
jmp case.0x180051560.148
mov eax, 0x92492493
imul dword [r11]
add edx, dword [r11]
sar edx, 4
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
mov dword [r14], eax
jmp 0x180051b0b
xor r9d, r9d
mov dword [rsp + 0x20], ILAppendID
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.18004f1f0
mov rax, qword [rbp - 0x28]
xor r9d, r9d
mov r8, r14
mov ecx, dword [rax]
mov eax, 0x92492493
imul ecx
add edx, ecx
xor ecx, ecx
sar edx, 4
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
lea edx, [r9 + 0x5f]
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.18004c460
test eax, eax
je 0x180051b06
mov ecx, 0x25
cmp ecx, 0x25
je 0x180051923
cmp ecx, 0xc3
je case.0x180051560.145
jmp 0x180051925
mov ebx, eax
add ecx, 0x9e
cmp ecx, 0x161
jb 0x180051910
jmp 0x180051b06
mov ecx, r9d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [rsp + 0x74]
mov r10, rax
mov r11, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov r9d, dword [rsp + 0x70]
mov qword [rbp - 0x80], rax
jmp 0x180051b1c
mov ecx, 0x26
mov eax, ecx
sub eax, 0x26
je 0x180051976
cmp eax, 1
je case.0x180051560.145
jmp 0x18005197c
mov ebx, dword [0x1800804a8]
inc ecx
cmp ecx, 0x28
jb 0x180051964
cmp edx, 0x80
jae case.0x180051560.148
mov eax, 0x37
cmp eax, 0x37
je 0x180051b54
add eax, 0x59
cmp eax, 0x90
jb 0x180051994
jmp case.0x180051560.148
movsxd rax, dword [r10]
lea rcx, [0x180000000]
shl rax, 7
mov r9d, 0
mov esi, dword [rax + rcx + 0x8219c]
mov rax, qword [rbp - 0x20]
mov dword [rbp - 0x70], esi
mov eax, dword [rax]
test al, 7
setne r9b
shr eax, 3
add r9d, eax
mov dword [rsp + 0x70], r9d
jmp case.0x180051560.148
xor ebx, ebx
jmp case.0x180051560.148
xor ecx, ecx
mov dword [rbp - 0x6c], ecx
jmp case.0x180051560.148
mov rax, qword [rbp - 0x60]
test rax, rax
jne 0x180051a5c
xor ecx, ecx
lea rax, str.RefreshText
mov qword [rsp + 0x58], rcx
lea rdx, [0x180077149]
mov qword [rsp + 0x50], rcx
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x48], rcx
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x68], ecx
call fcn.18002b8a0
mov edx, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x70]
mov rax, qword [rbp - 0x60]
mov dword [rax], 0
jmp case.0x180051560.148
test r14, r14
jne case.0x180051560.148
xor ecx, ecx
lea rax, str.m_szFullName_
mov qword [rsp + 0x58], rcx
lea rdx, [0x180077149]
mov qword [rsp + 0x50], rcx
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x48], rcx
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x68], ecx
call fcn.18002b8a0
jmp 0x180051b06
mov eax, dword [r10]
lea r8, [rsp + 0x68]
xor r9d, r9d
mov dword [rsp + 0x68], eax
xor ecx, ecx
lea edx, [r9 + 0x3a]
call fcn.180022220
mov rdi, rax
test eax, eax
je 0x180051b06
mov ecx, 0x4e
mov eax, ecx
sub eax, 0x4e
je 0x180051af9
cmp eax, 0x50
je case.0x180051560.145
jmp 0x180051afb
mov ebx, edi
add ecx, 0x50
cmp ecx, 0xee
jb 0x180051ae7
mov r9d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x74]
mov r11, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov r10, qword [rbp - 0x80]
dec r15d
cmp r15d, r13d
jbe 0x180051b8e
mov r8d, dword [rbp - 0x6c]
mov r10, qword [rbp - 0x58]
mov r11, qword [rbp - 0x28]
jmp 0x180051530
mov eax, 1
jmp 0x180051813
mov eax, 0x16
jmp 0x180051813
mov eax, 0xffffffff
jmp 0x180051813
lea eax, [r8 + rdx]
jmp 0x180051813
mov ecx, dword [rsp + 0x68]
mov r11, qword [rbp - 0x60]
mov r15, qword [rbp - 0x60]
mov r8, qword [rbp - 0x60]
mov r10, qword [rbp - 0x60]
mov dword [rbp - 0x70], ecx
mov ecx, dword [rsp + 0x68]
mov dword [rbp - 0x6c], ecx
mov qword [rsp + 0x78], r11
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x78], r8
mov qword [rbp - 0x80], r10
jmp 0x180051b95
mov r15, qword [rbp - 0x50]
mov eax, dword [rbp + 0x78]
lea r13d, [rax + 0x17]
cmp eax, r13d
jae case.0x180051560.145
mov r12d, dword [rbp - 0x68]
lea r9d, [r9*8]
mov esi, dword [rbp - 0x68]
mov dword [rsp + 0x68], r9d
nop word [rax + rax]
add eax, 0xffffff56
cmp eax, 0x40
ja case.0x180051bee.174
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x522e8]
mov ecx, dword [rcx + rax*4 + 0x52288]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov ecx, dword [rbp - 0x70]
mov eax, dword [rsp + 0x70]
mov r8d, ecx
sub eax, ecx
mov rcx, r10
dec eax
add r12d, eax
mov edx, r12d
add rdx, qword [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
jmp case.0x180051bee.174
mov eax, dword [rsp + 0x70]
mov qword [rbp - 0x68], rax
xor ecx, ecx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rcx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov qword [rsp + 0x28], rcx
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
jmp case.0x180051bee.174
mov eax, dword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x68], rax
jmp 0x180051c29
mov rcx, r11
jmp 0x180052186
mov r8d, dword [rsp + 0x70]
mov rcx, r11
sub r8d, dword [rbp - 0x70]
mov edx, r12d
dec r8d
add rdx, qword [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
jmp case.0x180051bee.174
mov eax, reloc.SHLWAPI.dll_IUnknown_GetWindow
nop dword [rax]
cmp eax, 0xac
je 0x1800521b8
add eax, 0xa14
cmp eax, 0xa14
jbe 0x180051ca0
mov rcx, qword [rbp - 0x30]
lea r9, [0x180000000]
mov rax, qword [rbp - 0x58]
mov edx, r12d
add rdx, r11
mov r8d, dword [rcx]
lea rcx, [rbp - 0x18]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r9 + 0x821f0]
mov edi, eax
test eax, eax
jne case.0x180051bee.228
mov rax, qword [rbp - 0x58]
lea rcx, [rbp - 0x18]
mov rdx, r15
lea r8, [0x180000000]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r8 + 0x821f8]
mov edi, eax
test eax, eax
je case.0x180051bee.174
mov eax, dword [rsp + 0x70]
xor ecx, ecx
mov qword [rbp - 0x68], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov dword [rbp + 0x78], SHSetFolderPathA
jmp 0x180051c29
xor esi, esi
jmp case.0x180051bee.174
mov rax, qword [rbp - 0x58]
lea rcx, [rbp - 0x18]
lea rdx, [0x180000000]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + rdx + 0x821e8]
mov edi, eax
test eax, eax
jne case.0x180051bee.228
mov qword [rbp - 0x68], 8
jmp 0x180051c1d
mov rax, qword [rbp - 0x30]
xor r12d, r12d
mov ecx, dword [rsp + 0x70]
sub ecx, dword [rax]
sub ecx, dword [rbp - 0x70]
sub ecx, 2
je 0x180051d9b
mov rax, r11
cmp byte [rax], 0
jne 0x180051e94
inc r12d
inc rax
cmp r12d, ecx
jb 0x180051d87
mov eax, r12d
inc r12d
cmp byte [rax + r11], 1
je case.0x180051bee.174
mov eax, 0x6a
cmp eax, 0x6a
je 0x180051dc3
cmp eax, 0x11a
je case.0x180051bee.228
jmp 0x180051dc8
mov edi, 7
add eax, 0xb0
cmp eax, 0x1ca
jb 0x180051db1
jmp case.0x180051bee.174
test r11, r11
je 0x180051df1
test r15, r15
je 0x180051df1
test r8, r8
je 0x180051df1
test r10, r10
jne 0x180051e7b
mov r15d, 0xd6
nop word [rax + rax]
mov eax, r15d
sub eax, 0xd6
je 0x180051e3e
sub eax, 1
je 0x180051e34
sub eax, 1
je 0x180051e1f
cmp eax, 1
je case.0x180051560.145
jmp 0x180051e5e
test r10, r10
je 0x180051e2d
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ebx, ILFindLastID
jmp 0x180051e5e
test r8, r8
je 0x180051e5e
mov rcx, r8
jmp 0x180051e58
test r11, r11
je 0x180051e4c
mov rcx, r11
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x180051e5e
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r11, qword [rsp + 0x78]
inc r15d
mov r10, qword [rbp - 0x80]
mov r8, qword [rbp - 0x78]
cmp r15d, 0xda
jb 0x180051e00
mov r15, qword [rbp - 0x50]
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp - 0x48]
mov eax, dword [rax]
dec eax
cmp byte [rax + rcx], 0xbc
je case.0x180051bee.174
mov edi, 7
jmp case.0x180051bee.228
mov r10d, dword [rsp + 0x70]
xor edx, edx
sub r10d, dword [rbp - 0x70]
sub r10d, 1
je 0x180051f91
cmp r10d, 0x40
jb 0x180051f64
lea eax, [r10 - 1]
lea r8, [rax + r11]
add rax, r15
cmp r11, rax
ja 0x180051ed6
cmp r8, r15
jae 0x180051f64
mov r9d, r10d
and r9d, 0xffffffc0
mov r8d, 0x20
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + r11]
lea eax, [r8 - 0x10]
movdqu xmm1, xmmword [rdx + r15]
pxor xmm1, xmm0
movdqu xmmword [rdx + r11], xmm1
add edx, 0x40
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r15]
pxor xmm1, xmm0
movdqu xmmword [rax + r11], xmm1
mov eax, r8d
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r15]
pxor xmm1, xmm0
movdqu xmmword [rax + r11], xmm1
lea eax, [r8 + 0x10]
add r8d, 0x40
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r15]
pxor xmm1, xmm0
movdqu xmmword [rax + r11], xmm1
cmp edx, r9d
jb 0x180051ef0
mov r9d, dword [rsp + 0x68]
cmp edx, r10d
jae 0x180051f91
mov ecx, edx
mov r8, r15
add rcx, r11
sub r8, r11
sub r10d, edx
mov edx, r10d
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180051f80
mov rax, qword [rbp - 0x20]
mov ecx, r9d
sub ecx, dword [rax]
mov eax, 0xff
inc ecx
sar eax, cl
and byte [r11], al
jmp case.0x180051bee.174
add r12d, dword [rbp - 0x70]
jmp case.0x180051bee.174
xor r12d, r12d
jmp case.0x180051bee.174
mov eax, 0xc4
cmp eax, 0xc4
je 0x1800521bf
add eax, 0x54
cmp eax, 0x118
jb 0x180051fc1
add dword [rbp - 0x6c], edx
jmp case.0x180051bee.174
mov rax, qword [rbp - 0x58]
lea rcx, [rbp - 0x18]
mov r8d, 8
lea r9, [0x180000000]
mov rdx, r15
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r9 + 0x821f0]
mov edi, eax
test eax, eax
jne case.0x180051bee.228
mov rcx, qword [rbp - 0x28]
lea r9, [0x180000000]
mov rax, qword [rbp - 0x58]
mov rdx, r14
mov r8d, dword [rcx]
lea rcx, [rbp - 0x18]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r9 + 0x821f0]
mov edi, eax
test eax, eax
jne case.0x180051bee.228
jmp case.0x180051bee.174
mov rcx, qword [rbp - 0x20]
mov eax, r9d
mov edx, 0xff
sub eax, dword [rcx]
lea ecx, [rax + 1]
mov rax, qword [rbp - 0x48]
sar edx, cl
not edx
movzx eax, byte [rax]
test al, dl
je 0x180052087
mov eax, 0xb1
nop dword [rax + rax]
cmp eax, 0xb1
je 0x180051e94
add eax, 0x8997
cmp eax, 0x8997
jbe 0x180052070
mov ecx, dword [rbp - 0x70]
lea r8, [rbp - 0x38]
mov eax, dword [rsp + 0x70]
lea rdx, [rbp - 0x68]
sub eax, ecx
mov dword [rbp - 0x38], ecx
dec eax
mov qword [rsp + 0x28], r15
mov dword [rbp - 0x68], eax
mov r9, r10
mov rax, qword [rbp - 0x58]
mov ecx, 0xe8
mov eax, dword [rax]
mov dword [rbp - 0x40], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
call fcn.180060610
mov edi, eax
test eax, eax
jne case.0x180051bee.228
jmp case.0x180051bee.174
mov eax, dword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x48], rcx
xor r9d, r9d
mov qword [rsp + 0x40], r10
xor r8d, r8d
mov qword [rsp + 0x38], rcx
xor edx, edx
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
mov rcx, qword [rbp - 0x80]
jmp 0x180052186
test edx, edx
je 0x180052151
nop dword [rax]
dec edx
mov ecx, 0xc1
mov eax, ecx
sub eax, 0xc0
je 0x180052140
cmp eax, 1
jne 0x180052143
movzx eax, byte [r14]
shl esi, 8
or esi, eax
jmp 0x180052143
inc r14
dec ecx
cmp ecx, 0xbf
ja 0x180052127
test edx, edx
jne 0x180052120
dec edx
mov dword [rsp + 0x74], edx
jmp case.0x180051bee.174
mov r8d, dword [rbp - 0x70]
mov rdx, r10
mov rcx, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180052176
mov rax, qword [rbp - 0x60]
mov dword [rax], 1
xor edi, edi
jmp case.0x180051bee.174
mov rcx, r8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rbp + 0x78]
inc eax
mov dword [rbp + 0x78], eax
cmp eax, r13d
jae case.0x180051560.145
mov r9d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x74]
mov r11, qword [rsp + 0x78]
mov r10, qword [rbp - 0x80]
mov r8, qword [rbp - 0x78]
jmp 0x180051bc0
mov eax, edi
jmp 0x180051813
mov eax, dword [rbp - 0x6c]
add eax, esi
jmp 0x180051813