Function at 0x18006ee10
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x180080a28]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x240]
mov r10, r9
mov r15, qword [rbp + 0x268]
mov r13d, r8d
mov edi, dword [rbp - 0x80]
mov r11d, dword [rbp - 0x80]
mov ebx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x80]
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x260]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp - 0x28], rax
lea eax, [r8 + 0x1167]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp + 0x250]
mov qword [rbp - 0x38], r9
mov dword [rbp + 8], r8d
mov qword [rbp + 0xa0], rdx
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x18], r8d
mov dword [rsp + 0x60], eax
cmp r8d, eax
jae 0x18006fb87
mov edx, dword [rbp - 0x80]
movsxd r9, dword [rbp - 0x80]
mov r12, qword [rbp - 0x20]
mov r8, r9
mov r14d, dword [rbp - 0x80]
mov dword [rbp - 0x50], edx
mov edx, dword [rbp - 0x64]
mov dword [rsp + 0x78], edx
mov rdx, qword [rbp - 0x20]
mov dword [rbp - 0x68], r11d
mov r11, qword [rbp - 0x20]
mov qword [rbp - 0x70], rdx
mov dword [rsp + 0x68], r9d
mov qword [rsp + 0x70], r9
mov dword [rbp - 0x78], r14d
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x58], r11
nop
cmp r13d, 0x226
ja 0x18006f4fc
je 0x18006f454
cmp r13d, 0x113
ja 0x18006f2ea
je 0x18006f2d4
lea eax, [r13 - 0x4e]
cmp eax, 0xbc
ja case.0x18006f541.574
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x7058c]
mov ecx, dword [rcx + rax*4 + 0x70570]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
test r10, r10
jne 0x18006efcb
xor ecx, ecx
lea rax, str.TDC_OCES_CA
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, [rbp + 0x28]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rbp + 0x28], ecx
call fcn.18002b8a0
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
cmp qword [rbp + 0x18], 0
jne case.0x18006f541.574
xor ecx, ecx
lea rax, str.SSR_TRAILER
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x30]
mov dword [rbp + 0x30], ecx
mov qword [rsp + 0x38], rcx
lea rdx, [0x180077149]
mov qword [rsp + 0x30], rcx
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rcx
call fcn.18002b8a0
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
jmp case.0x18006f541.574
mov r9, r10
mov dword [rbp + 0x38], 3
lea r8, [rbp + 0x38]
mov dword [rsp + 0x20], 0xde
xor edx, edx
xor ecx, ecx
call fcn.180039930
mov qword [rbp - 0x20], rax
mov r14, 0xffffffffffffffff
mov rax, qword [rbp - 0x28]
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x18006f070
mov qword [rbp + 0xa8], r14
mov r8, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
mov r14d, dword [rbp - 0x78]
jmp 0x18006f362
mov eax, 1
mov qword [rbp + 0xb8], r10
xchg dword [r10 + 0x120], eax
mov ecx, dword [rbp - 0x64]
mov dword [rsp + 0x78], ecx
jmp case.0x18006f541.574
xor esi, esi
cmp qword [rbp + 0x10], rsi
jne 0x18006f11c
mov qword [rsp + 0x58], rsi
lea rax, str.RINGING_FOR_ME
mov qword [rsp + 0x50], rsi
lea rdx, [0x180077149]
mov qword [rsp + 0x48], rsi
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rsi
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rsi
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov dword [rbp + 0x40], esi
call fcn.18002b8a0
mov r8, qword [rsp + 0x70]
mov r10, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
mov rax, qword [rbp - 0x28]
mov r9d, esi
mov dword [rbp - 0x48], esi
cmp dword [rax], 0
jbe 0x18006f362
nop
mov eax, esi
lea r14d, [r9]
movzx edx, word [r10 + rax*2]
cmp edx, 0x1ffff
jbe 0x18006f18f
mov ecx, 0x3d
mov eax, ecx
sub eax, 0x3d
je 0x18006f17f
cmp eax, 0x4b
jne 0x18006f184
mov eax, ebx
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.180072740
mov rbx, qword [rsp + 0x330]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, reloc.SHELL32.dll_ILFindLastID
add ecx, 0x4b
cmp ecx, 0xd3
jb 0x18006f147
mov word [rbp - 0x60], dx
lea rcx, [rbp - 0x60]
mov edx, 0xdf
xor r9d, r9d
xor r8d, r8d
call fcn.18005d5c0
mov r10, qword [rbp - 0x38]
inc esi
lea r9d, [r14 + rax]
mov rax, qword [rbp - 0x28]
mov dword [rbp - 0x48], r9d
cmp esi, dword [rax]
jb 0x18006f130
jmp 0x18006f081
test r10, r10
jne 0x18006f22a
xor ecx, ecx
lea rax, str.get_Status
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, [rbp + 0x50]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rbp + 0x50], ecx
call fcn.18002b8a0
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
test r15, r15
jne case.0x18006f541.574
xor ecx, ecx
lea rax, str.mPresetList
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x58]
mov dword [rbp + 0x58], ecx
jmp 0x18006effa
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
jmp case.0x18006f541.574
xor ecx, ecx
mov r9d, ecx
mov dword [rsp + 0x68], ecx
mov r8d, ecx
mov qword [rsp + 0x70], rcx
jmp 0x18006f36b
lea eax, [r13 - 0x144]
cmp eax, 0xa5
ja case.0x18006f541.574
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x70668]
mov ecx, dword [rcx + rax*4 + 0x7064c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp + 0xa8]
lea r9, [rbp + 0xb0]
inc rax
xor r8d, r8d
mov edx, 0xda
mov qword [rbp + 0xb0], rax
mov rcx, r10
call fcn.1800680e0
mov qword [rbp + 0x98], rax
jmp 0x18006f023
mov r9d, dword [rbp - 0x48]
cmp r9d, 0x80
jae 0x18006f38c
lea ecx, [r9 + 2]
mov dword [rbp - 0x4c], ecx
mov r9d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x60]
mov r10, qword [rbp - 0x38]
add r13d, 0xa5
mov dword [rbp - 0x18], r13d
cmp r13d, eax
jae 0x18006fbc1
mov rcx, qword [rbp - 0x30]
jmp 0x18006ef10
cmp r9d, 0x100
jae 0x18006f39b
lea ecx, [r9 + 3]
jmp 0x18006f35f
cmp r9d, 0x10000
jae 0x18006f3aa
lea ecx, [r9 + 4]
jmp 0x18006f35f
cmp r9d, 0x1000000
jae 0x18006f3bc
lea eax, [r9 + 5]
mov dword [rbp - 0x4c], eax
jmp 0x18006f362
mov ecx, 0xef
mov eax, ecx
sub eax, 0xef
je 0x18006f3d5
cmp eax, 1
je case.0x18006fc2b.75
jmp 0x18006f3da
mov ebx, reloc.SHELL32.dll_ILFindLastID
inc ecx
cmp ecx, 0xf1
jb 0x18006f3c1
jmp 0x18006f362
mov r14d, 0xbd
mov eax, r14d
sub eax, 0xbd
je 0x18006f410
cmp eax, 1
jne 0x18006f425
lea ecx, [rax + 9]
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18006f425
mov rcx, qword [rbp + 0xb8]
xor eax, eax
xor edx, edx
lock cmpxchg dword [rcx + 0x120], edx
je 0x18006f433
inc r14d
cmp r14d, 0xbf
jb 0x18006f3f6
jmp case.0x18006f318.385
mov eax, dword [rbp - 0x64]
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
mov r14d, dword [rbp - 0x78]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x60]
mov r13d, 0x226
jmp 0x18006f36b
cmp qword [rbp + 0x88], 0
jne case.0x18006f541.574
xor ecx, ecx
lea rax, str.blr_gds_code_
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], ecx
jmp 0x18006effa
movsxd rcx, dword [r10 + 8]
mov rax, qword [r10]
mov edx, dword [rcx + rax - 4]
mov eax, dword [rcx + rax - 8]
mov dword [rbp + 0x60], edx
mov rdx, qword [rbp - 0x70]
mov dword [rbp + 4], eax
jmp case.0x18006f541.574
mov r14, qword [rbp + 0xa8]
mov r12, qword [rbp + 0x98]
mov r8, r14
mov rdx, qword [rbp - 0x28]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov byte [r12 + r14], 0
mov r12, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
mov r14d, dword [rbp - 0x78]
jmp case.0x18006f541.574
cmp r13d, 0x39e
ja 0x18006f989
je 0x18006f94f
lea eax, [r13 - 0x23d]
cmp eax, 0xbc
ja case.0x18006f541.574
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x7072c]
mov ecx, dword [rcx + rax*4 + 0x70710]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
movsxd rdx, dword [rbp + 0x60]
xor eax, eax
mov r11d, edx
mov dword [rbp - 0x50], edx
mov r12d, eax
cmp dword [rbp + 4], eax
jle 0x18006f93e
mov r14, rdx
xor edx, edx
mov r13d, edx
cmp r13d, 7
ja case.default.0x18006f588
mov eax, r13d
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x707ec]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rcx, qword [rbp + 0x80]
lea rdx, [rbp + 0xd0]
mov r8d, 0x100
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x18006f6d8
mov rax, qword [rbp + 0x80]
mov byte [rax + 0xff], 0
jmp case.default.0x18006f588
mov qword [rsp + 0x58], rdx
lea rax, [r10 + 0x3d0]
mov qword [rsp + 0x50], rdx
mov r9d, 0x7e
mov qword [rsp + 0x48], rdx
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x80]
call fcn.18002b8a0
jmp 0x18006f6d8
mov r9d, edx
mov dword [rsp + 0x68], edx
mov r8, rdx
mov qword [rsp + 0x70], rdx
jmp case.default.0x18006f588
mov rax, qword [r10]
add r11d, 4
mov dword [rbp - 0x50], r11d
mov eax, dword [r14 + rax]
add r14, 4
mov dword [rbp + 0x64], eax
jmp case.default.0x18006f588
movsxd rdx, dword [r10 + 8]
cmp r14, rdx
jge 0x18006f670
mov eax, dword [rbp]
test eax, eax
je 0x18006f66c
mov rax, qword [r10]
inc r9d
inc r11d
movsx ecx, byte [r14 + rax]
inc r14
mov byte [rbp + r8 + 0xd0], cl
mov eax, ecx
inc r8
mov dword [rbp], ecx
cmp r14, rdx
jl 0x18006f642
mov dword [rbp - 0x50], r11d
mov rax, r8
inc r9d
inc r8
mov dword [rsp + 0x68], r9d
mov qword [rsp + 0x70], r8
cmp rax, 0x80
jae 0x180070569
mov byte [rbp + rax + 0xd0], 0
jmp 0x18006f6ea
mov rax, qword [r10]
movsx ecx, byte [rax + r14]
mov dword [rbp], ecx
jmp case.default.0x18006f588
lea r9, [rbp + 0xc0]
mov qword [rbp + 0xc0], 0x104
xor r8d, r8d
mov edx, 0xda
mov rcx, r10
call fcn.1800680e0
mov ecx, dword [rbp + 0x64]
mov qword [rbp + 0x80], rax
mov dword [rax + 0x100], ecx
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov r10, qword [rbp - 0x38]
mov r11d, dword [rbp - 0x50]
xor edx, edx
inc r13d
lea ecx, [r13 + 0x34]
cmp ecx, 0x3c
jb 0x18006f563
inc r12d
cmp r12d, dword [rbp + 4]
jl 0x18006f560
mov r13d, dword [rbp - 0x18]
jmp 0x18006f4e7
mov r10, qword [rbp + 0x10]
mov eax, dword [rbp - 0x4c]
cmp eax, dword [r10]
jbe 0x18006f745
mov ecx, 0x4c
mov eax, ecx
sub eax, 0x4b
je case.0x18006fc2b.75
cmp eax, 1
jne 0x18006f73e
mov eax, dword [rbp - 0x48]
mov ebx, 6
mov dword [r10], eax
dec ecx
cmp ecx, 0x4a
ja 0x18006f723
xor eax, eax
mov esi, eax
jmp case.0x18006f541.574
mov r9d, dword [rbp - 0x48]
mov eax, esi
inc esi
mov byte [rax + r15], ILFindLastID
cmp r9d, 0x80
jae 0x18006f76f
mov byte [rsi + r15], r9b
inc esi
jmp 0x18006f362
cmp r9d, 0x100
jae 0x18006f78a
mov byte [rsi + r15], 0x81
inc esi
mov byte [rsi + r15], r9b
inc esi
jmp 0x18006f362
cmp r9d, 0x10000
jae 0x18006f7df
mov edx, 0x87
nop dword [rax + rax]
mov eax, edx
sub eax, 0x85
je 0x18006f7c6
sub eax, 1
je 0x18006f7ba
cmp eax, 1
jne 0x18006f7cc
mov byte [rsi + r15], 0x82
jmp 0x18006f7ca
mov ecx, r9d
shr ecx, 8
mov byte [rsi + r15], cl
jmp 0x18006f7ca
mov byte [rsi + r15], r9b
inc esi
dec edx
cmp edx, 0x84
ja 0x18006f7a0
mov rdx, qword [rbp - 0x70]
jmp 0x18006f362
cmp r9d, 0x1000000
jae 0x18006f841
mov edx, 0x57
nop dword [rax]
cmp edx, 0x57
je 0x18006f823
cmp edx, 0x166e
je 0x18006f80b
cmp edx, 0x2c85
jne 0x18006f82a
mov byte [rsi + r15], r9b
jmp 0x18006f828
mov ecx, r9d
shr ecx, 0x10
mov byte [rsi + r15], cl
inc esi
mov ecx, r9d
shr ecx, 8
mov byte [rsi + r15], cl
jmp 0x18006f828
mov byte [rsi + r15], 0x83
inc esi
add edx, 0x1617
cmp edx, 0x4245
jbe 0x18006f7f0
mov rdx, qword [rbp - 0x70]
jmp 0x18006f362
mov eax, 0xe9
cmp eax, 0xe9
je 0x18006f85a
cmp eax, 0x20c4
je case.0x18006fc2b.75
jmp 0x18006f85f
mov ebx, reloc.SHELL32.dll_ILFindLastID
add eax, 0x1fdb
cmp eax, 0x3fb6
jbe 0x18006f846
jmp 0x18006f362
mov rax, qword [rbp - 8]
lea r8, [rbp + 0x68]
xor r9d, r9d
xor ecx, ecx
mov eax, dword [rax]
lea edx, [r9 + 0x3a]
mov dword [rbp + 0x68], eax
call fcn.180022220
mov rdi, rax
test eax, eax
jne 0x18006f155
jmp 0x18006f023
mov rax, qword [rbp + 0xa0]
lea r9, [rbp + 0x70]
xor r8d, r8d
xor edx, edx
mov ecx, 0x119
mov eax, dword [rax]
mov dword [rbp + 0x70], eax
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18002d490
mov edi, eax
test eax, eax
je 0x18006f023
mov eax, reloc.SHLWAPI.dll_IUnknown_GetWindow
nop word [rax + rax]
cmp eax, 0xac
je 0x18006f8f4
cmp eax, 0x468c
je case.0x18006fc2b.75
jmp 0x18006f8f6
mov ebx, edi
add eax, 0x45e0
cmp eax, 0x8bc0
jbe 0x18006f8e0
jmp 0x18006f023
mov r12, qword [rbp - 0x20]
mov r9, r10
mov rax, qword [rbp + 0x98]
xor r8d, r8d
mov rcx, r12
mov qword [r12 + 0x10], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
lea edx, [rax + 0x7d]
call fcn.180016c30
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov r12, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
jmp case.0x18006f541.574
mov rax, qword [rbp - 8]
lea r10, [0x180000000]
mov r14d, 0
movsxd rax, dword [rax]
shl rax, 7
mov eax, dword [rax + r10 + 0x8219c]
mov dword [rbp - 0x68], eax
mov eax, dword [rcx]
test al, 7
setne r14b
shr eax, 3
add r14d, eax
mov dword [rbp - 0x78], r14d
jmp case.0x18006f541.574
cmp r13d, 0x632
ja 0x18006fac6
je 0x18006fa3a
cmp r13d, 0x443
je 0x18006fa0c
cmp r13d, 0x4e8
je 0x18006f9e9
cmp r13d, 0x58d
jne 0x18006f36b
mov ecx, r14d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [rbp - 0x68]
mov r12, rax
mov qword [rbp - 0x40], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, qword [rsp + 0x70]
mov r11, rax
mov rdx, qword [rbp - 0x70]
mov qword [rbp - 0x58], rax
jmp 0x18006f362
mov ecx, r14d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, qword [rsp + 0x70]
mov rdx, rax
mov r9d, dword [rsp + 0x68]
mov r11, qword [rbp - 0x58]
mov qword [rbp - 0x70], rax
jmp case.0x18006f541.574
mov eax, dword [rbp - 0x68]
lea ecx, [rax + rax]
lea eax, [r14 - 2]
cmp ecx, eax
jae 0x18006fa30
mov eax, r14d
sub eax, ecx
mov rcx, qword [rbp - 0x28]
sub eax, 2
cmp dword [rcx], eax
jbe case.0x18006f541.574
nop
mov eax, 0x16
jmp 0x18006f155
test rdx, rdx
je 0x18006fa4d
test r12, r12
je 0x18006fa4d
test r11, r11
jne 0x18006f36b
mov r14d, 0x108
mov eax, r14d
sub eax, 0x108
je 0x18006fa82
sub eax, 0x4b
je 0x18006fa6d
cmp eax, 0x4b
je case.0x18006fc2b.75
jmp 0x18006fa9e
test r11, r11
je 0x18006fa7b
mov rcx, r11
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ebx, ILFindLastID
jmp 0x18006fa9e
test rdx, rdx
je 0x18006fa90
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12, r12
je 0x18006fa9e
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp - 0x70]
add r14d, 0x4b
mov r11, qword [rbp - 0x58]
cmp r14d, 0x1e9
jb 0x18006fa53
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov r14d, dword [rbp - 0x78]
jmp case.0x18006f541.574
cmp r13d, 0x6d7
je 0x18006fb47
cmp r13d, 0x77c
jne 0x18006f36b
mov dword [rsp + 0x28], 0x10d
mov r9, rdx
test r15, r15
je 0x18006fb0b
mov rax, qword [rbp + 0x10]
lea rcx, [rbp + 0x48]
mov r8, r15
mov eax, dword [rax]
mov dword [rbp + 0x78], eax
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp + 0x48], eax
lea rax, [rbp + 0x78]
jmp 0x18006fb24
xor eax, eax
lea rcx, [rbp - 0x80]
mov dword [rbp + 0x20], eax
mov r8, rdx
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp - 0x80], eax
lea rax, [rbp + 0x20]
lea rdx, [rbp - 0x64]
mov qword [rsp + 0x20], rax
call fcn.180061fc0
mov edi, eax
test eax, eax
jne 0x18006fb56
mov ecx, dword [rbp - 0x68]
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x64], ecx
jmp 0x18006f023
mov ecx, r14d
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x64], ecx
jmp 0x18006f36b
mov eax, dword [rbp - 0x64]
mov r13d, 0xfd
mov rdx, qword [rbp - 0x20]
mov r12d, dword [rbp - 0x80]
mov r14d, dword [rbp - 0x80]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp - 0x80]
mov dword [rbp - 0x64], eax
mov dword [rbp - 0x48], r12d
mov qword [rsp + 0x70], rdx
mov dword [rbp - 0x60], r14d
jmp case.0x18006fc2b.79
mov rax, qword [rbp - 0x20]
mov r9d, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x64]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp - 0x80]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp - 0x80]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], r11d
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x78], ecx
jmp 0x18006fbc5
mov r11d, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x20]
mov eax, dword [rbp + 8]
mov r13d, eax
mov r12d, dword [rbp - 0x80]
mov r14d, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x80]
mov qword [rsp + 0x70], rdx
mov dword [rbp - 0x48], r12d
mov dword [rbp - 0x60], r14d
mov dword [rbp - 0x64], r8d
add eax, 0xffffffe5
mov dword [rbp - 0x4c], r13d
cmp r13d, eax
jbe case.0x18006fc2b.75
lea eax, [r13 - 0x4b]
cmp eax, 0xbf
ja case.0x18006fc2b.79
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x70874]
mov ecx, dword [rcx + rax*4 + 0x7080c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp - 0x28]
mov rdx, r10
mov ecx, dword [rsp + 0x78]
add rcx, qword [rbp - 0x70]
mov r8d, dword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsp + 0x78]
mov rax, qword [rbp - 0x28]
add ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
mov rax, qword [r10]
movsxd rcx, r11d
mov r12d, dword [rcx + rax]
mov dword [rbp - 0x48], r12d
jmp case.0x18006fc2b.79
mov ebx, edi
jmp case.0x18006fc2b.79
xor eax, eax
mov ebx, eax
jmp case.0x18006fc2b.79
mov rcx, qword [rbp + 0x88]
mov eax, dword [rsp + 0x78]
mov dword [rcx], eax
jmp case.0x18006fc2b.79
mov ecx, dword [rsp + 0x78]
mov r8, qword [rbp + 0x18]
mov byte [rcx + r8], 0
inc ecx
mov dword [rsp + 0x78], ecx
jmp case.0x18006fc2b.79
mov r9, qword [rbp + 0x88]
mov r8d, dword [rbp - 0x78]
cmp dword [r9], r8d
jae case.0x18006fc2b.79
mov ecx, 0x64
mov eax, ecx
sub eax, 0x64
je 0x18006fcdc
cmp eax, 0x3a
jne 0x18006fcdf
lea edi, [rax - 0x34]
mov r13d, 0xfd
jmp case.0x18006fc2b.79
mov dword [r9], r8d
add ecx, 0x3a
cmp ecx, 0xd8
jb 0x18006fcc2
jmp case.0x18006fc2b.79
mov eax, dword [rbp - 0x78]
xor ecx, ecx
mov qword [rsp + 0x48], rcx
xor r9d, r9d
mov qword [rbp - 0x30], rax
xor r8d, r8d
mov rax, qword [rbp - 0x40]
xor edx, edx
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
mov rax, qword [rbp + 0xa0]
mov rdi, qword [rbp - 0x58]
mov r8, qword [rbp + 0xc8]
mov rcx, rdi
mov edx, dword [rbp - 0x68]
movsxd rax, dword [rax]
lea r9, [rax + rax*4]
add r9, r9
lea rax, [0x180000000]
call qword [rax + r9*8 + 0x83358]
mov ecx, dword [rbp - 0x68]
cmp eax, ecx
je 0x18006fd8f
mov edi, 9
mov rdx, qword [rsp + 0x70]
mov r13d, 0xfd
jmp case.0x18006fc2b.79
mov eax, dword [rbp - 0x78]
lea r8, [rbp - 0x10]
sub eax, ecx
mov dword [rbp - 0x10], ecx
dec eax
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], eax
mov r9, rdi
mov rax, qword [rbp - 8]
mov ecx, 0xe8
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180060610
mov edi, eax
test eax, eax
jne 0x18006fd7f
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
add r11d, 4
xor eax, eax
mov dword [rbp - 0x50], r11d
mov edx, eax
mov qword [rsp + 0x70], rax
jmp case.0x18006fc2b.79
mov ecx, dword [rbp - 0x68]
lea r8, [rbp - 0x10]
mov eax, dword [rbp - 0x78]
lea rdx, [rsp + 0x60]
mov r9, qword [rbp - 0x70]
sub eax, ecx
dec eax
mov dword [rsp + 0x60], ecx
mov dword [rbp - 0x10], eax
mov ecx, 0xe8
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp - 0x30], eax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
call fcn.180060610
mov edi, eax
test eax, eax
jne 0x18006fd7f
mov r11d, dword [rbp - 0x68]
xor ecx, ecx
mov dword [rbp - 0x60], ecx
mov r14d, ecx
test r11d, r11d
je 0x18006fc52
mov r10, qword [rbp - 0x58]
mov r9, qword [rbp - 0x40]
cmp r11d, 0x40
jb 0x18006ff03
lea eax, [r11 - 1]
mov dword [rbp - 0x60], ecx
lea rdx, [r10 + rax]
add rax, r9
cmp r10, rax
ja 0x18006fe84
cmp rdx, r9
jae 0x18006ff03
mov r8d, r11d
and r8d, 0xffffffc0
mov edx, 0x20
mov eax, r14d
add r14d, 0x40
movdqu xmm0, xmmword [r10 + rax]
movdqu xmm1, xmmword [r9 + rax]
pxor xmm1, xmm0
movdqu xmmword [r10 + rax], xmm1
lea eax, [rdx - 0x10]
movdqu xmm0, xmmword [rax + r10]
movdqu xmm1, xmmword [rax + r9]
pxor xmm1, xmm0
movdqu xmmword [rax + r10], xmm1
mov eax, edx
movdqu xmm0, xmmword [rax + r10]
movdqu xmm1, xmmword [rax + r9]
pxor xmm1, xmm0
movdqu xmmword [rax + r10], xmm1
lea eax, [rdx + 0x10]
add edx, 0x40
movdqu xmm0, xmmword [rax + r10]
movdqu xmm1, xmmword [rax + r9]
pxor xmm1, xmm0
movdqu xmmword [rax + r10], xmm1
cmp r14d, r8d
jb 0x18006fe90
mov dword [rbp - 0x60], r14d
cmp r14d, r11d
jae 0x18006fc52
mov ecx, r14d
mov r8, r9
add rcx, r10
mov dword [rbp - 0x60], r11d
sub r8, r10
mov edx, r11d
sub edx, r14d
mov r14d, r11d
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x18006ff30
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
xor eax, eax
mov r13d, eax
mov rax, qword [rbp - 0x28]
cmp dword [rax], r13d
jbe 0x180070013
nop dword [rax]
mov r12d, 0x106
mov eax, r12d
sub eax, 0x106
je 0x18006ff83
sub eax, 1
je 0x18006ffdc
cmp eax, 1
jne 0x18006ffe2
mov dword [rbp - 0x4c], 0x4e
jmp 0x18006ffe2
mov eax, r13d
lea rcx, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xdf
lea r14, [r10 + rax*2]
movzx eax, word [r10 + rax*2]
mov word [rsp + 0x60], ax
call fcn.18005d5c0
sub eax, 1
je 0x18006ffcb
sub eax, 1
je 0x18007004a
sub eax, 1
je 0x180070094
cmp eax, 1
je 0x180070102
jmp 0x18006ffe2
mov edx, 0x71
mov eax, edx
sub eax, 0x71
je 0x180070033
cmp eax, 0x23
jne 0x18007003f
mov r12d, 0x107
mov r10, qword [rbp - 0x38]
inc r12d
cmp r12d, 0x109
jb 0x18006ff66
mov rax, qword [rbp - 0x28]
inc r13d
cmp r13d, dword [rax]
jb 0x18006ff60
mov rdx, qword [rsp + 0x70]
mov r14d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x48]
mov r13d, dword [rbp - 0x4c]
mov r8d, dword [rbp - 0x64]
dec r13d
mov r9d, dword [rsp + 0x68]
mov r10, qword [rbp - 0x38]
mov r11d, dword [rbp - 0x50]
mov eax, dword [rbp + 8]
jmp 0x18006fbec
movzx eax, byte [r14]
mov ecx, esi
inc esi
mov byte [rcx + r15], al
add edx, 0x23
cmp edx, 0xb7
jb 0x18006ffd0
mov edx, 0x115
nop
mov eax, edx
sub eax, 0x115
je 0x180070064
cmp eax, 1
je 0x18006ffdc
jmp 0x18007008a
movzx ecx, word [r14]
shr cx, 6
and cl, 0x1f
mov eax, esi
or cl, 0xc0
inc esi
mov byte [rax + r15], cl
movzx ecx, byte [r14]
and cl, 0x3f
or cl, 0x80
mov byte [rsi + r15], cl
inc esi
inc edx
cmp edx, 0x117
jb 0x180070050
mov edx, 0xa
nop dword [rax]
cmp edx, 0xa
je 0x1800700cd
cmp edx, 0x2ee
je 0x1800700bb
cmp edx, 0x5d2
je 0x18006ffdc
jmp 0x1800700f4
movzx ecx, byte [r14]
mov eax, esi
and cl, 0x3f
or cl, 0x80
mov byte [rax + r15], cl
jmp 0x1800700f2
movzx ecx, word [r14]
shr cx, 0xc
or cl, 0xe0
mov eax, esi
inc esi
mov byte [rax + r15], cl
movzx ecx, word [r14]
shr cx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsi + r15], cl
inc esi
add edx, 0x2e4
cmp edx, 0x8ac
jbe 0x1800700a0
mov edx, 0x102
cmp edx, 0x102
je 0x180070155
cmp edx, 0x77ee
je 0x18007013f
cmp edx, 0xeeda
je 0x18007012d
cmp edx, 0x165c6
je 0x18006ffdc
jmp 0x18007016f
movzx ecx, byte [r14]
mov eax, esi
and cl, 0x3f
or cl, 0x80
mov byte [rax + r15], cl
jmp 0x18007016d
movzx ecx, word [r14]
shr cx, 6
mov eax, esi
and cl, 0x3f
or cl, 0x80
mov byte [rax + r15], cl
jmp 0x18007016d
mov eax, esi
inc esi
mov byte [rax + r15], 0xf0
movzx ecx, word [r14]
shr cx, 0xc
or cl, 0x80
mov byte [rsi + r15], cl
inc esi
add edx, 0x76ec
cmp edx, 0x1dbb0
jbe 0x180070107
jmp 0x18006ffe2
mov ecx, dword [rsp + 0x78]
mov r8, qword [rbp - 0x70]
add ecx, r14d
lea eax, [rcx + 1]
mov byte [rcx + r8], 1
mov dword [rsp + 0x78], eax
jmp case.0x18006fc2b.79
xor eax, eax
mov dword [rsp + 0x78], eax
jmp case.0x18006fc2b.79
mov eax, dword [rbp - 0x78]
xor ecx, ecx
mov qword [rsp + 0x48], rcx
xor r9d, r9d
mov qword [rbp - 0x30], rax
xor r8d, r8d
mov rax, qword [rbp - 0x70]
xor edx, edx
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
mov eax, dword [rbp - 0x68]
xor ecx, ecx
mov qword [rsp + 0x48], rcx
xor r9d, r9d
mov qword [rbp - 0x30], rax
xor r8d, r8d
mov rax, qword [rbp - 0x58]
xor edx, edx
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
mov eax, dword [rbp - 0x68]
xor edx, edx
mov r14d, dword [rbp - 0x78]
add eax, eax
mov ecx, dword [rsp + 0x78]
sub r14d, eax
mov rax, qword [rbp - 0x28]
add rcx, qword [rbp - 0x70]
sub r14d, dword [rax]
sub r14d, 2
mov r8d, r14d
mov dword [rbp - 0x60], r14d
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
mov rax, qword [rbp + 0x10]
mov dword [rax], esi
jmp case.0x18006fc2b.79
mov ecx, dword [rsp + 0x78]
add rcx, qword [rbp + 0x18]
mov r8d, dword [rbp - 0x68]
mov rdx, qword [rbp - 0x58]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
mov ecx, dword [rsp + 0x78]
mov eax, dword [rbp - 0x78]
dec ecx
sub eax, dword [rbp - 0x68]
add ecx, eax
mov dword [rsp + 0x78], ecx
jmp case.0x18006fc2b.79
xor ecx, ecx
mov r13d, ecx
test r12d, r12d
jle 0x18007035e
movsxd r14, r9d
movsxd rbx, r11d
nop dword [rax + rax]
mov r12d, 0x70
nop word [rax + rax]
mov eax, r12d
sub eax, 0x70
je 0x180070401
sub eax, 0x76
je 0x1800703b7
sub eax, 0x76
je 0x180070365
cmp eax, 0x76
jne 0x18007033d
test rdx, rdx
jne 0x18007033d
mov r8d, 0xf8
lea rdx, [rbp + 0xd0]
mov rcx, r10
call fcn.18005e1b0
mov r8d, dword [rbp - 0x64]
mov r9d, dword [rsp + 0x68]
mov r11d, dword [rbp - 0x50]
xor ecx, ecx
mov rdx, qword [rsp + 0x70]
mov r10, qword [rbp - 0x38]
add r12d, 0x76
cmp r12d, 0x248
jb 0x1800702f0
mov r12d, dword [rbp - 0x48]
inc r13d
cmp r13d, r12d
jl 0x1800702e0
mov r14d, dword [rbp - 0x60]
mov ebx, ecx
jmp 0x180070013
mov rax, r14
inc r9d
inc r14
mov dword [rsp + 0x68], r9d
cmp rax, 0x80
jae 0x180070569
mov r9d, 0x11b
mov byte [rbp + rax + 0xd0], 0
lea r8, [rbp + 0xd0]
mov rdx, r10
xor ecx, ecx
call fcn.18005e500
mov r8d, dword [rbp - 0x64]
mov rdx, rax
mov r9d, dword [rsp + 0x68]
xor ecx, ecx
mov r11d, dword [rbp - 0x50]
mov qword [rsp + 0x70], rax
jmp 0x18007033d
movsxd rdx, dword [r10 + 8]
cmp rbx, rdx
jge 0x180070338
test r8d, r8d
je 0x180070336
mov rax, qword [r10]
inc r9d
inc r11d
mov dword [rsp + 0x68], r9d
mov dword [rbp - 0x50], r11d
movsx ecx, byte [rbx + rax]
inc rbx
mov byte [rbp + r14 + 0xd0], cl
mov r8d, ecx
inc r14
mov dword [rbp - 0x64], ecx
cmp rbx, rdx
jl 0x1800703c4
jmp 0x180070336
mov rax, qword [r10]
mov r9d, ecx
mov dword [rsp + 0x68], ecx
mov r14, rcx
movsx r8d, byte [rax + rbx]
mov dword [rbp - 0x64], r8d
jmp 0x18007033d
mov r9d, dword [rbp - 0x78]
xor ecx, ecx
sub r9d, dword [rbp - 0x68]
mov r14d, ecx
mov dword [rbp - 0x60], ecx
sub r9d, 1
je case.0x18006fc2b.79
mov r11, qword [rbp - 0x70]
mov r10, qword [rbp - 0x40]
cmp r9d, 0x40
jb 0x1800704e8
lea eax, [r9 - 1]
mov dword [rbp - 0x60], ecx
lea rdx, [r11 + rax]
add rax, r10
cmp r11, rax
ja 0x180070464
cmp rdx, r10
jae 0x1800704e3
mov r8d, r9d
and r8d, 0xffffffc0
mov edx, 0x20
mov eax, r14d
add r14d, 0x40
movdqu xmm0, xmmword [r11 + rax]
movdqu xmm1, xmmword [r10 + rax]
pxor xmm1, xmm0
movdqu xmmword [r11 + rax], xmm1
lea eax, [rdx - 0x10]
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r10]
pxor xmm1, xmm0
movdqu xmmword [rax + r11], xmm1
mov eax, edx
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r10]
pxor xmm1, xmm0
movdqu xmmword [rax + r11], xmm1
lea eax, [rdx + 0x10]
add edx, 0x40
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r10]
pxor xmm1, xmm0
movdqu xmmword [rax + r11], xmm1
cmp r14d, r8d
jb 0x180070470
mov dword [rbp - 0x60], r14d
mov rdx, qword [rsp + 0x70]
cmp r14d, r9d
jae case.0x18006fc2b.79
mov ecx, r14d
mov r8, r10
add rcx, r11
mov dword [rbp - 0x60], r9d
sub r8, r11
mov edx, r9d
sub edx, r14d
mov r14d, r9d
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180070510
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
xor eax, eax
mov r13d, 0xfd
mov edi, eax
jmp case.0x18006fc2b.79
mov eax, dword [rsp + 0x78]
add eax, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x78]
sub r8d, dword [rbp - 0x68]
mov rdx, qword [rbp - 0x70]
dec r8d
mov ecx, eax
add rcx, qword [rbp + 0x18]
mov dword [rsp + 0x78], eax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x70]
jmp case.0x18006fc2b.79
call fcn.180072430
int3