Function at 0x1400a3310
Capabilities:
Set current directory

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0xa28]
sub rsp, 0xb28
mov ebx, dword [rcx + 0x16f4]
mov rsi, rcx
mov rcx, qword [rcx + 0x1240]
mov rdi, rdx
mov rax, qword [rcx]
call qword [rax + 0x28]
test al, al
je 0x1400a3357
mov rcx, qword [rsi + 0x1240]
add rcx, 0x720
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov ebx, eax
mov qword [rsp + 0xb50], r12
mov qword [rsp + 0xb58], r13
mov qword [rsp + 0xb60], r14
mov qword [rsp + 0xb20], r15
cmp ebx, 0xffffffff
je 0x1400a38e9
mov rcx, qword [rsi + 0x1248]
mov r14d, dword [rsi + 0x16f8]
mov rdx, qword [rcx]
call qword [rdx + 0x28]
test al, al
je 0x1400a33af
mov rcx, qword [rsi + 0x1248]
add rcx, 0x720
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov r14d, eax
cmp r14d, 0xffffffff
je 0x1400a38e9
call fcn.14008f210
xor r13d, r13d
mov ecx, r13d
mov rdx, qword [rax + 0x30]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1400a33dc
mov rax, qword [rax]
test rax, rax
je 0x1400a33dc
mov rcx, qword [rax]
movsxd r8, ebx
add r8, rdx
test rcx, rcx
je 0x1400a33fc
mov rax, qword [rcx]
test rax, rax
je 0x1400a33fc
mov rax, qword [rax]
test rax, rax
je 0x1400a33fc
mov rax, qword [rax]
jmp 0x1400a33ff
mov rax, r13
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 8]
dec rcx
and rcx, r8
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx]
mov rcx, r13
mov rdx, qword [rax + 0xa0]
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1400a3435
mov rax, qword [rax]
test rax, rax
je 0x1400a3435
mov rcx, qword [rax]
movsxd rax, r14d
add rdx, rax
test rcx, rcx
je 0x1400a3455
mov rax, qword [rcx]
test rax, rax
je 0x1400a3455
mov rax, qword [rax]
test rax, rax
je 0x1400a3455
mov rax, qword [rax]
jmp 0x1400a3458
mov rax, r13
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 8]
dec rcx
and rcx, rdx
mov r14, qword [rax + rcx*8]
test rdi, rdi
je 0x1400a4aa8
lea rdx, [rbp + 0x360]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], 8
jb 0x1400a348f
mov r8, qword [rax]
mov r15d, 8
cmp qword [rax + 0x10], r15
jne 0x1400a34c8
lea rcx, str.add_file
mov edx, r15d
sub r8, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400a34c8
add rcx, 2
sub rdx, 1
jne 0x1400a34b0
mov bl, 1
jmp 0x1400a34ca
xor bl, bl
mov rdx, qword [rbp + 0x378]
cmp rdx, r15
jb 0x1400a350f
mov rcx, qword [rbp + 0x360]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a350a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4abb
call fcn.14017b7ac
test bl, bl
je 0x1400a3917
mov rax, qword [r14]
cmp dword [rax + 8], r13d
je 0x1400a3567
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d7018]
mov r8d, 0xa
mov word [rbp + 0x1e0], r13w
lea rcx, [rbp + 0x1e0]
movdqu xmmword [rbp + 0x1f0], xmm0
call fcn.140003280
lea rdx, [rbp + 0x1e0]
mov rcx, rsi
call fcn.1400ce070
mov al, 1
jmp 0x1400a38eb
xor edx, edx
lea rcx, [rbp + 0x810]
mov r8d, 0x208
call sub.msvcrt.dll_memset
xor edx, edx
lea rcx, [rbp + 0x480]
mov r8d, reloc.SHELL32.dll_ILGetSize
call sub.msvcrt.dll_memset
mov rcx, rsi
call fcn.140026de0
mov qword [rbp + 0x488], rax
lea rcx, [rbp + 0x480]
lea rax, str._b_tg
mov dword [rbp + 0x480], reloc.SHELL32.dll_ILGetSize
mov qword [rbp + 0x498], rax
lea rax, [rbp + 0x810]
mov qword [rbp + 0x4b0], rax
mov dword [rbp + 0x4ac], 1
mov dword [rbp + 0x4b8], 0x104
mov dword [rbp + 0x4e0], 0x181800
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
test eax, eax
je 0x1400a3843
movdqa xmm0, xmmword [0x1401f8bd0]
lea rax, [rbp + 0x810]
mov rdi, 0xffffffffffffffff
mov word [rbp + 0x150], r13w
movdqu xmmword [rbp + 0x160], xmm0
mov r8, rdi
inc r8
cmp word [rax + r8*2], r13w
jne 0x1400a3620
lea rdx, [rbp + 0x810]
lea rcx, [rbp + 0x150]
call fcn.140003280
lea r8, [rbp + 0x150]
mov rcx, rsi
lea rdx, [rsp + 0x60]
call fcn.1400a0890
mov rdx, qword [rbp + 0x168]
cmp rdx, r15
jb 0x1400a3696
mov rcx, qword [rbp + 0x150]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3691
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ac1
call fcn.14017b7ac
cmp qword [rsp + 0x60], r13
je 0x1400a3812
call fcn.14008f210
mov rcx, rax
lea r8, [rsp + 0x60]
mov rdx, r14
call fcn.1400843f0
test al, al
je 0x1400a38b8
mov rbx, qword [rsp + 0x60]
mov ecx, dword [rbx + 0x1c]
lea eax, [rcx - 4]
cmp eax, 1
ja 0x1400a36de
lea rdx, [rbx + 0x98]
lea rcx, [rbp + 0x520]
jmp 0x1400a372e
cmp qword [rbx + 0xa8], r13
jbe 0x1400a36f7
lea rdx, [rbx + 0x98]
lea rcx, [rbp + 0x540]
jmp 0x1400a372e
cmp ecx, 7
jne 0x1400a3723
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401ed8f0]
xor r8d, r8d
mov word [rbp - 0x80], r13w
lea rcx, [rbp - 0x80]
movdqu xmmword [rbp - 0x70], xmm0
call fcn.140003280
jmp 0x1400a373f
lea rdx, [rbx + 0x60]
lea rcx, [rbp + 0x560]
call fcn.140003610
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14007e6c0
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.1400894e0
mov rbx, rax
call fcn.14008f190
mov rcx, rax
lea rdx, [rbp - 0x80]
mov r8, rbx
call fcn.14007c300
mov rdx, qword [rbp - 0x68]
test al, al
sete bl
cmp rdx, r15
jb 0x1400a37a9
mov rcx, qword [rbp - 0x80]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a37a4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ac7
call fcn.14017b7ac
mov rdx, qword [rbp + 0x2b8]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp - 0x80], r13w
movdqu xmmword [rbp - 0x70], xmm0
cmp rdx, r15
jb 0x1400a3800
mov rcx, qword [rbp + 0x2a0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a37fb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ac7
call fcn.14017b7ac
test bl, bl
jne 0x1400a38b8
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400a3843
mov eax, edi
lock xadd dword [rbx + 8], eax
sub eax, 1
jne 0x1400a3843
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400a3843
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rcx, [rbp + 0x170]
call fcn.14007e5b0
cmp qword [rbp + 0x188], r15
lea rcx, [rbp + 0x170]
cmovae rcx, qword [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rbp + 0x188]
cmp rdx, r15
jb 0x1400a4aa8
mov rcx, qword [rbp + 0x170]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3fec
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ab5
jmp 0x1400a3fec
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400a38e9
mov eax, edi
lock xadd dword [rbx + 8], eax
sub eax, 1
jne 0x1400a38e9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400a38e9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
xor al, al
mov r15, qword [rsp + 0xb20]
mov r14, qword [rsp + 0xb60]
mov r13, qword [rsp + 0xb58]
mov r12, qword [rsp + 0xb50]
add rsp, 0xb28
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rbp + 0x2c0]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], r15
jb 0x1400a3932
mov r8, qword [rax]
mov ebx, 7
cmp qword [rax + 0x10], rbx
jne 0x1400a3969
lea rcx, str.add_dir
mov edx, ebx
sub r8, rcx
nop dword [rax]
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1400a3969
add rcx, 2
sub rdx, 1
jne 0x1400a3950
mov r12b, 1
jmp 0x1400a396c
xor r12b, r12b
mov rdx, qword [rbp + 0x2d8]
cmp rdx, r15
jb 0x1400a39b1
mov rcx, qword [rbp + 0x2c0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a39ac
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4acd
call fcn.14017b7ac
test r12b, r12b
je 0x1400a3d8f
mov rax, qword [r14]
cmp dword [rax + 8], r13d
je 0x1400a3a0a
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d7018]
mov r8d, 0xa
mov word [rbp + 0x200], r13w
lea rcx, [rbp + 0x200]
movdqu xmmword [rbp + 0x210], xmm0
call fcn.140003280
lea rdx, [rbp + 0x200]
mov rcx, rsi
call fcn.1400ce070
mov al, 1
jmp 0x1400a38eb
xor eax, eax
lea rcx, [rbp + 0x600]
xor edx, edx
mov qword [rbp + 0x110], rax
mov r8d, 0x104
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], rax
call sub.msvcrt.dll_memset
mov rcx, rsi
call fcn.140026de0
mov qword [rbp + 0x110], rax
lea rcx, [rbp + 0x110]
lea rax, [rbp + 0x600]
mov dword [rbp + 0x130], 0x50
mov qword [rbp + 0x120], rax
lea rax, [0x1401d7040]
mov qword [rbp + 0x128], rax
call qword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
test rax, rax
je 0x1400a38e9
lea rdx, [rbp + 0x600]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
movdqa xmm0, xmmword [0x1401f8bd0]
lea rax, [rbp + 0x600]
mov rdi, 0xffffffffffffffff
mov word [rbp + 0x190], r13w
movdqu xmmword [rbp + 0x1a0], xmm0
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], r13w
jne 0x1400a3ae0
lea rdx, [rbp + 0x600]
lea rcx, [rbp + 0x190]
call fcn.140003280
lea r8, [rbp + 0x190]
mov rcx, rsi
lea rdx, [rsp + 0x70]
call fcn.1400a0890
mov rdx, qword [rbp + 0x1a8]
cmp rdx, r15
jb 0x1400a3b56
mov rcx, qword [rbp + 0x190]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3b51
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ad3
call fcn.14017b7ac
cmp qword [rsp + 0x70], r13
je 0x1400a3cd2
call fcn.14008f210
mov rcx, rax
lea r8, [rsp + 0x70]
mov rdx, r14
call fcn.1400843f0
test al, al
je 0x1400a3d85
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rbx + 0x1c]
lea eax, [rcx - 4]
cmp eax, 1
ja 0x1400a3b9e
lea rdx, [rbx + 0x98]
lea rcx, [rbp + 0x580]
jmp 0x1400a3bee
cmp qword [rbx + 0xa8], r13
jbe 0x1400a3bb7
lea rdx, [rbx + 0x98]
lea rcx, [rbp + 0x5a0]
jmp 0x1400a3bee
cmp ecx, 7
jne 0x1400a3be3
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401ed8f0]
xor r8d, r8d
mov word [rbp - 0x60], r13w
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x50], xmm0
call fcn.140003280
jmp 0x1400a3bff
lea rdx, [rbx + 0x60]
lea rcx, [rbp + 0x5c0]
call fcn.140003610
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14007e6c0
lea rdx, [rbp + 0x2e0]
mov rcx, rbx
call fcn.1400894e0
mov rbx, rax
call fcn.14008f190
mov rcx, rax
lea rdx, [rbp - 0x60]
mov r8, rbx
call fcn.14007c300
mov rdx, qword [rbp - 0x48]
test al, al
sete bl
cmp rdx, r15
jb 0x1400a3c69
mov rcx, qword [rbp - 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3c64
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ad9
call fcn.14017b7ac
mov rdx, qword [rbp + 0x2f8]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp - 0x60], r13w
movdqu xmmword [rbp - 0x50], xmm0
cmp rdx, r15
jb 0x1400a3cc0
mov rcx, qword [rbp + 0x2e0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3cbb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ad9
call fcn.14017b7ac
test bl, bl
jne 0x1400a3d85
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
lea rcx, [rbp - 0x10]
call fcn.14007e5b0
cmp qword [rbp + 8], r15
lea rcx, [rbp - 0x10]
cmovae rcx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rbp + 8]
cmp rdx, r15
jb 0x1400a3d2d
mov rcx, qword [rbp - 0x10]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3d28
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4adf
call fcn.14017b7ac
mov rbx, qword [rsp + 0x78]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp - 0x10], r13w
movdqu xmmword [rbp], xmm0
test rbx, rbx
je 0x1400a4aa8
mov eax, edi
lock xadd dword [rbx + 8], eax
sub eax, 1
jne 0x1400a4aa8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400a4aa8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
movzx eax, dil
jmp 0x1400a38eb
mov rbx, qword [rsp + 0x78]
jmp 0x1400a38bd
lea rdx, [rbp + 0x300]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], r15
jb 0x1400a3daa
mov r8, qword [rax]
cmp qword [rax + 0x10], rbx
jne 0x1400a3dd9
lea rcx, str.add_url
mov rdx, rbx
sub r8, rcx
nop dword [rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400a3dd9
add rcx, 2
sub rdx, 1
jne 0x1400a3dc0
mov r12b, 1
jmp 0x1400a3ddc
xor r12b, r12b
mov rdx, qword [rbp + 0x318]
cmp rdx, r15
jb 0x1400a3e21
mov rcx, qword [rbp + 0x300]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3e1c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4ae5
call fcn.14017b7ac
test r12b, r12b
je 0x1400a3ff8
mov rax, qword [r14]
movdqa xmm0, xmmword [0x1401f8bd0]
cmp dword [rax + 8], r13d
je 0x1400a3e7a
mov r8d, 0xa
mov word [rbp + 0x220], r13w
lea rdx, [0x1401d7018]
lea rcx, [rbp + 0x220]
movdqu xmmword [rbp + 0x230], xmm0
call fcn.140003280
lea rdx, [rbp + 0x220]
mov rcx, rsi
call fcn.1400ce070
mov al, 1
jmp 0x1400a38eb
xor r8d, r8d
mov word [rbp + 0x1b0], r13w
lea rdx, [0x1401ed8f0]
lea rcx, [rbp + 0x1b0]
movdqu xmmword [rbp + 0x1c0], xmm0
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401ed8f0]
xor r8d, r8d
mov word [rbp + 0x30], r13w
lea rcx, [rbp + 0x30]
movdqu xmmword [rbp + 0x40], xmm0
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401ed8f0]
xor r8d, r8d
mov word [rbp + 0x10], r13w
lea rcx, [rbp + 0x10]
movdqu xmmword [rbp + 0x20], xmm0
call fcn.140003280
lea rcx, [rsi + 0x350]
mov rax, qword [rcx]
lea r9, [rbp + 0x1b0]
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x10]
call qword [rax + 0x48]
mov rdx, qword [rbp + 0x28]
cmp rdx, r15
jb 0x1400a3f45
mov rcx, qword [rbp + 0x10]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3f40
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4aeb
call fcn.14017b7ac
mov rdx, qword [rbp + 0x48]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp + 0x10], r13w
movdqu xmmword [rbp + 0x20], xmm0
cmp rdx, r15
jb 0x1400a3f96
mov rcx, qword [rbp + 0x30]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3f91
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4aeb
call fcn.14017b7ac
mov rdx, qword [rbp + 0x1c8]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp + 0x30], r13w
movdqu xmmword [rbp + 0x40], xmm0
cmp rdx, r15
jb 0x1400a4aa8
mov rcx, qword [rbp + 0x1b0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3fec
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4aeb
call fcn.14017b7ac
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x320]
mov rcx, rdi
call fcn.14002e2b0
mov rdx, rax
cmp qword [rax + 0x18], r15
jb 0x1400a4013
mov rdx, qword [rax]
cmp qword [rax + 0x10], rbx
jne 0x1400a403a
lea rcx, str.add_sys
sub rdx, rcx
movzx eax, word [rcx]
cmp word [rdx + rcx], ax
jne 0x1400a403a
add rcx, 2
sub rbx, 1
jne 0x1400a4023
mov bl, 1
jmp 0x1400a403c
xor bl, bl
mov rdx, qword [rbp + 0x338]
cmp rdx, r15
jb 0x1400a4081
mov rcx, qword [rbp + 0x320]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a407c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4af1
call fcn.14017b7ac
test bl, bl
je 0x1400a4535
mov rax, qword [r14]
cmp dword [rax + 8], r13d
je 0x1400a40d9
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d7018]
mov r8d, 0xa
mov word [rbp + 0x240], r13w
lea rcx, [rbp + 0x240]
movdqu xmmword [rbp + 0x250], xmm0
call fcn.140003280
lea rdx, [rbp + 0x240]
mov rcx, rsi
call fcn.1400ce070
mov al, 1
jmp 0x1400a38eb
mov ecx, 0x378
call fcn.14017b770
mov rdi, rax
test rax, rax
je 0x1400a414a
lea rax, [0x1401d4d28]
xor edx, edx
mov qword [rdi + 8], rax
mov rcx, rdi
lea rax, vtable.nbase::SupportWeakCallback.0
mov qword [rdi + 0x360], rax
mov qword [rdi + 0x368], r13
mov qword [rdi + 0x370], r13
call fcn.14003f800
lea rax, vtable.CSysWnd.0
mov qword [rdi], rax
lea rax, vtable.CSysWnd.1.0
mov qword [rdi + 0x348], rax
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
lea rax, vtable.CSysWnd.2.0
mov qword [rcx + rdi + 8], rax
jmp 0x1400a414d
mov rdi, r13
mov qword [rsi + 0x1278], rdi
lea rdx, [rbp + 0x340]
mov rax, qword [rdi]
xorps xmm0, xmm0
mov rcx, rdi
movdqu xmmword [rbp + 0x1d0], xmm0
call qword [rax]
mov r15, rax
cmp qword [rax + 0x18], 8
jb 0x1400a417b
mov r15, qword [rax]
mov rbx, qword [rdi]
mov rcx, rsi
call fcn.140026de0
mov rdx, rax
mov r9d, 0x80000000
lea rax, [rbp + 0x1d0]
mov r8, r15
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x80
call qword [rbx + ILCombine]
mov rdx, qword [rbp + 0x358]
cmp rdx, 8
jb 0x1400a41f7
mov rcx, qword [rbp + 0x340]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a41f2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4aaf
call fcn.14017b7ac
mov rcx, rdi
call fcn.140027650
mov rcx, rdi
call fcn.1400274c0
mov rcx, rdi
cmp eax, 1
je 0x1400a4222
call fcn.1400a32c0
mov al, 1
mov qword [rsi + 0x1278], r13
jmp 0x1400a38eb
movsxd rbx, dword [rdi + 0x350]
call fcn.1400a32c0
mov qword [rsi + 0x1278], r13
cmp ebx, 0x22
ja 0x1400a4aa8
movdqa xmm0, xmmword [0x1401f8bd0]
lea rax, [0x1402264a0]
imul rbx, rbx, 0x38
movdqu xmmword [rbp + 0x100], xmm0
mov rdi, 0xffffffffffffffff
mov word [rbp + 0xf0], r13w
add rbx, rax
mov r8, rdi
mov rdx, qword [rbx + 0x28]
inc r8
cmp word [rdx + r8*2], r13w
jne 0x1400a4272
lea rcx, [rbp + 0xf0]
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401ed8f0]
xor r8d, r8d
mov word [rbp + 0xd0], r13w
lea rcx, [rbp + 0xd0]
movdqu xmmword [rbp + 0xe0], xmm0
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401ed8f0]
xor r8d, r8d
mov word [rbp + 0xb0], r13w
lea rcx, [rbp + 0xb0]
movdqu xmmword [rbp + 0xc0], xmm0
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
mov r8, rdi
mov rdx, qword [rbx + 0x20]
movdqu xmmword [rbp + 0xa0], xmm0
mov word [rbp + 0x90], r13w
inc r8
cmp word [rdx + r8*2], r13w
jne 0x1400a4303
lea rcx, [rbp + 0x90]
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
mov r8, rdi
mov rdx, qword [rbx + 0x10]
movdqu xmmword [rbp + 0x80], xmm0
mov word [rbp + 0x70], r13w
inc r8
cmp word [rdx + r8*2], r13w
jne 0x1400a4335
lea rcx, [rbp + 0x70]
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
mov r8, rdi
mov rdx, qword [rbx + 0x18]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r13w
inc r8
cmp word [rdx + r8*2], r13w
jne 0x1400a4361
lea rcx, [rbp + 0x50]
call fcn.140003280
movdqa xmm0, xmmword [0x1401f8bd0]
mov rdx, qword [rbx + 8]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], r13w
nop word [rax + rax]
inc rdi
cmp word [rdx + rdi*2], r13w
jne 0x1400a4390
mov r8, rdi
lea rcx, [rbp - 0x30]
call fcn.140003280
mov r8d, dword [rbx]
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x50], rax
lea r9, [rbp - 0x30]
lea rax, [rbp + 0xd0]
mov rcx, rsi
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x40]
mov byte [rsp + 0x40], r13b
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1400b24e0
mov r8, qword [rbp - 0x18]
cmp r8, 8
jb 0x1400a441a
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp - 0x30]
inc r8
call fcn.140003490
mov r8, qword [rbp + 0x68]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp - 0x30], r13w
movdqu xmmword [rbp - 0x20], xmm0
cmp r8, 8
jb 0x1400a4446
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x50]
inc r8
call fcn.140003490
mov r8, qword [rbp + 0x88]
cmp r8, 8
jb 0x1400a4463
mov rdx, qword [rbp + 0x70]
lea rcx, [rbp + 0x70]
inc r8
call fcn.140003490
mov r8, qword [rbp + 0xa8]
cmp r8, 8
jb 0x1400a4486
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x90]
inc r8
call fcn.140003490
mov r8, qword [rbp + 0xc8]
cmp r8, 8
jb 0x1400a44a9
mov rdx, qword [rbp + 0xb0]
lea rcx, [rbp + 0xb0]
inc r8
call fcn.140003490
mov r8, qword [rbp + 0xe8]
cmp r8, 8
jb 0x1400a44cc
mov rdx, qword [rbp + 0xd0]
lea rcx, [rbp + 0xd0]
inc r8
call fcn.140003490
mov r8, qword [rbp + 0x108]
cmp r8, 8
jb 0x1400a44ef
mov rdx, qword [rbp + 0xf0]
lea rcx, [rbp + 0xf0]
inc r8
call fcn.140003490
cmp qword [rbp - 0x40], r13
je 0x1400a4525
call fcn.14008f210
mov rcx, rax
lea r8, [rbp - 0x40]
mov rdx, r14
call fcn.1400843f0
test al, al
jne 0x1400a451b
lea rcx, [rbp - 0x40]
call fcn.140008ee0
jmp 0x1400a38e9
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
lea rcx, [rbp - 0x40]
call fcn.140008ee0
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x260]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], r15
jb 0x1400a4550
mov r8, qword [rax]
mov ebx, 0xa
cmp qword [rax + 0x10], rbx
jne 0x1400a4589
lea rcx, str.small_icon
mov edx, ebx
sub r8, rcx
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400a4589
add rcx, 2
sub rdx, 1
jne 0x1400a4570
mov r12b, 1
jmp 0x1400a458c
xor r12b, r12b
mov r8, qword [rbp + 0x278]
cmp r8, r15
jb 0x1400a45ae
mov rdx, qword [rbp + 0x260]
lea rcx, [rbp + 0x260]
inc r8
call fcn.140003490
test r12b, r12b
je 0x1400a45de
mov rax, qword [r14]
mov dword [rax + 0x7c], 1
call fcn.14008f210
mov rcx, rax
mov rdx, r14
call fcn.14008fa00
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x280]
mov rcx, rdi
call fcn.14002e2b0
mov rdx, rax
cmp qword [rax + 0x18], r15
jb 0x1400a45f9
mov rdx, qword [rax]
cmp qword [rax + 0x10], r15
jne 0x1400a4628
lea rcx, str.big_icon
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
cmp word [rdx + rcx], ax
jne 0x1400a4628
add rcx, 2
sub r15, 1
jne 0x1400a4610
mov r15b, 1
jmp 0x1400a462b
xor r15b, r15b
mov r8, qword [rbp + 0x298]
cmp r8, 8
jb 0x1400a464e
mov rdx, qword [rbp + 0x280]
lea rcx, [rbp + 0x280]
inc r8
call fcn.140003490
test r15b, r15b
je 0x1400a465f
mov rax, qword [r14]
mov dword [rax + 0x7c], r13d
jmp 0x1400a45bd
lea rdx, [rbp + 0x460]
mov rcx, rdi
call fcn.14002e2b0
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1400a467b
mov rdx, qword [rax]
cmp qword [rax + 0x10], rbx
jne 0x1400a46a7
lea rcx, str.large_icon
sub rdx, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [rdx + rcx], ax
jne 0x1400a46a7
add rcx, 2
sub rbx, 1
jne 0x1400a4690
mov bl, 1
jmp 0x1400a46a9
xor bl, bl
lea rcx, [rbp + 0x460]
call fcn.1400034d0
test bl, bl
je 0x1400a46c8
mov rax, qword [r14]
mov dword [rax + 0x7c], 2
jmp 0x1400a45bd
lea rdx, [rbp + 0x380]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], 8
jb 0x1400a46e4
mov r8, qword [rax]
mov ebx, 9
cmp qword [rax + 0x10], rbx
jne 0x1400a4719
lea rcx, str.view_list
mov edx, ebx
sub r8, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400a4719
add rcx, 2
sub rdx, 1
jne 0x1400a4700
mov r15b, 1
jmp 0x1400a471c
xor r15b, r15b
lea rcx, [rbp + 0x380]
call fcn.1400034d0
test r15b, r15b
je 0x1400a473c
mov rax, qword [r14]
mov dword [rax + 0x78], 1
jmp 0x1400a45bd
lea rdx, [rbp + 0x3a0]
mov rcx, rdi
call fcn.14002e2b0
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1400a4758
mov rdx, qword [rax]
cmp qword [rax + 0x10], rbx
jne 0x1400a4787
lea rcx, str.view_tile
sub rdx, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [rcx + rdx], ax
jne 0x1400a4787
add rcx, 2
sub rbx, 1
jne 0x1400a4770
mov bl, 1
jmp 0x1400a4789
xor bl, bl
lea rcx, [rbp + 0x3a0]
call fcn.1400034d0
test bl, bl
je 0x1400a47a5
mov rax, qword [r14]
mov dword [rax + 0x78], r13d
jmp 0x1400a45bd
lea rdx, [rbp + 0x3c0]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], 8
jb 0x1400a47c1
mov r8, qword [rax]
mov ebx, 0xb
cmp qword [rax + 0x10], rbx
jne 0x1400a47f9
lea rcx, str.sort_normal
mov edx, ebx
sub r8, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1400a47f9
add rcx, 2
sub rdx, 1
jne 0x1400a47e0
mov r15b, 1
jmp 0x1400a47fc
xor r15b, r15b
lea rcx, [rbp + 0x3c0]
call fcn.1400034d0
test r15b, r15b
je 0x1400a4831
call fcn.14008f210
mov rcx, rax
xor r8d, r8d
mov rdx, r14
call fcn.14008f0a0
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x3e0]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], 8
jb 0x1400a484d
mov r8, qword [rax]
cmp qword [rax + 0x10], 0xd
jne 0x1400a487c
lea rcx, str.sort_runcount
mov edx, InitCommonControls
sub r8, rcx
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1400a487c
add rcx, 2
sub rdx, 1
jne 0x1400a4863
mov r15b, 1
jmp 0x1400a487f
xor r15b, r15b
lea rcx, [rbp + 0x3e0]
call fcn.1400034d0
test r15b, r15b
je 0x1400a48b7
call fcn.14008f210
mov rcx, rax
mov r8d, 1
mov rdx, r14
call fcn.14008f0a0
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x400]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], 8
jb 0x1400a48d3
mov r8, qword [rax]
cmp qword [rax + 0x10], 0xc
jne 0x1400a4909
lea rcx, str.sort_initial
mov edx, 0xc
sub r8, rcx
nop dword [rax]
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1400a4909
add rcx, 2
sub rdx, 1
jne 0x1400a48f0
mov r15b, 1
jmp 0x1400a490c
xor r15b, r15b
lea rcx, [rbp + 0x400]
call fcn.1400034d0
test r15b, r15b
je 0x1400a4944
call fcn.14008f210
mov rcx, rax
mov r8d, 2
mov rdx, r14
call fcn.14008f0a0
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x420]
mov rcx, rdi
call fcn.14002e2b0
mov r8, rax
cmp qword [rax + 0x18], 8
jb 0x1400a4960
mov r8, qword [rax]
cmp qword [rax + 0x10], 0x12
jne 0x1400a498f
lea rcx, str.refresh_group_icon
mov edx, 0x12
sub r8, rcx
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1400a498f
add rcx, 2
sub rdx, 1
jne 0x1400a4976
mov r15b, 1
jmp 0x1400a4992
xor r15b, r15b
lea rcx, [rbp + 0x420]
call fcn.1400034d0
test r15b, r15b
je 0x1400a49c4
call fcn.14008f210
mov rcx, rax
mov rdx, r14
call fcn.14008d720
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov al, 1
jmp 0x1400a38eb
lea rdx, [rbp + 0x440]
mov rcx, rdi
call fcn.14002e2b0
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1400a49e0
mov rdx, qword [rax]
cmp qword [rax + 0x10], rbx
jne 0x1400a4a07
lea rcx, str.clear_group
sub rdx, rcx
movzx eax, word [rcx]
cmp word [rcx + rdx], ax
jne 0x1400a4a07
add rcx, 2
sub rbx, 1
jne 0x1400a49f0
mov bl, 1
jmp 0x1400a4a09
xor bl, bl
lea rcx, [rbp + 0x440]
call fcn.1400034d0
test bl, bl
je 0x1400a4aa8
mov rax, qword [r14]
cmp dword [rax + 8], r13d
je 0x1400a4a4b
lea rdx, [0x1401d7108]
lea rcx, [rbp + 0x5e0]
call fcn.140003410
mov rdx, rax
mov rcx, rsi
call fcn.1400ce070
mov al, 1
jmp 0x1400a38eb
call fcn.14008f2f0
cmp byte [rax + 0x50], r13b
je 0x1400a4a8e
mov rcx, rsi
mov byte [rsi + 0x12c8], 1
call fcn.140026de0
mov rcx, rax
lea r8, [0x1401d6c9c]
mov r9d, 0x31
lea rdx, [0x1401d6ca8]
call qword [sym.imp.USER32.dll_MessageBoxW]
mov byte [rsi + 0x12c8], r13b
cmp eax, 1
jne 0x1400a4aa8
call fcn.14008f210
mov rcx, rax
mov rdx, r14
call fcn.140088db0
xor edx, edx
mov rcx, rsi
call fcn.1400c3510
mov al, 1
jmp 0x1400a38eb
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3