Function at 0x180029370
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
imul edi, ecx, 0x154
mov r14, r8
mov ebp, ecx
mov r12d, ecx
mov dword [rsp + 0xb0], edi
cmp ecx, edi
ja 0x18002949e
mov r15, qword [rsp + 0xd0]
xor ebx, ebx
mov r13, qword [rsp + 0x60]
mov eax, r12d
lea r8, [0x180000000]
sub eax, 0x49
je 0x180029aad
sub eax, 0x56
je 0x180029a9f
sub eax, 0x130e
je 0x180029a07
sub eax, 0x1364
je 0x1800299ed
cmp eax, 0x3ca
jne 0x180029ae4
mov eax, dword [r15]
dec eax
cmp eax, 8
ja case.0x180029412.2
cdqe
mov ecx, dword [r8 + rax*4 + 0x29b4c]
add rcx, r8
jmp rcx
mov eax, 0xbe
nop dword [rax]
cmp eax, 0xbe
je 0x1800295ed
add eax, 0x3aa2
cmp eax, 0x3aa2
jbe 0x180029420
mov esi, 0xa1
nop dword [rax]
mov eax, esi
sub eax, 0x9f
je 0x1800295ed
sub eax, 1
je 0x1800294d0
cmp eax, 1
jne 0x18002957a
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x18002947b
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x180029485
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x180029485
mov eax, dword [rcx + 4]
cmp dword [rdx + 4], eax
jmp 0x18002947f
cmp qword [r14 + 8], rbx
je 0x18002957a
mov eax, 0xa7
nop word [rax + rax]
cmp eax, 0xa7
je 0x1800294bb
cmp eax, 0x1587
jne 0x1800294bf
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x48], ebx
add eax, 0x14e0
cmp eax, 0x29c0
jbe 0x180029490
jmp 0x18002957a
mov rdi, qword [r14 + 0x10]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x18]
mov rax, qword [r14 + 0x18]
sub rcx, rdx
sub rax, rdi
xor rcx, rax
test rcx, 0xfffffffffffffff0
jne 0x180029b30
mov r11, qword [r15 + 0x18]
mov r10d, ebx
sub r11, rdx
sar r11, 4
test r11, r11
jle 0x18002957a
lea r9, [rdx + 8]
sub rdi, rdx
mov rcx, qword [r9 - 8]
mov r8, qword [rdi + r9 - 8]
sub r8, rcx
nop dword [rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x180029533
inc rcx
test eax, eax
jne 0x180029520
test edx, edx
jne 0x180029b30
mov rcx, qword [r9]
mov r8, qword [rdi + r9]
sub r8, rcx
nop word [rax + rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x180029563
inc rcx
test eax, eax
jne 0x180029550
test edx, edx
jne 0x180029b30
inc r10d
add r9, 0x10
movsxd rax, r10d
cmp rax, r11
jl 0x180029510
dec esi
cmp esi, 0x9e
ja 0x180029440
mov eax, reloc.SHELL32.dll_SHSetFolderPathA
nop dword [rax]
cmp eax, 0xe7
je 0x1800295ed
add eax, 0x353d
cmp eax, 0x353d
jbe 0x180029590
mov eax, SHSetFolderPathA
nop dword [rax + rax]
cmp eax, 0xe3
je 0x180029b08
add eax, 0x7346
cmp eax, 0x7346
jbe 0x1800295b0
mov edi, 0x4a
nop dword [rax]
cmp edi, 0x4a
je 0x180029679
cmp edi, 0x1926
je 0x1800295fa
cmp edi, 0x3202
jne 0x180029735
mov dword [rsp + 0x48], 1
jmp 0x18002949e
mov r8, qword [r15 + 0x20]
cmp r8, qword [r14 + 0x20]
jne 0x180029615
mov rdx, qword [r14 + 0x18]
mov rcx, qword [r15 + 0x18]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18002963b
mov ecx, 0x45
nop word [rax + rax]
mov eax, ecx
sub eax, 0x44
je 0x18002949e
cmp eax, 1
jne 0x180029634
mov dword [rsp + 0x48], ebx
dec ecx
cmp ecx, 0x43
ja 0x180029620
mov eax, dword [r14 + 0x28]
cmp dword [r15 + 0x28], eax
je 0x180029735
mov eax, 0xc3
nop
cmp eax, 0xc3
je 0x180029664
cmp eax, 0x5e74
je 0x18002949e
jmp 0x180029668
mov dword [rsp + 0x48], ebx
add eax, 0x5db1
cmp eax, 0xbb62
jbe 0x180029650
jmp 0x180029735
mov rax, qword [r15 + 8]
mov r8, qword [r14 + 8]
test rax, rax
je 0x1800296a7
test r8, r8
je 0x1800296ac
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800296a3
inc rax
test ecx, ecx
jne 0x180029690
test edx, edx
jmp 0x1800296aa
test r8, r8
je 0x1800296c6
mov eax, 0x90
cmp eax, 0x90
je 0x180029b30
add eax, 0xd
cmp eax, 0x9d
jb 0x1800296b1
mov rax, qword [r15 + 0x10]
mov r8, qword [r14 + 0x10]
test rax, rax
je 0x180029707
test r8, r8
jne 0x1800296e4
cmp byte [rax], 0x21
jne 0x180029718
cmp byte [rax + 1], bl
jne 0x180029718
jmp 0x180029735
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180029703
inc rax
test ecx, ecx
jne 0x1800296f0
test edx, edx
jmp 0x180029716
test r8, r8
je 0x180029735
cmp byte [r8], 0x21
jne 0x180029718
cmp byte [r8 + 1], bl
je 0x180029735
mov eax, 0x36
nop dword [rax]
cmp eax, 0x36
je 0x180029b30
add eax, 0x83a
cmp eax, 0x83a
jbe 0x180029720
add edi, 0x18dc
cmp edi, 0x4a94
jbe 0x1800295d0
mov edi, dword [rsp + 0xb0]
mov r9d, 0xd0
nop dword [rax]
nop dword [rax + rax]
cmp r9d, 0xd0
je 0x180029836
cmp r9d, 0x9cd0
je 0x18002979e
cmp r9d, 0x138d0
je 0x180029791
cmp r9d, 0x1d4d0
je 0x18002949e
jmp 0x180029893
mov dword [rsp + 0x48], 1
jmp 0x180029893
mov rax, qword [r15 + 0x10]
mov r8, qword [r14 + 0x10]
test rax, rax
je 0x1800297ca
test r8, r8
je 0x1800297cf
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800297c6
inc rax
test ecx, ecx
jne 0x1800297b3
test edx, edx
jmp 0x1800297cd
test r8, r8
je 0x1800297f6
mov ecx, 0xb6
mov eax, ecx
sub eax, 0xb6
je 0x1800297e8
cmp eax, 1
je 0x18002949e
jmp 0x1800297ec
mov dword [rsp + 0x48], ebx
inc ecx
cmp ecx, 0xb8
jb 0x1800297d4
mov eax, dword [r14 + 0x18]
cmp dword [r15 + 0x18], eax
je 0x180029893
mov eax, 0xcc
nop dword [rax]
cmp eax, 0xcc
je 0x180029824
cmp eax, 0x14b8
je 0x18002949e
jmp 0x180029828
mov dword [rsp + 0x48], ebx
add eax, 0x13ec
cmp eax, 0x27d8
jbe 0x180029810
jmp 0x180029893
mov rax, qword [r15 + 8]
mov r8, qword [r14 + 8]
test rax, rax
je 0x180029867
test r8, r8
je 0x18002986c
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180029863
inc rax
test ecx, ecx
jne 0x180029850
test edx, edx
jmp 0x18002986a
test r8, r8
je 0x180029893
mov eax, PathMakeUniqueName
cmp eax, 0x2c
je 0x180029883
cmp eax, 0x1188
je 0x18002949e
jmp 0x180029887
mov dword [rsp + 0x48], ebx
add eax, 0x115c
cmp eax, 0x22b8
jbe 0x180029871
add r9d, 0x9c00
cmp r9d, 0x27000
jbe 0x180029760
mov r9d, 0xea
nop dword [rax]
mov eax, r9d
sub eax, 0xe6
je 0x18002949e
sub eax, 1
je 0x1800299b4
sub eax, 1
je 0x1800299a4
sub eax, 1
je 0x180029942
cmp eax, 1
jne 0x1800299bc
mov rax, qword [r15 + 8]
test rax, rax
je 0x18002990a
mov r8, qword [r14 + 8]
test r8, r8
je 0x180029914
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180029906
inc rax
test ecx, ecx
jne 0x1800298f3
test edx, edx
jmp 0x18002990e
cmp qword [r14 + 8], rbx
je 0x1800299bc
mov ecx, 0x106
nop dword [rax]
mov eax, ecx
sub eax, 0x105
je 0x18002949e
cmp eax, 1
jne 0x180029936
mov dword [rsp + 0x48], ebx
dec ecx
cmp ecx, 0x104
ja 0x180029920
jmp 0x1800299bc
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x180029977
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x18002997d
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180029973
inc rax
test ecx, ecx
jne 0x180029960
test edx, edx
jmp 0x18002997b
cmp qword [r14 + 0x10], rbx
je 0x1800299bc
mov ecx, 0x12d
mov eax, ecx
sub eax, 0x12c
je 0x18002949e
cmp eax, 1
jne 0x180029998
mov dword [rsp + 0x48], ebx
dec ecx
cmp ecx, 0x12b
ja 0x180029982
jmp 0x1800299bc
mov eax, dword [r14 + 0x18]
cmp dword [r15 + 0x18], eax
jne 0x180029b30
jmp 0x1800299bc
mov dword [rsp + 0x48], 1
dec r9d
cmp r9d, 0xe5
ja 0x1800298b0
mov eax, 0xcf
cmp eax, 0xcf
je 0x1800295ed
add eax, 0x8e5
cmp eax, 0x8e5
jbe 0x1800299d1
jmp 0x180029ae4
mov eax, 0xf7
cmp eax, 0xf7
je 0x180029b39
add eax, 0x11
cmp eax, 0x108
jb 0x1800299f2
mov rax, qword [rsp + 0xd8]
lea rcx, [rsp + 0x60]
mov r8, rdx
mov dword [rsp + 0x40], ebx
mov edx, 0x117
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov rax, qword [r9]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.1800397e0
mov qword [rsp + 0x50], rax
cmp rax, 0
jbe 0x180029a80
mov rax, qword [rsp + 0x60]
mov r8d, 1
sub qword [r15 + 8], rax
mov rdx, r13
mov r9, qword [r14 + 0xd0]
mov rcx, r15
call qword [r14 + 0x58]
nop
mov r9d, 0x128
mov dword [rsp + 0x40], 1
mov r8, r14
lea rdx, [rsp + 0x40]
xor ecx, ecx
call fcn.1800486a0
jmp 0x180029ae4
mov eax, dword [r14]
cmp dword [r15], eax
jne 0x180029b30
jmp 0x180029ae4
cmp qword [r14 + 0x58], rbx
je 0x180029b43
cmp dword [r14 + 0x258], ebx
jne 0x180029b43
mov r9d, 0x109
mov dword [rsp + 0x40], 1
mov r8, r14
lea rcx, [rsp + 0x40]
xor edx, edx
call fcn.180012ce0
mov r13, rax
imul ecx, ebp, 0x44
add r12d, ecx
cmp r12d, edi
ja 0x18002949e
mov r9, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xb8]
jmp 0x1800293ba
mov rax, qword [r15 + 8]
mov r8, qword [r14 + 8]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180029b26
inc rax
test ecx, ecx
jne 0x180029b13
test edx, edx
sete bl
nop dword [rax + rax]
mov dword [rsp + 0x48], ebx
jmp 0x18002949e
mov rax, qword [rsp + 0x50]
jmp 0x1800294a3
mov rax, rbx
jmp 0x1800294a3