Function at 0x18002c400
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
xor edi, edi
mov word [rbp - 0x29], 0x15ff
xor r13b, r13b
mov dword [rbp - 0x27], 2
xor r10b, r10b
mov word [rbp - 0x23], 0x8eb
mov byte [rbp + 0x67], r10b
mov r14, rcx
mov qword [rbp - 0x21], rdi
mov r15d, edi
mov word [rbp - 0x49], 0x25ff
mov r12d, edi
mov dword [rbp - 0x47], edi
mov qword [rbp - 0x43], rdi
mov qword [rbp - 0x39], 0x25ff0e70
mov qword [rbp - 0x31], rdi
mov qword [rcx + 0x20], rdi
mov qword [rsp + 0xe0], rsi
nop dword [rax]
mov rax, qword [r14 + 0x10]
lea rdx, [rbp - 9]
movzx ecx, r10b
add rax, rcx
movzx ebx, r13b
add rbx, qword [r14]
mov rcx, rbx
mov qword [rbp + 0x6f], rax
call fcn.18002b3c0
mov r9d, dword [rbp + 0x18]
mov r8d, eax
bt r9d, 0xc
jb 0x18002c8ad
mov rsi, rbx
cmp r13b, 5
jb 0x18002c4c4
mov r8d, 0xe
mov qword [rbp - 0x43], rbx
lea rsi, [rbp - 0x49]
lea r12d, [r8 - 0xd]
jmp 0x18002c63b
movzx eax, byte [rbp + 4]
and al, 0xc7
cmp al, 5
jne 0x18002c517
movzx eax, byte [rbp - 9]
lea rdi, [rbp - 0x19]
mov rcx, r8
mov edx, ebx
sub edx, dword [rbp + 0x6f]
add edx, dword [rbp + 0x14]
rep movsb byte [rdi], byte [rsi]
mov ecx, r9d
lea rsi, [rbp - 0x19]
shr rcx, 2
and ecx, 0xf
sub rax, rcx
mov dword [rbp + rax - 0x1d], edx
cmp byte [rbp + 2], 0xff
jne 0x18002c63b
cmp byte [rbp + 6], 4
jne 0x18002c63b
mov r12d, 1
jmp 0x18002c63b
movzx edx, byte [rbp + 2]
cmp dl, 0xe8
jne 0x18002c53b
movsxd rax, dword [rbp + 0xc]
lea rsi, [rbp - 0x29]
movzx ecx, byte [rbp - 9]
add rax, rbx
add rcx, rax
mov qword [rbp - 0x21], rcx
jmp 0x18002c635
movzx eax, dl
and al, 0xfd
cmp al, 0xe9
jne 0x18002c599
movzx ecx, byte [rbp - 9]
movsx rax, byte [rbp + 0xc]
add rcx, rbx
cmp dl, 0xeb
je 0x18002c559
movsxd rax, dword [rbp + 0xc]
add rcx, rax
mov rax, qword [r14]
cmp rax, rcx
ja 0x18002c57c
add rax, 5
cmp rcx, rax
jae 0x18002c57c
cmp r15, rcx
cmovae rcx, r15
mov r15, rcx
jmp 0x18002c63b
cmp rbx, r15
mov qword [rbp - 0x43], rcx
mov r12d, edi
lea rsi, [rbp - 0x49]
setae r12b
mov r8d, 0xe
jmp 0x18002c63b
movzx r9d, byte [rbp + 3]
movzx ecx, dl
and cl, 0xf0
cmp cl, 0x70
je 0x18002c5d0
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
je 0x18002c5d0
movzx eax, r9b
and al, 0xf0
cmp al, 0x80
je 0x18002c5d0
and dl, 0xfe
cmp dl, 0xc2
jne 0x18002c63b
cmp rbx, r15
mov r12d, edi
setae r12b
jmp 0x18002c63b
movzx edi, byte [rbp - 9]
add rdi, rbx
cmp cl, 0x70
je 0x18002c5e9
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
movsxd rax, dword [rbp + 0xc]
jne 0x18002c5ee
movsx rax, byte [rbp + 0xc]
add rdi, rax
mov rax, qword [r14]
cmp rax, rdi
ja 0x18002c60e
add rax, 5
cmp rdi, rax
jae 0x18002c60e
cmp r15, rdi
cmovae rdi, r15
mov r15, rdi
jmp 0x18002c63b
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
je 0x18002c8ad
cmp dl, 0xf
mov qword [rbp - 0x31], rdi
mov ecx, r9d
lea rsi, [rbp - 0x39]
cmovne ecx, edx
and cl, 0xf
xor cl, 0x71
mov byte [rbp - 0x39], cl
mov r8d, 0x10
cmp rbx, r15
jae 0x18002c64d
movzx eax, byte [rbp - 9]
cmp r8d, eax
jne 0x18002c8ad
movzx r10d, byte [rbp + 0x67]
lea eax, [r8 + r10]
cmp eax, 0x32
ja 0x18002c8ad
mov eax, dword [r14 + 0x24]
cmp eax, 8
jae 0x18002c8ad
mov byte [rax + r14 + 0x28], r13b
mov edi, r10d
mov eax, dword [r14 + 0x24]
mov ecx, r8d
mov byte [rax + r14 + 0x30], r10b
add r10b, r8b
add rdi, qword [r14 + 0x10]
inc dword [r14 + 0x24]
rep movsb byte [rdi], byte [rsi]
add r13b, byte [rbp - 9]
mov edi, 0
mov byte [rbp + 0x67], r10b
test r12d, r12d
je 0x18002c470
cmp r13b, 5
jae 0x18002c7a1
mov r9, qword [r14]
movzx edi, r13b
add rdi, r9
movzx edx, byte [rdi]
test dl, dl
je 0x18002c6ce
cmp dl, 0x90
je 0x18002c6ce
cmp dl, 0xcc
je 0x18002c6ce
movzx eax, r13b
jmp 0x18002c6fc
movzx r8d, r13b
mov esi, 5
sub esi, r8d
mov ecx, 1
cmp esi, ecx
jbe 0x18002c7a1
mov eax, ecx
cmp byte [rax + rdi], dl
jne 0x18002c6f9
inc ecx
cmp ecx, esi
jb 0x18002c6e7
jmp 0x18002c7a1
mov eax, r8d
cmp r13b, 2
jae 0x18002c735
test dl, dl
je 0x18002c714
cmp dl, 0x90
je 0x18002c714
cmp dl, 0xcc
jne 0x18002c8ad
mov esi, 2
mov ecx, 1
sub esi, eax
cmp esi, ecx
jbe 0x18002c735
mov eax, ecx
cmp byte [rax + rdi], dl
jne 0x18002c8ad
inc ecx
cmp ecx, esi
jb 0x18002c724
lea rcx, [r9 - 5]
mov r8d, 0x30
lea rdx, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp dword [rbp + 0x17], 0x1000
jne 0x18002c8ad
test byte [rbp + 0x1b], 0xf0
je 0x18002c8ad
mov rax, qword [r14]
movzx edx, byte [rax - 5]
test dl, dl
je 0x18002c779
cmp dl, 0x90
je 0x18002c779
cmp dl, 0xcc
jne 0x18002c8ad
mov ecx, 1
add rax, 0xfffffffffffffffc
cmp byte [rax], dl
jne 0x18002c8ad
inc ecx
inc rax
cmp ecx, 5
jb 0x18002c782
movzx r10d, byte [rbp + 0x67]
mov dword [r14 + 0x20], 1
mov rax, qword [r14 + 8]
lea rsi, [rbp - 0x49]
mov qword [rbp - 0x43], rax
lea r8, [rbp - 0x48]
movzx edx, r10b
lea rax, [rbp - 0x3f]
add rdx, qword [r14 + 0x10]
lea r9, [rbp - 0x47]
sub rax, rdx
mov qword [r14 + 0x18], rdx
mov qword [rbp + 0x67], rax
lea r10, [rbp - 0x46]
lea rax, [rbp - 0x3e]
sub rsi, rdx
sub rax, rdx
lea r11, [rbp - 0x45]
lea rbx, [rbp - 0x44]
mov qword [rbp + 0x6f], rax
lea r14, [rbp - 0x43]
sub r8, rdx
lea r15, [rbp - 0x42]
sub r9, rdx
lea r12, [rbp - 0x41]
sub r10, rdx
lea r13, [rbp - 0x40]
sub r11, rdx
sub rbx, rdx
lea rcx, [rdx + 2]
sub r14, rdx
sub r15, rdx
sub r12, rdx
sub r13, rdx
xor edi, edi
nop word [rax + rax]
movzx eax, byte [rsi + rcx - 2]
add edi, 0xe
movzx edx, byte [r12 + rcx]
mov byte [rcx - 2], al
movzx eax, byte [r8 + rcx - 2]
mov byte [rcx - 1], al
movzx eax, byte [rsi + rcx]
mov byte [rcx], al
movzx eax, byte [r8 + rcx]
mov byte [rcx + 1], al
movzx eax, byte [r9 + rcx]
mov byte [rcx + 2], al
movzx eax, byte [r10 + rcx]
mov byte [rcx + 3], al
movzx eax, byte [r11 + rcx]
mov byte [rcx + 4], al
movzx eax, byte [rbx + rcx]
mov byte [rcx + 5], al
movzx eax, byte [r14 + rcx]
mov byte [rcx + 6], al
movzx eax, byte [r15 + rcx]
mov byte [rcx + 8], dl
movzx edx, byte [rcx + r13]
mov byte [rcx + 7], al
mov rax, qword [rbp + 0x67]
mov byte [rcx + 9], dl
lea rcx, [rcx + 0xe]
movzx edx, byte [rax + rcx - 0xe]
mov rax, qword [rbp + 0x6f]
mov byte [rcx - 4], dl
movzx edx, byte [rax + rcx - 0xe]
mov byte [rcx - 3], dl
cmp edi, 0xe
jb 0x18002c820
mov eax, 1
jmp 0x18002c8af
xor eax, eax
mov rsi, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret