Function at 0x180051010
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xae0]
sub rsp, 0xbe0
movzx edi, byte [rbp + 0xb38]
mov eax, r9d
mov r9, rdx
mov dword [rsp + 0x58], eax
mov r13, r8
mov esi, eax
mov r8, rcx
lea rcx, [0x180000000]
lea edx, [rax + 0x9ab]
mov dword [rsp + 0x30], edx
cmp eax, edx
jae 0x180051117
movzx edx, word [rbp + 0xb38]
mov ebx, 0x73
mov eax, dword [rsp + 0x30]
mov ecx, 0x7250
mov dword [rsp + 0x34], edx
lea r12d, [rbx - 0x23]
lea r11d, [rbx - 4]
lea r14d, [rcx + 0x19]
lea r15d, [rbx - 0x2d]
mov r10d, 0xfc7f
cmp esi, 0x23c
ja 0x1800516dd
je 0x1800516c1
cmp esi, 0x113
ja 0x1800513f0
je 0x1800513e1
lea eax, [rsi - 0x16]
cmp eax, 0xce
ja case.default.0x1800510ed
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x51ba8]
mov ecx, dword [rcx + rax*4 + 0x51b8c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov dword [r8], 0
mov ecx, 0x7250
mov eax, dword [rsp + 0x30]
add esi, 0x63
mov dword [rsp + 0x58], esi
cmp esi, eax
jb 0x180051099
mov eax, dword [rbp + 0xb38]
lea rcx, [0x180000000]
lea esi, [rax + 0x12c]
cmp eax, esi
jae case.0x1800510ed.220
mov r14, qword [rbp - 0x80]
mov edx, 0x74
mov r12, qword [rbp - 0x80]
mov r15, qword [rbp - 0x80]
lea r10d, [rdx - 4]
lea r8d, [rdx - 0x10]
lea r11d, [rdx - 0xf]
cmp eax, 0x21b
ja 0x180051b1c
je 0x180051b0a
add eax, 0xfffffeed
cmp eax, 0xfc
ja case.0x18005117c.297
movzx eax, byte [rcx + rax + 0x51cd4]
mov ecx, dword [rcx + rax*4 + 0x51c78]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x5b]
call fcn.1800174c0
movzx edi, al
mov r9, qword [rbp + 0xb28]
mov r11d, 0x6f
mov r8, qword [rbp + 0xb20]
mov edx, dword [rsp + 0x34]
jmp case.0x1800510ed.23
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x129
call fcn.180010190
test al, al
jne 0x18005118f
mov r8d, 0x11d
mov rdx, r13
xor ecx, ecx
call fcn.180034230
jmp 0x1800514ba
mov r8d, 0x18
mov dword [rbp - 0x78], 1
lea rdx, [rbp - 0x78]
mov rcx, r9
call fcn.180049d40
cmp eax, 1
jne case.0x1800510ed.220
lea rax, [rbp + 0x220]
cmp r13, rax
je 0x18005118f
mov rax, r13
lea rcx, [rbp + 0x220]
mov edx, 4
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180051220
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rax + 0x20]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov qword [rcx + 0x20], rax
jmp 0x18005118f
mov ebx, 0x119
cmp ebx, 0x1e05
ja 0x18005131f
je 0x180051315
cmp ebx, 0x91
je 0x180051311
cmp ebx, 0x119
je 0x1800512e9
cmp ebx, 0x1da3
jne 0x180051348
mov r9d, 0x127
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x8b0]
lea rcx, [rbp + 0x220]
call fcn.18005f6b0
mov edx, dword [rsp + 0x34]
mov r10d, 0xfc7f
jmp 0x180051348
lea r8, [rbp - 0x70]
mov dword [rbp - 0x70], 1
lea rdx, [rbp + 0x8b0]
mov ecx, 0x8f
call fcn.180052950
mov edx, dword [rsp + 0x34]
mov r10d, 0xfc7f
jmp 0x180051348
xor edx, edx
jmp 0x180051344
mov dx, word [0x40006c2c]
jmp 0x180051344
cmp ebx, 0x2cbf
je 0x180051340
cmp ebx, 0x3b79
jne 0x180051348
or dx, word [rbp + 0x220]
mov word [0x40006c2c], dx
jmp 0x180051344
and dx, r10w
mov dword [rsp + 0x34], edx
add ebx, 0x1c8a
cmp ebx, 0xc7c6
jbe 0x180051293
lea rcx, [rbp + 0x450]
mov edx, 4
lea rax, [rbp + 0x220]
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180051370
movups xmm0, xmmword [rax]
lea ebx, [rdx + 0x73]
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rax + 0x20]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov qword [rcx + 0x20], rax
jmp 0x18005118f
mov word [rsp + 0x60], cx
mov byte [rsp + 0x62], 0
jmp 0x1800510ff
mov eax, esi
sub eax, 0x147
je 0x18005167f
sub eax, 0x2f
je 0x180051673
sub eax, 0x34
je 0x18005165d
sub eax, 0x2f
je 0x180051651
cmp eax, 0x34
jne case.default.0x1800510ed
lea r8, [rbp - 0x10]
mov dword [rsp + 0x20], 0xf5
mov rdx, r13
lea rcx, [rbp + 0x450]
call fcn.180023fa0
mov r8d, 0x18
mov dword [rbp - 0x68], 1
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x10]
call fcn.180049d40
test eax, eax
je 0x18005118f
mov r8d, 0xc0
lea rdx, [rbp + 0x220]
lea rcx, [rbp - 0x10]
call fcn.180010c10
test eax, eax
je 0x18005118f
mov r12d, 0x122
cmp r12d, 0x122
je 0x1800514d5
cmp r12d, 0xc51c
jne 0x18005160b
mov r8d, 0xc0
lea rdx, [rbp + 0x220]
lea rcx, [rbp - 0x10]
call fcn.180010c10
test eax, eax
je 0x18005160b
movzx eax, dil
mov rbx, qword [rsp + 0xc30]
add rsp, 0xbe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15d, dword [rbp - 0x58]
mov r14d, 1
dec r15d
cmp r15d, r14d
jl 0x18005160b
nop dword [rax + rax]
mov r8d, 0xc0
lea rdx, [rbp + 0x220]
lea rcx, [rbp - 0x10]
call fcn.180010c10
test eax, eax
je 0x18005160b
mov esi, 0xc3
cmp esi, 0xc3
je 0x18005155e
cmp esi, 0x150
je 0x180051537
cmp esi, 0x1dd
jne 0x1800515f0
inc r14d
jmp 0x1800515f0
mov r8d, 0x18
mov dword [rbp - 0x60], 1
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x10]
call fcn.180049d40
test eax, eax
je case.0x1800510ed.220
jmp 0x1800515f0
mov ebx, 0x3d
mov eax, ebx
sub eax, 0x3d
je 0x1800515b0
sub eax, 0x7a
je 0x180051596
sub eax, 0x15
je 0x18005158a
sub eax, 0x65
je 0x1800515f0
cmp eax, 0x52
jne 0x1800515e1
mov eax, dword [rbp - 0x10]
mov dword [0x423001b8], eax
jmp 0x1800515e1
mov eax, dword [rbp - 0x10]
mov dword [0x40018038], eax
jmp 0x1800515e1
mov r9, r13
lea r8, [rbp + 0x680]
lea rdx, [rbp - 0x10]
mov ecx, 0xb5
call fcn.18004b560
jmp 0x1800515e1
xor edx, edx
lea rcx, [rbp + 0x680]
mov r8d, 0x228
call fcn.180063be0
lea r9, [rbp - 0x10]
mov dword [rsp + 0x20], 0xcf
xor r8d, r8d
lea rcx, [rbp + 0x680]
xor edx, edx
call fcn.180052a60
add ebx, 0x7a
cmp ebx, 0x393
jb 0x180051563
add esi, 0x8d
cmp esi, 0x26a
jb 0x180051513
cmp r14d, r15d
jle 0x1800514f0
add r12d, 0xc3fa
cmp r12d, 0x187f4
jbe 0x180051482
mov edx, dword [rsp + 0x34]
mov ebx, 0x73
mov esi, dword [rsp + 0x58]
mov r14d, 0x7269
mov r8, qword [rbp + 0xb20]
mov r9, qword [rbp + 0xb28]
lea r11d, [rbx - 4]
lea r15d, [rbx - 0x2d]
lea r12d, [rbx - 0x23]
jmp case.0x1800510ed.23
mov word [rsp + 0x63], 0x63
jmp case.default.0x1800510ed
xor edx, edx
lea rcx, [rbp - 0x10]
mov r8d, 0x228
call fcn.180063be0
jmp 0x18005118f
mov word [rsp + 0x62], 0x6f
jmp case.default.0x1800510ed
lea rdx, [rbp + 0x450]
mov ecx, 0x71
call fcn.18002d470
mov r9d, 0xd9
mov dword [rbp - 0x58], eax
lea r8, [rbp - 0x80]
mov dword [rbp - 0x80], eax
lea rdx, [rbp + 0x450]
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x450]
call fcn.1800311f0
jmp 0x18005118f
mov r8d, 4
lea rdx, [0x1800821bc]
lea rcx, [rsp + 0x64]
call fcn.1800672d0
jmp 0x18005118f
cmp esi, 0x48e
ja 0x1800517a6
je 0x18005179c
cmp esi, 0x365
ja 0x18005176e
je 0x180051757
mov eax, esi
sub eax, 0x270
je 0x18005174b
sub eax, 0x2f
je 0x18005172a
cmp eax, 0x63
jne case.default.0x1800510ed
lea r8d, [rax - 0x62]
lea rdx, [0x1800821aa]
lea rcx, [rsp + 0x60]
call fcn.180067120
jmp 0x18005118f
mov r8d, 5
mov byte [rsp + 0x68], 0
lea rdx, [0x1800821d7]
lea rcx, [rsp + 0x60]
call fcn.180067120
jmp 0x18005118f
mov dword [r8], 1
jmp case.default.0x1800510ed
mov r10d, 0x72
mov word [rsp + 0x70], r12w
mov word [rsp + 0x71], r10w
jmp 0x1800510ff
mov eax, esi
sub eax, 0x3c8
je 0x180051791
cmp eax, 0x63
mov eax, dword [rsp + 0x30]
jne 0x1800510ff
mov dword [rsp + 0x73], 0x736563
jmp 0x1800510ff
mov word [rsp + 0x72], r11w
jmp case.default.0x1800510ed
mov word [rsp + 0x76], bx
jmp 0x1800510ff
mov eax, esi
sub eax, 0x4f1
je 0x18005180e
sub eax, 0x63
je 0x180051803
sub eax, 0x63
je 0x1800517f8
sub eax, 0x63
je 0x1800517e4
cmp eax, 0x63
jne case.default.0x1800510ed
movsd xmm0, qword [0x180082184]
movzx eax, word [0x18008218c]
movsd qword [rbp - 0x2c], xmm0
mov word [rbp - 0x24], ax
jmp case.default.0x1800510ed
mov dword [rsp + 0x7c], 0x577473
mov dword [rbp - 0x30], 0x65006b
jmp case.default.0x1800510ed
mov word [rsp + 0x7a], r14w
jmp case.default.0x1800510ed
mov word [rsp + 0x79], r15w
jmp case.default.0x1800510ed
mov r10d, 0x33
mov eax, 0x32
mov word [rsp + 0x77], r10w
mov word [rsp + 0x78], ax
jmp case.default.0x1800510ed
lea rcx, [rsp + 0x38]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180051831
movzx eax, word [0x1800817c4]
mov word [rcx], ax
mov word [rsp + 0x45], r10w
jmp case.0x18005117c.297
mov r8d, 0xa
lea rdx, [rsp + 0x46]
lea ecx, [r8 + 0x16]
call fcn.180067a24
mov eax, dword [str.Snap]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x1800821ec]
mov byte [rsp + 0x4c], al
jmp 0x180051af0
mov dword [rbp - 0x3c], 0x6c006c
jmp case.0x18005117c.297
mov r8, r9
xor edx, edx
mov ecx, 0xc2
call fcn.180027560
cmp qword [r13 + 0x260], 0xffffffffffffffff
jne 0x180051af0
xor edx, edx
lea ecx, [rdx + 2]
call r14
mov qword [r13 + 0x260], rax
cmp rax, 0xffffffffffffffff
jne 0x180051af0
mov ecx, 0xaf
mov eax, ecx
sub eax, 0xaf
je 0x1800518d9
cmp eax, 1
je case.0x1800510ed.220
jmp 0x1800518dc
xor dil, dil
inc ecx
cmp ecx, 0xb1
jb 0x1800518c5
jmp 0x180051af0
lea rcx, [rsp + 0x38]
mov byte [rsp + 0x38], 0
dec rcx
nop dword [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180051900
movzx eax, word [0x180080d5c]
mov word [rcx], ax
jmp case.0x18005117c.297
mov eax, 0x33
mov word [rbp - 0x44], ax
jmp case.0x18005117c.297
mov eax, 0x72
mov word [rsp + 0x39], ax
jmp case.0x18005117c.297
mov dword [rbp - 0x48], 0x6c0065
jmp case.0x18005117c.297
xor eax, eax
lea rdx, [0x180082398]
lea rcx, [rbp - 0x30]
mov word [rbp - 0x22], ax
lea r8d, [rax + 3]
call fcn.180066ec8
jmp 0x180051af0
xor eax, eax
mov word [rbp - 0x38], ax
jmp case.0x18005117c.297
movzx eax, word [0x1800823e0]
mov word [rsp + 0x3b], ax
movzx eax, byte [0x1800823e2]
mov byte [rsp + 0x3d], al
jmp case.0x18005117c.297
mov word [rbp - 0x3e], r8w
jmp case.0x18005117c.297
mov r8d, 0x10e
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x38]
call fcn.180012b30
mov r14, rax
jmp 0x180051af0
mov r8d, 2
lea rdx, [0x1800823e4]
lea rcx, [rsp + 0x4c]
call fcn.1800672d0
movzx eax, word [0x1800823e8]
mov word [rsp + 0x4d], ax
movzx eax, byte [0x1800823ea]
mov byte [rsp + 0x4f], al
jmp 0x180051af0
cmp byte [r13 + reloc.SHELL32.dll_SHChangeNotification_Lock], 0
lea rdx, [r13 + 0x28]
mov rcx, qword [r13 + 0x260]
je 0x180051a0a
mov byte [r13 + reloc.SHELL32.dll_SHChangeNotification_Lock], 0
call r12
test eax, eax
jne 0x180051a37
jmp 0x1800514ba
call r15
test eax, eax
jne 0x180051a37
mov ecx, 0xca
mov eax, ecx
sub eax, 0xca
je 0x180051a2a
cmp eax, 1
je case.0x1800510ed.220
jmp 0x180051a2d
xor dil, dil
inc ecx
cmp ecx, 0xcc
jb 0x180051a16
mov r9, qword [rbp + 0xb28]
lea rax, [r13 + 0x54]
mov qword [r9], rax
jmp 0x180051af7
mov eax, dword [str.Toolhe]
mov word [rsp + 0x3d], r11w
mov dword [rsp + 0x3e], eax
movzx eax, word [0x1800823f4]
mov word [rsp + 0x42], ax
movzx eax, byte [0x1800823f6]
mov byte [rsp + 0x44], al
jmp case.0x18005117c.297
mov dword [rbp - 0x4c], 0x6e0072
jmp case.0x18005117c.297
mov r8d, 0x10e
lea rdx, str.kernel32.dll
lea rcx, [rsp + 0x60]
call fcn.180012b30
mov r8d, 0x10e
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
mov r15, rax
call fcn.180012b30
mov r12, rax
jmp 0x180051af0
mov dword [rbp - 0x42], 0x2e0032
jmp case.0x18005117c.297
mov r8d, 2
lea rdx, [0x180082460]
lea rcx, [rbp - 0x30]
call fcn.180066ec8
jmp 0x180051af0
mov r8d, 1
lea rdx, [0x1800823ec]
lea rcx, [rsp + 0x38]
call fcn.180067120
mov r9, qword [rbp + 0xb28]
mov edx, 0x74
lea r8d, [rdx - 0x10]
lea r10d, [rdx - 4]
lea r11d, [rdx - 0xf]
jmp case.0x18005117c.297
mov eax, dword [r13 + 0x30]
mov dword [r9 + 0x18], eax
mov eax, dword [r13 + 0x48]
mov dword [r9 + 0x1c], eax
jmp case.0x18005117c.297
sub eax, 0x227
je 0x180051b5f
cmp eax, 0xc
jne case.0x18005117c.297
mov ecx, 0xbf
nop dword [rax]
mov eax, ecx
sub eax, 0xbf
je 0x180051b44
cmp eax, 1
je case.0x1800510ed.220
jmp 0x180051b47
mov dil, 1
inc ecx
cmp ecx, 0xc1
jb 0x180051b30
mov word [rsp + 0x4f], dx
mov dword [rbp - 0x50], 0x65006b
jmp case.0x18005117c.297
mov eax, dword [r13 + 0x44]
mov dword [r9 + 0x20], eax
mov eax, dword [rbp + 0xb38]
add eax, 0xc
mov dword [rbp + 0xb38], eax
cmp eax, esi
jae case.0x1800510ed.220
lea rcx, [0x180000000]
jmp 0x180051142