Function at 0x18005f8b0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push r12
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov eax, dword [rbp + 0x60]
mov r11, r9
mov r12, rcx
lea r8d, [rax + 0x299]
mov dword [rbp - 0x58], r8d
cmp eax, r8d
jae 0x18006036e
mov qword [rsp + 0x120], rbx
lea r9, [0x1800ee788]
mov ebx, dword [rsp + 0x68]
mov qword [rsp + 0x118], rsi
mov esi, dword [rsp + 0x6c]
mov qword [rsp + 0x110], rdi
mov edi, dword [rsp + 0x64]
mov qword [rsp + 0x108], r13
xor r13d, r13d
mov qword [rsp + 0x100], r14
mov r14d, dword [rsp + 0x40]
mov qword [rsp + 0xf8], r15
mov r15d, dword [rsp + 0x34]
sub eax, 0x59
je 0x180060327
sub eax, 0x78
je 0x1800602db
sub eax, 0xd
je 0x1800602d1
sub eax, 0x78
je 0x18005f994
cmp eax, 0xd
jne 0x18006032a
mov rax, qword [0x1801143e8]
mov qword [r11 + 8], rax
mov qword [r11 + 0x10], r13
mov rax, qword [0x1801143e8]
test rax, rax
je 0x18005f988
mov qword [rax + 0x10], r11
mov qword [0x1801143e8], r11
jmp 0x18006032a
mov ecx, dword [rdx]
mov eax, r13d
mov dword [rbp - 0x6c], eax
nop dword [rax]
test eax, eax
je 0x18005f9aa
mov r10, qword [r11 + 0x10]
jmp 0x18005f9ae
mov r10, qword [r11 + 8]
mov rdx, qword [rbp + 0x50]
mov r9d, r13d
mov qword [rbp - 0x68], r10
mov eax, ecx
mov dword [rsp + 0x5c], r13d
test ecx, ecx
jle 0x18005fe2b
mov edi, dword [rsp + 0x38]
nop dword [rax]
mov r8d, 8
mov dword [rsp + 0x58], r8d
cmp dword [rdx], r8d
jle 0x18005fe0b
mov ebx, 0xb0
nop dword [rax]
mov eax, ebx
sub eax, 0xb0
je 0x18005fd9b
sub eax, 0x53
je 0x18005fd56
sub eax, 0x53
je 0x18005fd3e
sub eax, 0x53
je 0x18005fd1f
cmp eax, 0x53
jne 0x18005fde6
cmp byte [rsp + 0x30], 0
je 0x18005fde6
mov ecx, dword [r11 + 0x48]
mov eax, 8
sar eax, cl
mov dword [rsp + 0x38], r13d
test eax, eax
jle 0x18005fde6
mov r12d, dword [rbp - 0x60]
imul r12d, dword [rsp + 0x54]
add r12d, dword [rbp - 0x5c]
mov r13d, 0x88
nop dword [rax + rax]
cmp r13d, 0x88
je 0x18005fcaf
cmp r13d, 0x141
je 0x18005fca1
cmp r13d, 0x1fa
je 0x18005fb6d
cmp r13d, 0x2b3
jne 0x18005fcc6
mov rax, qword [rbp + 0x70]
mov ecx, 0xd0
mov r8d, dword [rax]
mov eax, dword [rsp + 0x50]
sub eax, r15d
mov dword [rsp + 0x40], r8d
mov dword [rbp - 0x50], eax
nop
mov eax, ecx
sub eax, 0xca
je 0x18005faf8
sub eax, 3
je 0x18005fb31
cmp eax, 3
jne 0x18005fb09
mov esi, dword [rbp - 0x50]
mov ecx, r8d
test esi, esi
mov edx, esi
mov r9d, 0
mov r8d, 1
cmovs edx, r9d
shl r8d, cl
lea eax, [r8 - 1]
cmp eax, edx
jge 0x18005fb1f
movsxd rax, r12d
lea esi, [r8 - 1]
mov byte [rax + r10], sil
jmp 0x18005fcc6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x30], rax
movups xmmword [rbp - 0x40], xmm0
dec ecx
cmp ecx, 0xcd
ja 0x18005fab0
movsxd rax, r12d
mov byte [rax + r10], sil
jmp 0x18005fcc6
test esi, esi
movsxd rax, r12d
cmovs esi, r9d
mov byte [rax + r10], sil
jmp 0x18005fcc6
mov r8, qword [pe_dos_header]
lea rdx, [rsp + 0x40]
xor eax, eax
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov rax, qword [0x180112060]
mov qword [rsp + 0x20], r8
call qword [rax + 0x10]
mov r10, qword [rbp - 0x68]
mov esi, eax
movsxd rax, r12d
mov byte [rax + r10], sil
jmp 0x18005fcc6
movzx r9d, byte [rsp + 0x31]
mov eax, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x60]
sub eax, r11d
movsxd r15, r12d
add r15, r10
mov dword [rsp + 0x34], r9d
lea ecx, [rax*4 + 4]
movzx edx, byte [r15 + 1]
sub ecx, edx
mov dword [rbp - 0x7c], edx
add ecx, dword [rsp + 0x70]
mov edx, r9d
sar ecx, 3
neg edx
cmp ecx, edx
mov eax, ecx
cmovle eax, edx
cmp r9d, eax
jl 0x18005fbc1
cmp ecx, edx
mov r9d, ecx
cmovle r9d, edx
mov dword [rsp + 0x34], r9d
mov rax, qword [rbp + 0x70]
mov ecx, 0xd0
mov r8d, dword [rax]
lea eax, [r11 + r9]
mov dword [rbp - 0x40], eax
mov dword [rsp + 0x40], r8d
nop dword [rax]
mov eax, ecx
sub eax, 0xca
je 0x18005fc2d
sub eax, 3
je 0x18005fc65
cmp eax, 3
jne 0x18005fc3e
mov r14d, dword [rbp - 0x40]
mov ecx, r8d
test r14d, r14d
mov edx, r14d
mov r9d, 0
mov r8d, 1
cmovs edx, r9d
shl r8d, cl
lea eax, [r8 - 1]
cmp eax, edx
jge 0x18005fc53
lea r14d, [r8 - 1]
mov byte [r15 - 1], r14b
mov r15d, dword [rsp + 0x34]
jmp 0x18005fcc6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x20], rax
movups xmmword [rbp - 0x30], xmm0
dec ecx
cmp ecx, 0xcd
ja 0x18005fbe0
mov byte [r15 - 1], r14b
mov r15d, dword [rsp + 0x34]
jmp 0x18005fcc6
test r14d, r14d
cmovs r14d, r9d
mov byte [r15 - 1], r14b
mov r15d, dword [rsp + 0x34]
jmp 0x18005fcc6
mov r8, qword [pe_dos_header]
lea rdx, [rsp + 0x40]
xor eax, eax
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov rax, qword [0x180112060]
mov qword [rsp + 0x20], r8
call qword [rax + 0x10]
mov r10, qword [rbp - 0x68]
mov r14d, eax
mov byte [r15 - 1], r14b
mov r15d, dword [rsp + 0x34]
jmp 0x18005fcc6
movsxd rax, r12d
movzx eax, byte [rax + r10]
mov dword [rsp + 0x50], eax
jmp 0x18005fcc6
movsxd rax, r12d
movzx ecx, byte [rax + r10 - 2]
movzx eax, byte [rax + r10 - 1]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x70], ecx
add r13d, 0xb9
cmp r13d, 0x36c
jb 0x18005fa60
mov edx, dword [rsp + 0x38]
mov eax, 8
mov r11, qword [rbp + 0x58]
inc edx
add r12d, dword [rsp + 0x54]
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x6c], esi
mov ecx, dword [r11 + 0x48]
sar eax, cl
mov dword [rsp + 0x38], edx
cmp edx, eax
jl 0x18005fa52
mov r8d, dword [rsp + 0x58]
xor r13d, r13d
mov r9d, dword [rsp + 0x5c]
mov r12, qword [rbp + 0x40]
jmp 0x18005fde2
cmp dword [rbp - 0x80], 0
jne 0x18005fd33
test edi, edi
je 0x18005fd33
mov byte [rsp + 0x30], 1
jmp 0x18005fde6
xor al, al
mov byte [rsp + 0x30], al
jmp 0x18005fde6
mov eax, r8d
cdq
idiv dword [rsp + 0x74]
mov eax, r13d
test edx, edx
setg al
mov dword [rbp - 0x80], eax
jmp 0x18005fde2
movsxd rax, dword [rbp - 0x74]
imul rcx, rax, 0x16c
movsxd rax, dword [rsp + 0x48]
mov edx, dword [rcx + r12]
imul rcx, rax, 0x16c
mov dword [rbp - 0x70], edx
mov eax, dword [rcx + r12]
movzx ecx, byte [rcx + r12 + 0x10]
mov dword [rsp + 0x74], ecx
mov dword [rbp - 0x78], eax
cmp edx, 1
je 0x18005fd94
cmp eax, 1
je 0x18005fd94
mov edi, r13d
jmp 0x18005fde2
mov edi, 1
jmp 0x18005fde2
mov ecx, dword [r11 + 0x48]
mov eax, r9d
sar eax, cl
mov dword [rbp - 0x60], eax
mov eax, r8d
sar eax, cl
mov dword [rbp - 0x5c], eax
mov eax, dword [rdx]
cdq
and edx, 3
lea ecx, [rdx + rax]
mov eax, r9d
cdq
sar ecx, 2
and edx, 3
add eax, edx
sar eax, 2
imul ecx, eax
mov eax, r8d
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov dword [rsp + 0x48], ecx
lea eax, [rcx - 1]
mov dword [rbp - 0x74], eax
mov rdx, qword [rbp + 0x50]
add ebx, 0x53
cmp ebx, 0x24f
jb 0x18005f9f0
add r8d, 8
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x58], r8d
cmp r8d, dword [rdx]
jl 0x18005f9e4
mov rax, qword [rbp + 0x48]
add r9d, 8
mov dword [rsp + 0x5c], r9d
mov eax, dword [rax]
cmp r9d, eax
jl 0x18005f9d0
mov ebx, dword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
mov r8d, 8
mov ecx, eax
mov dword [rsp + 0x58], r8d
cmp eax, r8d
jle 0x1800602ab
mov eax, dword [rdx]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x48]
nop dword [rax]
mov dword [rsp + 0x5c], r13d
mov r9d, r13d
test eax, eax
jle 0x180060281
mov r13d, 0xdb
nop word [rax + rax]
cmp r13d, 0xdb
je 0x1800601ee
cmp r13d, 0x94da
je 0x1800601d1
cmp r13d, 0x128d9
je 0x1800601b3
cmp r13d, 0x1bcd8
jne 0x180060249
xor ecx, ecx
mov eax, r8d
cdq
idiv dword [rsp + 0x74]
mov eax, ecx
test edx, edx
setg al
mov dword [rbp - 0x80], eax
test edx, edx
jg 0x1800601a8
test r14d, r14d
je 0x1800601a8
mov r15d, ecx
mov byte [rsp + 0x30], 1
mov ecx, dword [r11 + 0x48]
mov eax, 8
sar eax, cl
test eax, eax
jle 0x180060245
mov r12d, 0x36
nop word [rax + rax]
mov eax, r12d
sub eax, 0x33
je 0x1800600a0
sub eax, 1
je 0x18005ffa6
sub eax, 1
je 0x18005ff7f
cmp eax, 1
jne 0x180060169
mov edx, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x7c]
lea eax, [rdx - 2]
imul eax, ecx
add eax, r15d
add eax, r8d
cdqe
movzx eax, byte [rax + r10]
mov dword [rsp + 0x70], eax
lea eax, [rdx - 1]
imul eax, ecx
add eax, r15d
add eax, r8d
cdqe
movzx eax, byte [rax + r10]
mov dword [rsp + 0x60], eax
mov eax, edx
imul eax, ecx
add eax, r15d
add eax, r8d
cdqe
movzx eax, byte [rax + r10]
mov dword [rsp + 0x50], eax
lea eax, [rdx + 1]
imul eax, ecx
add eax, r15d
add eax, r8d
cdqe
movzx eax, byte [rax + r10]
mov dword [rbp - 0x7c], eax
jmp 0x180060169
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x60]
lea r9d, [rax*4 + 4]
sub r9d, dword [rbp - 0x7c]
add r9d, dword [rsp + 0x70]
sar r9d, 3
mov dword [rsp + 0x34], r9d
jmp 0x180060169
movzx edx, byte [rsp + 0x31]
mov r9d, dword [rsp + 0x34]
mov ecx, edx
neg ecx
mov eax, r9d
cmp r9d, ecx
cmovle eax, ecx
cmp edx, eax
jge 0x18005ffc6
mov r9d, edx
jmp 0x18005ffcd
cmp r9d, ecx
cmovle r9d, ecx
mov rax, qword [rbp + 0x70]
mov ecx, 0xd0
mov dword [rsp + 0x34], r9d
mov r8d, dword [rax]
mov eax, dword [rsp + 0x60]
add eax, r9d
mov dword [rsp + 0x48], r8d
mov dword [rbp - 0x30], eax
nop dword [rax]
mov eax, ecx
sub eax, 0xca
je 0x18006002e
sub eax, 3
je 0x180060053
cmp eax, 3
jne 0x18006003f
mov edi, dword [rbp - 0x30]
mov ecx, r8d
test edi, edi
mov edx, edi
mov r9d, 0
mov r8d, 1
cmovs edx, r9d
shl r8d, cl
lea eax, [r8 - 1]
cmp eax, edx
jge 0x18006004b
lea edi, [r8 - 1]
jmp 0x180060083
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x20], xmm0
dec ecx
cmp ecx, 0xcd
ja 0x18005fff0
jmp 0x180060083
test edi, edi
cmovs edi, r9d
jmp 0x180060083
mov r8, qword [pe_dos_header]
lea rdx, [rsp + 0x48]
xor eax, eax
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov rax, qword [0x180112060]
mov qword [rsp + 0x20], r8
call qword [rax + 0x10]
mov r10, qword [rbp - 0x68]
mov edi, eax
mov eax, dword [rsp + 0x78]
dec eax
imul eax, dword [rsp + 0x54]
add eax, r15d
add eax, dword [rsp + 0x7c]
cdqe
mov byte [rax + r10], dil
jmp 0x180060169
mov rax, qword [rbp + 0x70]
mov ecx, 0xd0
mov r8d, dword [rax]
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x34]
mov dword [rbp - 0x20], eax
mov dword [rsp + 0x48], r8d
nop dword [rax]
mov eax, ecx
sub eax, 0xca
je 0x1800600fe
sub eax, 3
je 0x180060123
cmp eax, 3
jne 0x18006010f
mov ebx, dword [rbp - 0x20]
mov ecx, r8d
test ebx, ebx
mov edx, ebx
mov r9d, 0
mov r8d, 1
cmovs edx, r9d
shl r8d, cl
lea eax, [r8 - 1]
cmp eax, edx
jge 0x18006011b
lea ebx, [r8 - 1]
jmp 0x180060153
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp], rax
movups xmmword [rbp - 0x10], xmm0
dec ecx
cmp ecx, 0xcd
ja 0x1800600c0
jmp 0x180060153
test ebx, ebx
cmovs ebx, r9d
jmp 0x180060153
mov r8, qword [pe_dos_header]
lea rdx, [rsp + 0x48]
xor eax, eax
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov rax, qword [0x180112060]
mov qword [rsp + 0x20], r8
call qword [rax + 0x10]
mov r10, qword [rbp - 0x68]
mov ebx, eax
mov eax, dword [rsp + 0x78]
imul eax, dword [rsp + 0x54]
add eax, r15d
add eax, dword [rsp + 0x7c]
cdqe
mov byte [rax + r10], bl
dec r12d
cmp r12d, 0x32
ja 0x18005fef0
mov r11, qword [rbp + 0x58]
mov eax, 8
inc r15d
mov dword [rsp + 0x64], edi
mov dword [rsp + 0x68], ebx
mov ecx, dword [r11 + 0x48]
sar eax, cl
cmp r15d, eax
jl 0x18005fee4
mov r8d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x5c]
jmp 0x180060245
xor al, al
mov byte [rsp + 0x30], al
jmp 0x180060245
cmp dword [rbp - 0x70], 1
je 0x1800601c9
cmp dword [rbp - 0x78], 1
je 0x1800601c9
xor eax, eax
mov r14d, eax
jmp 0x180060249
mov r14d, 1
jmp 0x180060249
movsxd rax, esi
imul rcx, rax, 0x16c
mov eax, dword [rcx + r12]
mov dword [rbp - 0x78], eax
movzx eax, byte [rcx + r12 + 0x10]
mov dword [rsp + 0x74], eax
jmp 0x180060249
mov ecx, dword [r11 + 0x48]
mov eax, r8d
sar eax, cl
mov dword [rsp + 0x78], eax
mov eax, r9d
sar eax, cl
mov dword [rsp + 0x7c], eax
mov eax, dword [rdx]
cdq
and edx, 3
lea ecx, [rdx + rax]
mov eax, r8d
cdq
sar ecx, 2
and edx, 3
lea esi, [rdx + rax]
mov eax, r9d
cdq
sar esi, 2
and edx, 3
imul esi, ecx
add eax, edx
sar eax, 2
add esi, eax
mov eax, esi
sub eax, ecx
mov dword [rbp - 0x74], eax
cdqe
imul rcx, rax, 0x16c
mov eax, dword [rcx + r12]
mov dword [rbp - 0x70], eax
mov rdx, qword [rbp + 0x50]
mov r12, qword [rbp + 0x40]
add r13d, 0x93ff
cmp r13d, 0x24ffc
jbe 0x18005fe70
mov eax, dword [rdx]
add r9d, 8
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x5c], r9d
cmp r9d, eax
jl 0x18005fe60
xor r13d, r13d
mov rcx, qword [rbp + 0x48]
add r8d, 8
mov r12, qword [rbp + 0x40]
mov dword [rsp + 0x58], r8d
mov ecx, dword [rcx]
cmp r8d, ecx
jl 0x18005fe50
mov esi, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x34]
mov eax, dword [rbp - 0x6c]
mov r12, qword [rbp + 0x40]
inc eax
mov dword [rbp - 0x6c], eax
cmp eax, 2
jl 0x18005f9a0
mov rdx, qword [rbp + 0x48]
lea r9, [0x1800ee788]
mov r8d, dword [rbp - 0x58]
jmp 0x18006032a
mov eax, dword [r12]
mov dword [r11 + 0x18], eax
jmp 0x18006032a
mov eax, dword [r11 + 0x24]
mov dword [rsp + 0x54], eax
mov rax, qword [rbp + 0x70]
mov edx, dword [rax]
mov rax, qword [rbp + 0x68]
cmp edx, 0xc
jle 0x180060309
movzx eax, byte [rax]
lea ecx, [rdx - 0xc]
movzx edx, byte [rax + r9]
shl dl, cl
mov byte [rsp + 0x31], dl
mov rdx, qword [rbp + 0x48]
jmp 0x18006032a
movzx ecx, byte [rax]
mov eax, 0xc
sub al, dl
movzx edx, byte [rcx + r9]
movzx ecx, al
shr dl, cl
mov byte [rsp + 0x31], dl
mov rdx, qword [rbp + 0x48]
jmp 0x18006032a
mov dword [r11], r13d
mov eax, dword [rbp + 0x60]
add eax, 0x85
mov dword [rbp + 0x60], eax
cmp eax, r8d
jb 0x18005f940
mov r15, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
add rsp, 0x128
pop r12
pop rbp
ret