Function at 0x18002cbe0
Capabilities:
Check for software breakpoints
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rdi
push r12
push r15
sub rsp, 0x58
mov eax, dword [0x180095520]
mov r10, r9
mov r12, r8
mov edi, edx
test al, 1
jne 0x18002cc13
or eax, 1
mov dword [0x180095520], eax
mov qword [rsp + 0x90], rbp
lea r15d, [rdx + 0xe9f]
mov qword [rsp + 0x50], rsi
xor r8d, r8d
mov qword [rsp + 0x48], r13
mov ebx, edx
mov qword [rsp + 0x40], r14
cmp edx, r15d
jae 0x18002ceb0
mov r13, qword [rsp + 0xa0]
lea edx, [r8 + 0x43]
movzx edi, word [rsp + 0x88]
mov eax, 0xff0c
movzx ebp, word [rsp + 0x88]
mov r8d, 0x100
movzx esi, word [rsp + 0x88]
mov r11d, 0xfdff
mov r14, qword [rsp + 0x38]
lea r9d, [rax - 0xd]
nop dword [rax]
cmp ebx, 0x27d
ja 0x18002cdf7
je 0x18002cdd8
cmp ebx, 0x117
ja 0x18002cd06
je 0x18002ccf8
mov eax, ebx
sub eax, 0x2e
je 0x18002ccd8
sub eax, 0xf
je 0x18002cccf
sub eax, 0xb6
je 0x18002ccc3
cmp eax, 0xf
jne 0x18002ce92
xor eax, eax
mov edi, eax
mov ebp, eax
jmp 0x18002ce92
mov word [0x1800954d2], dx
jmp 0x18002ce92
xor eax, eax
mov esi, eax
jmp 0x18002ce92
movzx eax, word [0x180085800]
mov word [0x1800954d0], ax
movzx eax, byte [0x180085802]
mov byte [0x1800954d2], al
jmp 0x18002ce92
mov eax, dword [rcx]
mov dword [0x423005a8], eax
jmp 0x18002ce92
mov eax, ebx
sub eax, 0x127
je 0x18002cdbc
sub eax, 0x91
je 0x18002cd87
sub eax, 0xf
je 0x18002cd72
cmp eax, 0x25
jne 0x18002ce92
xor edx, edx
lea rcx, [rsp + 0x38]
xor eax, eax
xchg qword [0x180094fb0], rax
mov qword [rsp + 0x38], r14
lea r8d, [rdx + 0x4d]
call fcn.1800174c0
mov rcx, qword [rsp + 0x80]
mov edx, 0x43
mov r10, qword [rsp + 0x98]
mov r8d, 0x100
mov r9d, 0xfeff
mov r11d, 0xfdff
jmp 0x18002ce92
movzx eax, word [rcx + 0x20]
and ax, r9w
mov word [rcx + 0x20], ax
movzx esi, word [rcx + 0x1c]
jmp 0x18002ce92
lea rcx, [0x1800954d0]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x18002cd91
movzx eax, word [0x180085814]
mov word [rcx], ax
movzx eax, byte [0x180085816]
mov byte [rcx + 2], al
mov rcx, qword [rsp + 0x80]
jmp 0x18002ce92
xor eax, eax
xor r14d, r14d
lock cmpxchg qword [0x180094fb0], r14
mov r14, rax
je 0x18002cfdf
jmp 0x18002ce92
movsd xmm0, qword [str.FGHIJKLM]
movsd qword [0x1800954d5], xmm0
mov dword [0x1800954dd], 0x504f4e
jmp 0x18002ce92
cmp ebx, 0x416
ja 0x18002ce4f
je 0x18002ce4a
mov eax, ebx
sub eax, 0x28c
je 0x18002ce44
sub eax, 0x25
je 0x18002ce36
sub eax, 0x91
je 0x18002ce2a
cmp eax, 0xf
mov eax, 0xff0c
jne 0x18002ce97
movzx ebp, word [r10]
shl bp, 8
jmp 0x18002ce97
mov dword [0x1800954e0], 0x535251
jmp 0x18002ce92
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18002cd46
movzx edi, word [rcx + 0x20]
jmp 0x18002ce92
and si, ax
jmp 0x18002ce97
cmp ebx, 0x4db
je 0x18002ce7d
cmp ebx, 0x5a0
je 0x18002ce6d
cmp ebx, 0x665
jne 0x18002ce97
mov word [rcx + 0x20], di
jmp 0x18002ce97
movzx eax, bp
mov word [rcx + 0x1c], si
or ax, r8w
or di, ax
jmp 0x18002ce92
movzx eax, word [r13]
shl ax, 4
or ax, word [r12]
or si, ax
and di, r11w
mov eax, 0xff0c
add ebx, 0xc5
cmp ebx, r15d
jb 0x18002cc80
mov edi, dword [rsp + 0x88]
xor r8d, r8d
lea edx, [rdi + 0xbba]
mov dword [rsp + 0x30], edx
cmp edi, edx
jae 0x18002cfdf
mov r15, qword [rsp + 0x38]
mov eax, 0x54
mov rsi, qword [rsp + 0x38]
movabs r9, 0xaaaaaaaaaaaaaaab
mov rbx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x88]
lea r11d, [rax - 0x25]
mov r12d, dword [rsp + 0x88]
mov rbp, qword [0x180095518]
cmp edi, 0x5bc
ja 0x18002d120
je 0x18002d0f4
cmp edi, 0x2a6
ja 0x18002d036
je 0x18002d016
cmp edi, 0x2e
je 0x18002d00d
cmp edi, 0xcc
je 0x18002d001
cmp edi, 0x16a
je 0x18002cf73
cmp edi, 0x208
jne 0x18002cfae
lea rcx, [0x1800954d0]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x18002cf53
movzx eax, word [0x180085838]
mov word [rcx], ax
movzx eax, byte [0x18008583a]
mov byte [rcx + 2], al
jmp 0x18002cfa1
mov r8d, 5
lea rdx, str.XYZa
lea rcx, [0x1800954e7]
call fcn.1800672d0
mov dword [0x1800954eb], 0x646362
mov rbp, qword [0x180095518]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
mov eax, 0x54
mov r10, qword [rsp + 0x98]
add edi, 0x9e
mov dword [rsp + 0x88], edi
mov r8d, 0
movabs r9, 0xaaaaaaaaaaaaaaab
lea r11d, [r8 + 0x2f]
cmp edi, edx
jb 0x18002cf00
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x90]
add rsp, 0x58
pop r15
pop r12
pop rdi
pop rbx
ret
mov dword [0x1800954e4], 0x575655
jmp 0x18002cfae
mov word [0x1800954e3], ax
jmp 0x18002cfae
movzx eax, word [0x18008581c]
mov word [0x1800954f0], ax
movzx eax, byte [0x18008581e]
mov byte [0x1800954f2], al
jmp 0x18002cfa9
cmp edi, 0x344
je 0x18002d0d6
cmp edi, 0x3e2
je 0x18002d0a6
cmp edi, 0x480
je 0x18002d07c
cmp edi, 0x51e
jne 0x18002cfae
mov r8d, 1
lea rdx, [0x18008583c]
lea rcx, [0x1800954d0]
call fcn.180067120
jmp 0x18002cf96
mov r8d, 1
lea rdx, [0x1800836ec]
lea rcx, [0x1800954d0]
call fcn.180067120
mov eax, 0x76
mov word [0x1800954ff], ax
jmp 0x18002cf96
movzx eax, word [0x18008582c]
movsd xmm0, qword [str.klmnopqr]
mov word [0x1800954fc], ax
movzx eax, byte [0x18008582e]
mov byte [0x1800954fe], al
movsd qword [0x1800954f4], xmm0
jmp 0x18002cfa9
mov r8d, 2
lea rdx, [0x180085818]
lea rcx, [0x1800954d0]
call fcn.180067120
jmp 0x18002cf96
mov eax, 0x78
mov word [0x180095501], ax
movzx eax, word [0x180085840]
mov word [0x180095502], ax
movzx eax, byte [0x180085842]
mov byte [0x180095504], al
jmp 0x18002cfa9
cmp edi, 0x8d2
ja 0x18002d1e5
je 0x18002d1ba
cmp edi, 0x65a
je 0x18002d1a7
cmp edi, 0x6f8
je 0x18002d18b
cmp edi, 0x796
je 0x18002d163
cmp edi, 0x834
jne 0x18002cfae
mov word [0x18009550f], r11w
jmp 0x18002cfae
mov r8d, 0xa
lea rdx, [0x18009550b]
mov ecx, 0x315
call fcn.1800679c4
mov eax, 0x2b
mov word [0x18009550e], ax
jmp 0x18002cf96
mov r8d, 0xa
lea rdx, [0x180095505]
mov ecx, 0x1e240
call fcn.180067a24
jmp 0x18002cf96
mov r8d, 0x30
mov word [0x180095504], r8w
jmp 0x18002cfae
mov rcx, qword [rcx + 0x10]
lea rbp, [0x1800954d0]
add rcx, 2
mov qword [0x180095518], rbp
mov rax, r9
mul rcx
mov r13, rdx
shr r13, 1
shl r13, 2
jmp 0x18002cf9d
cmp edi, 0x970
je 0x18002d3c4
cmp edi, 0xa0e
je 0x18002d3ae
cmp edi, 0xaac
je 0x18002d2ff
cmp edi, 0xb4a
jne 0x18002cfae
cmp r15, qword [rcx + 0x10]
jae 0x18002cfae
mov edi, dword [rsp + 0x34]
mov edx, 0x107
nop dword [rax + rax]
cmp edx, 0x107
je 0x18002d2bd
cmp edx, 0x3049
je 0x18002d2b8
cmp edx, 0x5f8b
je 0x18002d28d
cmp edx, 0x8ecd
jne 0x18002d2d5
lea rax, [r15 + 1]
cmp rax, qword [rcx + 0x10]
jae 0x18002d280
mov eax, edi
mov ecx, r14d
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + rbp]
mov byte [rsi], al
mov byte [rsi + 1], 0x3d
add rsi, 2
jmp 0x18002d2d5
mov al, 0x3d
mov byte [rsi], al
mov byte [rsi + 1], al
add rsi, 2
jmp 0x18002d2d5
mov ecx, r12d
mov eax, r12d
shr rax, 2
and ecx, 3
shl ecx, 4
movzx eax, byte [rax + rbp]
mov byte [rsi], al
mov eax, r14d
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + rbp]
mov byte [rsi + 1], cl
add rsi, 2
jmp 0x18002d2d5
mov edi, r8d
jmp 0x18002d2d5
movzx r12d, byte [rbx]
lea rax, [r15 + 1]
cmp rax, qword [rcx + 0x10]
jae 0x18002d2d2
movzx r14d, byte [rbx + 1]
jmp 0x18002d2d5
mov r14d, r8d
mov rcx, qword [rsp + 0x80]
add edx, 0x2f42
cmp edx, 0xbd08
jbe 0x18002d230
mov dword [rsp + 0x34], edi
mov edi, dword [rsp + 0x88]
jmp 0x18002cf9d
mov rax, r9
mov r15, r8
mul qword [rcx + 0x10]
shr rdx, 1
lea rcx, [rdx + rdx*2]
test rcx, rcx
je 0x18002cf9d
dec rcx
mov rax, r9
mul rcx
mov r8, rdx
shr r8, 1
inc r8
lea r15, [r8 + r8*2]
nop
mov eax, 0x47
cmp eax, 0x47
je 0x18002d371
cmp eax, 0x4d
je 0x18002d34a
cmp eax, 0x53
jne 0x18002d39b
add rbx, 3
jmp 0x18002d39b
movzx ecx, byte [rbx + 2]
movzx edx, byte [rbx + 1]
shr ecx, 6
and edx, 0xf
lea ecx, [rcx + rdx*4]
movzx ecx, byte [rcx + rbp]
mov byte [rsi], cl
movzx ecx, byte [rbx + 2]
and ecx, 0x3f
movzx ecx, byte [rcx + rbp]
mov byte [rsi + 1], cl
jmp 0x18002d397
movzx ecx, byte [rbx]
shr rcx, 2
movzx ecx, byte [rcx + rbp]
mov byte [rsi], cl
movzx edx, byte [rbx]
movzx ecx, byte [rbx + 1]
and edx, 3
shl edx, 4
shr ecx, 4
add edx, ecx
movzx edx, byte [rdx + rbp]
mov byte [rsi + 1], dl
add rsi, 2
add eax, 6
cmp eax, 0x59
jb 0x18002d335
sub r8, 1
jne 0x18002d330
jmp 0x18002cf9d
cmp qword [r10 + 0x18], 0x10
mov rsi, r10
jb 0x18002cfae
mov rsi, qword [r10]
jmp 0x18002cfae
mov rcx, qword [r10 + 0x10]
cmp r13, rcx
ja 0x18002d3e5
mov qword [r10 + 0x10], r13
mov rax, r10
cmp qword [r10 + 0x18], 0x10
jb 0x18002d3de
mov rax, qword [r10]
mov byte [rax + r13], 0
jmp 0x18002d449
mov rdx, qword [r10 + 0x18]
mov rdi, r13
mov rax, rdx
sub rdi, rcx
sub rax, rcx
cmp rdi, rax
ja 0x18002d421
mov qword [r10 + 0x10], r13
mov rax, r10
cmp rdx, 0x10
jb 0x18002d40a
mov rax, qword [r10]
lea rbx, [rax + rcx]
mov r8, rdi
mov rcx, rbx
xor edx, edx
call fcn.180063be0
mov byte [rbx + rdi], 0
jmp 0x18002d43e
mov r9, rdi
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rdi
mov rcx, r10
call fcn.180002040
mov rbp, qword [0x180095518]
mov edx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov rbx, rcx
cmp qword [rcx + 0x18], 0x10
jb 0x18002cfa9
mov rbx, qword [rcx]
jmp 0x18002cfa9