Function at 0x180057590
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x18007b358]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov eax, dword [rsp + 0x50]
mov rbx, rcx
mov r11, qword [rbp + 0xa0]
mov esi, r8d
mov r15, qword [rbp + 8]
mov edi, 0xffff
mov r13d, dword [rsp + 0x70]
imul r14d, r8d, 0x744
mov qword [rbp - 8], rax
mov eax, dword [rsp + 0x50]
mov qword [rbp - 0x10], rcx
mov ecx, r8d
mov dword [rbp - 0x70], eax
movzx eax, byte [rsp + 0x48]
mov dword [rsp + 0x60], r8d
lea r8, [0x180000000]
mov qword [rbp - 0x28], r9
mov qword [rbp], rdx
mov qword [rbp - 0x78], r11
mov dword [rbp - 0x6c], r13d
mov qword [rbp - 0x18], r15
mov dword [rbp - 0x34], eax
cmp ecx, r14d
ja 0x180057b74
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
mov r12d, dword [rsp + 0x50]
mov dword [rsp + 0x58], ecx
movzx ecx, byte [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov eax, dword [0x18007bc70]
mov byte [rsp + 0x40], cl
mov dword [rbp - 0x38], r12d
movabs rdx, 0x2020202020202020
cmp esi, 0x7da4
ja 0x1800577cf
je 0x18005770b
mov ecx, esi
sub ecx, 0xb
je 0x1800576e1
sub ecx, 0xa1
je 0x1800576d5
sub ecx, 0x19
je 0x1800576be
sub ecx, 0x744
je 0x1800576ab
mov edx, dword [rsp + 0x54]
mov r10d, dword [rsp + 0x58]
cmp ecx, 0x7fe
jne 0x1800577b2
mov dword [r11 + 0x28], 0x238
mov eax, dword [0x18007bc70]
jmp 0x1800577b2
mov byte [r11 + reloc.SHELL32.dll_SHChangeNotification_Lock], 1
mov eax, dword [0x18007bc70]
jmp 0x1800577a9
xor edx, edx
xor r10d, r10d
mov dword [rsp + 0x54], edx
mov dword [rsp + 0x58], r10d
mov byte [rsp + 0x40], dl
jmp 0x1800577b2
mov dword [rbp - 0x30], 0
jmp 0x1800577a9
xor edx, edx
mov r8d, 0x288
mov rcx, r11
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rbp - 0x78]
mov qword [r11 + 0x260], 0xffffffffffffffff
mov eax, dword [0x18007bc70]
jmp 0x18005779e
mov edx, dword [r9]
mov ecx, dword [r11]
test edx, edx
jne 0x18005771f
mov r12d, dword [r8 + rcx*4 + 0x7bc58]
jmp 0x18005772e
imul rax, rcx, 0x104
mov r12d, dword [rax + r8 + 0x7bbf4]
lea rax, [rbp + 0x10]
mov dword [rsp + 0x78], edx
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x70]
mov dword [rbp - 0x68], ecx
mov qword [rsp + 0x30], rax
lea rdx, [rbp - 0x60]
lea rax, [rsp + 0x68]
mov dword [rbp - 0x60], 0
mov qword [rsp + 0x28], rax
lea rcx, [rbp - 0x68]
lea rax, [rsp + 0x78]
mov dword [rsp + 0x68], 4
mov r9d, 0x30
mov qword [rsp + 0x20], rax
call fcn.18004c360
mov r13d, dword [rsp + 0x70]
shl r12d, 9
mov dword [rbp - 0x38], r12d
mov dword [0x18007bc70], eax
mov dword [rbp - 0x6c], r13d
mov r11, qword [rbp - 0x78]
mov r9, qword [rbp - 0x28]
lea r8, [0x180000000]
mov r10d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x54]
imul ecx, dword [rsp + 0x60], 0xba
add esi, ecx
cmp esi, r14d
ja 0x180057b9c
mov edi, 0xffff
jmp 0x18005764b
cmp esi, 0x8fe7
je 0x180057afb
cmp esi, 0xfa9c
je 0x180057883
cmp esi, 0x11f09
je 0x18005786d
cmp esi, 0x1ae2b
jne 0x1800577a9
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [r11 + rdi], 0
jne 0x180057800
cmp byte [r11], 0x2e
mov qword [rbp - 8], rdi
jne 0x180057837
cmp byte [r11 + 1], 0
je 0x180057b10
cmp byte [r11], 0x2e
jne 0x180057837
cmp byte [r11 + 1], 0x2e
jne 0x180057837
cmp byte [r11 + 2], 0
je 0x180057b10
lea r8d, [rdi - 1]
mov dword [rbp - 0x70], r8d
movsxd rcx, r8d
test r8d, r8d
js 0x1800577a2
nop dword [rax + rax]
cmp byte [r11 + rcx], 0x2e
je 0x180057b2c
dec r8d
sub rcx, 1
mov dword [rbp - 0x70], r8d
jns 0x180057850
jmp 0x1800577a2
mov qword [r9], rdx
mov dword [r9 + 8], 0x202020
mov eax, dword [0x18007bc70]
jmp 0x1800577a9
test eax, eax
je 0x180057968
cmp eax, 0x17
jne 0x180057cba
mov r10d, dword [r9]
test r10d, r10d
je 0x180057b6a
mov ecx, 0x114
lea rbx, [0x180000000]
nop dword [rax]
cmp ecx, 0x114
je 0x18005793b
cmp ecx, 0x666c
je 0x1800578ea
cmp ecx, 0xcbc4
je 0x180057934
cmp ecx, 0x1311c
je 0x1800578e3
cmp ecx, 0x19674
jne 0x180057943
mov dword [rsp + 0x50], r12d
jmp 0x180057943
mov esi, 0xfa9c
jmp 0x180057943
mov ecx, dword [r11]
mov r8d, dword [rbx + rcx*4 + 0x7bc60]
lea r9, [rcx*8 + 0x7bc48]
nop dword [rax]
cmp r13d, r8d
jae 0x180057926
mov rcx, qword [r9 + rbx]
mov edx, r13d
cmp word [rcx + rdx*2], di
je 0x180057930
cmp r13d, r8d
jae 0x180057926
mov edx, r13d
movzx r13d, word [rcx + rdx*2]
mov dword [rsp + 0x70], r13d
jmp 0x180057900
xor r13d, r13d
mov dword [rsp + 0x70], r13d
jmp 0x180057900
mov dword [rbp - 0x6c], r13d
mov ecx, 0xcbc4
jmp 0x180057943
mov r13d, r10d
mov dword [rsp + 0x70], r10d
add ecx, 0x6558
cmp ecx, 0x1fab8
jbe 0x1800578b0
mov rbx, qword [rbp - 0x10]
lea r8, [0x180000000]
mov r9, qword [rbp - 0x28]
mov dword [rbp - 0x6c], r13d
mov edx, dword [rbx]
add edx, dword [rsp + 0x50]
cmp edx, r12d
jbe 0x180057ad7
cmp dword [r9], 0
je 0x180057b6a
mov edx, dword [r11]
cmp r13d, dword [r8 + rdx*4 + 0x7bc60]
jae 0x180057ad7
mov ecx, r13d
mov r9d, 0xffff
lea rdi, [rcx + rcx]
mov rcx, qword [r8 + rdx*8 + 0x7bc48]
cmp word [rdi + rcx], r9w
jne 0x180057ad7
mov ebx, 0x88
nop word [rax + rax]
cmp ebx, 0x88
je 0x180057a8f
cmp ebx, 0x3b8
je 0x180057a4b
cmp ebx, 0x6e8
je 0x1800579f5
cmp ebx, 0xa18
jne 0x180057ac1
test eax, eax
jne 0x180057cba
jmp 0x180057ac1
mov eax, dword [r11]
cmp r13d, dword [r8 + rax*4 + 0x7bc60]
jae 0x180057a15
mov rcx, qword [r8 + rax*8 + 0x7bc48]
movzx eax, word [rbp - 0x30]
mov word [rdi + rcx], ax
mov eax, dword [r11]
mov ecx, dword [rbp - 0x30]
mov edx, eax
cmp ecx, dword [r8 + rdx*4 + 0x7bc60]
jae 0x180057a34
mov rax, qword [r8 + rdx*8 + 0x7bc48]
mov word [rax + rcx*2], r9w
mov eax, dword [r11]
xor r8d, r8d
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x68]
lea ecx, [r8 + 0x2f]
call fcn.180059dc0
jmp 0x180057aaa
test eax, eax
jne 0x180057cba
mov byte [rsp + 0x48], al
lea r8, [rsp + 0x48]
mov eax, dword [rbp - 0x30]
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0x78]
mov eax, dword [r11]
mov r9d, 0x10d
mov dword [rsp + 0x78], eax
call fcn.18002bde0
mov dword [0x18007bc70], eax
test eax, eax
jne 0x180057cba
jmp 0x180057ab0
mov eax, dword [r11]
lea rdx, [rsp + 0x68]
mov r8d, 0x117
mov dword [rsp + 0x68], eax
lea rcx, [rbp - 0x30]
call fcn.180032770
mov dword [0x18007bc70], eax
mov r11, qword [rbp - 0x78]
lea r8, [0x180000000]
mov r9d, 0xffff
add ebx, 0x330
cmp ebx, 0xcc0
jbe 0x1800579c0
mov rbx, qword [rbp - 0x10]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x12c
xor ecx, ecx
call fcn.180067b50
mov r15, rax
mov qword [rbp - 0x18], rax
mov eax, dword [0x18007bc70]
jmp 0x18005779a
mov byte [rbp - 0x34], 0
jmp 0x1800577a9
movsxd r8, edi
mov rdx, r11
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x5c], 0
mov eax, dword [rsp + 0x5c]
jmp 0x180057cba
mov eax, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x54]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x50]
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x50]
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x50]
mov dword [rbp - 0x60], eax
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x68], ecx
jmp 0x180057d80
mov eax, 0x1d
jmp 0x180057cba
movzx r12d, byte [rsp + 0x48]
mov r8d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x50]
mov byte [rsp + 0x40], r12b
mov dword [rbp - 0x38], r8d
mov dword [rsp + 0x54], edx
mov dword [rsp + 0x58], r10d
jmp 0x180057baa
mov r8d, dword [rbp - 0x38]
movzx r12d, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x60]
mov r14d, dword [rsp + 0x50]
mov edi, ecx
mov ebx, dword [rsp + 0x5c]
mov dword [rsp + 0x50], r14d
mov eax, dword [rsp + 0x50]
mov esi, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x50]
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x50]
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x50]
mov dword [rbp - 0x60], eax
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x68], r9d
lea eax, [rcx + 0xa]
cmp edi, eax
jae case.0x180057c1f.175
lea eax, [rdi - 0xac]
cmp eax, 0x1e
ja case.default.0x180057c1f
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x58544]
mov ecx, dword [rcx + rax*4 + 0x5851c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov byte [rsp + 0x5c], 0
mov ebx, dword [rsp + 0x5c]
jmp 0x1800584eb
cmp dword [rbp - 0x70], 8
mov ecx, dword [rsp + 0x60]
jle case.default.0x180057c1f
mov r12b, 1
mov byte [rsp + 0x40], r12b
jmp case.default.0x180057c1f
mov r13, qword [rbp - 0x28]
lea rdx, [rbp + 8]
mov rcx, r13
movsxd r8, r10d
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rsp + 0x54]
test eax, eax
jle 0x180057c76
mov r8, rax
lea rcx, [r13 + 8]
lea rdx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcpy
test r12b, r12b
jne 0x180057c85
cmp byte [rbp - 0x34], r12b
je case.0x180057c1f.176
mov ecx, 0x121
nop word [rax + rax]
mov eax, ecx
movsxd rdx, r14d
sub eax, 0x121
je 0x180057d4e
sub eax, 1
je 0x180057d19
sub eax, 1
je 0x180057cf0
sub eax, 1
je 0x180057ce1
cmp eax, 1
jne 0x180057d65
mov eax, ebx
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.180069d20
mov rbx, qword [rsp + 0x190]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov byte [rsp + 0x5c], 1
mov ebx, dword [rsp + 0x5c]
mov dword [rsp + 0x78], ebx
jmp 0x180057d65
mov r8d, dword [rbp - 0x80]
test r8d, r8d
js 0x180057d0d
test r8b, 1
jne 0x180057d0d
dec r14d
mov byte [rdx + r13 + 1], 0x20
mov dword [rsp + 0x50], r14d
movsxd rax, r14d
mov word [rax + r13], 0x317e
jmp 0x180057d65
lea r8d, [r14 - 1]
mov dword [rbp - 0x80], r8d
movsxd rax, r8d
test r8d, r8d
js 0x180057d44
nop dword [rax]
cmp byte [rbp + rax + 8], 0x80
jb 0x180057d40
dec r8d
sub rax, 1
jns 0x180057d30
mov dword [rbp - 0x80], r8d
mov ecx, 0x122
lea edi, [rcx - 0x5a]
jmp 0x180057d65
mov r14d, dword [rsp + 0x58]
mov eax, 6
cmp r14d, 6
cmovg r14d, eax
mov dword [rsp + 0x50], r14d
inc ecx
cmp ecx, 0x126
jb 0x180057c90
jmp case.0x180057c1f.176
mov r8d, dword [rbp - 0x70]
mov rdi, qword [rbp - 8]
test r8d, r8d
js 0x180057e69
mov ebx, dword [rbp - 0x34]
mov r12d, ILRemoveLastID
movsxd r15, edi
movsxd r13, r8d
movsxd rsi, edx
nop dword [rax + rax]
mov eax, r12d
sub eax, 0xf
je 0x180057daf
cmp eax, 1
je 0x180057e22
jmp 0x180057e28
lea eax, [r8 + 1]
mov dword [rbp - 0x80], eax
lea r14, [r13 + 1]
cmp r14, r15
jge 0x180057e28
mov edi, 0x121
cmp edi, 0x121
jne 0x180057e4b
movzx eax, byte [r11 + r14]
cmp al, 0x20
je 0x180057e46
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x20], 0x47
xor r8d, r8d
mov byte [rsp + 0x48], al
xor ecx, ecx
call fcn.180019590
inc dword [rsp + 0x54]
mov byte [rbp + rsi - 0x20], al
inc rsi
cmp rsi, 3
jne 0x180057e4b
mov rax, qword [rbp - 0x78]
movzx ebx, bl
cmp byte [rax + r14 + 1], 0
mov eax, 1
cmovne ebx, eax
mov r12d, ILRemoveLastID
mov r11, qword [rbp - 0x78]
inc r12d
mov r8d, dword [rbp - 0x70]
cmp r12d, 0x11
jb 0x180057da0
mov dword [rbp - 0x34], ebx
mov ebx, dword [rsp + 0x78]
jmp 0x180057e6c
mov byte [rsp + 0x40], 1
mov r11, qword [rbp - 0x78]
add edi, 0xf
cmp edi, 0x130
jb 0x180057dc4
inc dword [rbp - 0x80]
inc r14
jmp 0x180057dba
mov dword [rbp - 0x70], edi
mov r15, qword [rbp - 0x18]
mov edi, 0xc5
mov esi, dword [rsp + 0x70]
movzx r12d, byte [rsp + 0x40]
jmp case.0x180057c1f.176
movsxd r15, dword [rbp - 0x70]
xor r12d, r12d
mov dword [rbp - 0x80], r12d
test r15, r15
jle 0x180057f25
movsxd r13, dword [rsp + 0x58]
xor r14d, r14d
mov rsi, r13
mov edi, 0x10b
cmp edi, 0x10b
jne 0x180057f00
movzx eax, byte [r11 + r14]
cmp al, 0x20
je 0x180057efb
cmp al, 0x2e
je 0x180057efb
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x20], 0x47
xor r8d, r8d
mov byte [rsp + 0x48], al
xor ecx, ecx
call fcn.180019590
inc r13d
mov byte [rbp + rsi + 8], al
inc rsi
mov dword [rsp + 0x58], r13d
cmp rsi, 8
je 0x180057f1d
jmp 0x180057f00
mov byte [rsp + 0x40], 1
mov r11, qword [rbp - 0x78]
add edi, 0x7f3e
cmp edi, 0x7f3e
jbe 0x180057ea8
inc r12d
inc r14
cmp r14, r15
jl 0x180057ea3
mov esi, dword [rsp + 0x70]
mov dword [rbp - 0x80], r12d
mov r15, qword [rbp - 0x18]
mov edi, 0xc6
movzx r12d, byte [rsp + 0x40]
jmp case.0x180057c1f.176
mov esi, 0x200
mov dword [rsp + 0x70], esi
jmp case.0x180057c1f.176
xor r10d, r10d
lea eax, [r8 - 0x200]
mov r12d, r10d
mov dword [rsp + 0x5c], r10d
mov edi, r10d
mov dword [rsp + 0x78], eax
mov r14d, eax
test eax, eax
js 0x180058211
nop dword [rax + rax]
mov eax, dword [r11]
lea r9, [rbp - 0x58]
mov qword [rsp + 0x28], r15
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x48]
mov dword [rbp - 0x58], eax
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x20], StrCmpNICW
mov dword [rbp - 0x40], 0x200
mov dword [rbp - 0x50], r14d
mov dword [rbp - 0x48], r13d
call fcn.180058570
mov dword [0x18007bc70], eax
test eax, eax
je 0x180058009
mov edi, 0x49
nop word [rax + rax]
mov eax, edi
sub eax, 0x48
je 0x1800582bc
cmp eax, 1
jne 0x180057ff8
xor eax, eax
mov r9, r15
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
dec edi
cmp edi, 0x47
ja 0x180057fc0
mov eax, dword [0x18007bc70]
mov edi, dword [rsp + 0x5c]
mov rcx, qword [rbp + 0xa8]
cmp r13d, dword [rcx]
ja 0x18005806c
mov rcx, qword [rbp]
mov r8d, dword [rcx]
cmp r14d, r8d
ja 0x18005806c
mov edx, 0xd4
mov r13d, 1
nop dword [rax]
mov ecx, edx
sub ecx, 0xd4
je 0x180058044
cmp ecx, r13d
jne 0x180058056
mov edi, r13d
jmp 0x180058056
mov esi, r14d
mov r12d, r8d
sub esi, r8d
add esi, 0x200
sub r12d, r14d
inc edx
cmp edx, 0xd6
jb 0x180058030
mov r13d, dword [rbp - 0x6c]
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x70], esi
mov r9, qword [rbp - 0x10]
mov r10d, dword [rbp - 0x38]
mov r8d, dword [r9]
lea edx, [r8 + r12]
lea ecx, [rsi + rdx]
add ecx, r14d
cmp ecx, r10d
jbe 0x1800582fe
lea ecx, [rdx + r14]
cmp ecx, r10d
jae 0x1800581a3
mov esi, 0x11f
jmp 0x1800580a4
mov r9, qword [rbp - 0x10]
cmp esi, 0x11f
je 0x180058119
cmp esi, 0xb7dc
jne 0x180058180
test eax, eax
je 0x180058110
mov edi, 0xca
mov ecx, edi
sub ecx, 0xca
je 0x1800580d6
cmp ecx, 1
je case.0x180057c1f.175
jmp 0x180058106
xor eax, eax
mov r9, r15
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov eax, dword [0x18007bc70]
mov ebx, eax
inc edi
cmp edi, 0xcc
jb 0x1800580c1
xor r9d, r9d
mov dword [rbp - 0x60], r9d
jmp 0x180058184
mov eax, dword [r9]
lea r8, [rbp - 0x50]
mov edi, r10d
mov ecx, r12d
sub edi, eax
mov dword [rbp - 0x40], r13d
add eax, r12d
lea r9, [rbp - 0x48]
add eax, r14d
lea rdx, [rbp - 0x58]
mov dword [rbp - 0x48], eax
sub edi, r12d
mov rax, qword [rbp - 0x78]
sub edi, r14d
add rcx, r15
mov dword [rbp - 0x68], edi
mov dword [rbp - 0x50], edi
mov eax, dword [rax]
mov dword [rbp - 0x58], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xc9
call fcn.180062320
mov r9d, dword [rbp - 0x60]
mov dword [0x18007bc70], eax
jmp 0x180058187
mov r9d, dword [rbp - 0x60]
mov edi, dword [rbp - 0x68]
mov r10d, dword [rbp - 0x38]
add esi, 0xb6bd
cmp esi, 0x16d7a
jbe 0x1800580a0
mov esi, dword [rsp + 0x70]
jmp 0x1800581b8
xor edi, edi
mov r9d, r8d
sub r9d, r10d
mov dword [rbp - 0x68], edi
add r9d, r12d
add r9d, r14d
mov dword [rbp - 0x60], r9d
mov rax, qword [rbp - 0x28]
mov r11, qword [rbp - 0x78]
cmp dword [rax], 0
je 0x1800581f0
mov r8d, dword [r11]
lea rax, [0x180000000]
cmp r13d, dword [rax + r8*4 + 0x7bc60]
jae 0x18005824d
mov rax, qword [rax + r8*8 + 0x7bc48]
mov ecx, r13d
movzx edx, word [rax + rcx*2]
cmp edx, 0xffff
jne 0x18005824f
mov edi, dword [rsp + 0x5c]
add r14d, 0xfffffe00
jns 0x180057f70
test edi, edi
jne case.0x180057c1f.174
mov r9d, dword [rsp + 0x68]
xor r10d, r10d
mov rax, qword [rbp - 0x28]
mov r8d, dword [rax]
test r8d, r8d
jne 0x180058421
mov edi, 0xdf
nop word [rax + rax]
cmp edi, 0xdf
je 0x1800583c8
cmp edi, 0x81cb
je case.0x180057c1f.175
jmp 0x1800583f3
xor edx, edx
mov eax, esi
mov dword [rbp - 0x48], r9d
sub eax, edi
mov dword [rbp - 0x40], edx
mov dword [rbp - 0x50], eax
lea r9, [rbp - 0x48]
mov dword [rbp - 0x58], r8d
lea rdx, [rbp - 0x58]
mov eax, edi
lea r8, [rbp - 0x50]
add rax, r15
mov ecx, r12d
add rcx, rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xc9
call fcn.180062320
mov dword [0x18007bc70], eax
test eax, eax
je 0x1800583b3
mov edi, 0x7e
nop word [rax + rax]
mov eax, edi
sub eax, 0x7e
je 0x1800582c7
cmp eax, 1
jne 0x1800582ef
mov eax, dword [0x18007bc70]
jmp 0x180057cba
xor eax, eax
mov r9, r15
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
inc edi
cmp edi, 0x80
jb 0x1800582b0
jmp 0x1800583b3
lea eax, [rdx + r14]
mov ecx, r12d
mov dword [rbp - 0x48], eax
lea r9, [rbp - 0x48]
mov rax, qword [rbp - 0x78]
lea r8, [rbp - 0x50]
add rcx, r15
mov dword [rbp - 0x50], esi
lea rdx, [rbp - 0x58]
mov dword [rbp - 0x40], r13d
mov eax, dword [rax]
mov dword [rbp - 0x58], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xc9
call fcn.180062320
mov dword [0x18007bc70], eax
test eax, eax
je 0x1800583b7
mov edi, 0xeb
cmp edi, 0xeb
je 0x180058377
cmp edi, 0x9ecf
je 0x180058373
cmp edi, 0x13cb3
je case.0x180057c1f.175
jmp 0x1800583a5
mov ebx, eax
jmp 0x1800583a5
xor eax, eax
mov r9, r15
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002b580
mov eax, dword [0x18007bc70]
add edi, 0x9de4
cmp edi, 0x1d9ac
jbe 0x180058355
mov edi, dword [rsp + 0x5c]
test edi, edi
jne case.0x180057c1f.174
mov r11, qword [rbp - 0x78]
jmp 0x1800581f4
mov qword [rsp + 0x38], r10
mov r9, r15
mov dword [rsp + 0x30], 0x55
xor r8d, r8d
mov qword [rsp + 0x28], r10
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r10
call fcn.18002b580
mov ebx, 0x21
add edi, 0x80ec
mov r10d, 0
cmp edi, 0x101d8
jbe 0x180058230
mov r11, qword [rbp - 0x78]
mov r9d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x78]
jmp 0x180057f60
mov ecx, StrCmpNICW
mov eax, ecx
sub eax, 0x96
je 0x180058439
cmp eax, 0x5c
jne 0x180058462
mov r13d, r9d
jmp 0x180058462
mov rcx, r8
nop dword [rax]
mov edx, 0xea
mov eax, edx
sub eax, 0xea
je 0x1800584a1
sub eax, 1
je 0x18005847a
cmp eax, 1
jne 0x1800584a8
cmp ecx, r13d
jne 0x1800584a8
mov ecx, StrCmpNICW
add ecx, 0x5c
cmp ecx, 0x14e
jb 0x180058426
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x6c], r13d
jmp 0x180057f60
mov eax, dword [r11]
lea r14, [0x180000000]
cmp ecx, dword [r14 + rax*4 + 0x7bc60]
jae 0x18005849c
mov rax, qword [r14 + rax*8 + 0x7bc48]
movzx ecx, word [rax + rcx*2]
jmp 0x1800584a8
mov ecx, r10d
jmp 0x1800584a8
mov r9d, ecx
mov dword [rsp + 0x68], ecx
inc edx
cmp edx, 0xed
jb 0x180058445
jmp 0x180058440
xor ebx, ebx
mov r9, r15
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov dword [rsp + 0x30], 0x55
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov edi, SHSetInstanceExplorer
call fcn.18002b580
movzx r12d, byte [rsp + 0x40]
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x78], ebx
mov ecx, dword [rsp + 0x60]
mov r13d, dword [rbp - 0x6c]
inc edi
mov r11, qword [rbp - 0x78]
mov r9d, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
mov r8d, dword [rbp - 0x38]
mov r10d, dword [rsp + 0x58]
jmp 0x180057be5