Function at 0x14009ece0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x330]
sub rsp, 0x430
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x480], rbx
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rbp + 0x320], rax
mov qword [rbp - 0x20], r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov rsi, qword [rbp + 0x390]
mov qword [rbp - 0x48], rsi
xor r14d, r14d
mov dword [rsp + 0x78], r14d
mov qword [rbp - 0x40], r14
cmp byte [rsi + 5], r14b
je 0x14009ed51
xor ecx, ecx
call fcn.1401acba0
mov qword [rbp - 0x40], rax
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rdi
mov dword [rbp], 0x2008
lea rax, [0x1400a35c0]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], rbx
mov edx, 0x64
mov rcx, rbx
call qword [sym.imp.USER32.dll_LoadIconW]
mov qword [rbp + 0x20], rax
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov qword [rbp + 0x28], rax
mov ecx, 4
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 0x5dc
lea rbx, [0x140217680]
mov qword [rbp + 0x40], rbx
movzx eax, byte [rsi + 4]
mov byte [r15 + 0x98430], al
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x1400a02a3
call fcn.14000c990
mov r12, rax
mov qword [rbp - 0x18], rax
cmp byte [rsi], r14b
je 0x14009edf7
mov byte [r15 + 0x97ba0], 1
movzx ecx, byte [rsi + 2]
mov byte [rax + 0xd7], cl
mov ecx, InitCommonControls
mov eax, 0x400010
cmp byte [r15 + 0x4a4], r14b
cmovne ecx, eax
mov qword [rsp + 0x58], r15
mov rax, qword [r15 + 8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r14
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
mov r9d, 0x2cf0000
lea r8, [0x1401e4030]
mov rdx, rbx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbp - 0x10], rax
mov qword [r15 + 0x18], rax
test rax, rax
je 0x1400a02ca
mov qword [rbp + 0x58], rax
mov rcx, rax
call qword [sym.imp.USER32.dll_LockWindowUpdate]
nop
lea rcx, [r15 + 0x20]
call fcn.14009b170
mov rax, qword [r15 + 0x18]
mov qword [0x1402bf1e0], rax
mov edi, 3
cmp byte [rsi + 0x1c], 0
je 0x14009eed1
cmp byte [rsi + 0x1d], 0
je 0x14009eed1
mov dword [rsp + 0x28], 1
mov eax, dword [r12 + 0xc0]
mov dword [rsp + 0x20], eax
mov r9d, dword [r12 + 0xbc]
mov r8d, dword [rsi + 0x18]
mov edx, dword [rsi + 0x14]
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_MoveWindow]
jmp 0x14009ef6b
mov qword [rbp + 0x110], 0x2c
cmp byte [r15 + 0x98430], 0
je 0x14009eeef
mov dword [rbp + 0x118], r14d
jmp 0x14009ef10
mov eax, 1
cmp byte [r12 + 0xd4], 0
cmovne eax, edi
mov dword [rbp + 0x118], eax
nop word [rax + rax]
movdqa xmm0, xmmword [0x140217660]
movdqu xmmword [rbp + 0x11c], xmm0
mov edx, dword [r12 + 0xb4]
mov dword [rbp + 0x12c], edx
mov ecx, dword [r12 + 0xb8]
mov dword [rbp + 0x130], ecx
add ecx, dword [r12 + 0xc0]
mov dword [rbp + 0x138], ecx
mov ecx, dword [r12 + 0xbc]
add ecx, edx
mov dword [rbp + 0x134], ecx
lea rdx, [rbp + 0x110]
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SetWindowPlacement]
test byte [r12 + 0x98], 0x80
je 0x14009ef8e
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xac0c
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [r12 + 0x96], 0
jne 0x14009efa5
xor edx, edx
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SetMenu]
cmp byte [rsi + 3], 0
jne 0x14009efb9
test dword [r12 + 0x98], 0x100
je 0x14009efe7
mov ebx, dword [r12 + 0x98]
mov r9d, 1
xor r8d, r8d
mov edx, 0x81b
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [rsi + 3], 0
je 0x14009efe7
mov dword [r12 + 0x98], ebx
cmp byte [rsi + 6], 0
je 0x14009f005
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xac02
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [r12 + 0xd6], 0
je 0x14009f024
cmp byte [r12 + 0xd7], 0
jne 0x14009f024
lea rcx, [r15 + 0x20]
call fcn.1400c8460
cmp byte [r12 + 0x32fd8], 0
jne 0x14009f0d4
cmp byte [r12 + 0x32fd9], 0
jne 0x14009f0d4
cmp byte [rsi + 4], 0
jne 0x14009f06e
cmp byte [rsi + 0x1c], 0
je 0x14009f05b
cmp byte [rsi + 0x1d], 0
je 0x14009f05b
mov edx, 5
jmp 0x14009f0d6
mov edx, 5
cmp byte [r12 + 0xd4], 0
cmovne edx, edi
jmp 0x14009f0d6
mov ecx, 0x3d8
call fcn.140181288
mov rbx, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14009f0be
mov edx, 0x64
mov rcx, qword [r15 + 8]
call qword [sym.imp.USER32.dll_LoadIconW]
lea rcx, [0x1401e6278]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9d, 0x436
mov r8d, 0x64
mov rdx, qword [r15 + 0x18]
mov rcx, rbx
call fcn.14013ce80
jmp 0x14009f0c1
mov rax, r14
mov qword [r15 + 0x97ac8], rax
xor edx, edx
mov rcx, rax
call fcn.14013cee0
jmp 0x14009f0e0
xor edx, edx
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_ShowWindow]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm1
mov word [rbp + 0x110], r14w
mov r8d, 5
lea rdx, [0x140217838]
lea rcx, [rbp + 0x110]
call fcn.140006d70
nop
mov rdx, qword [rbp - 0x58]
cmp qword [rbp - 0x50], rdx
je 0x14009f177
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], r14
movups xmm0, xmmword [rbp + 0x110]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x120]
movups xmmword [rdx + 0x10], xmm1
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r14w
add qword [rbp - 0x58], 0x20
jmp 0x14009f188
lea r8, [rbp + 0x110]
lea rcx, [rbp - 0x60]
call fcn.140001d70
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009f1ce
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f1c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a02f1
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r14w
lea rdx, [rbp + 0x1c0]
mov rcx, r12
call fcn.14003e600
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1b0], xmm0
mov rdi, qword [rbp + 0x1d0]
lea rsi, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 8
cmovae rsi, qword [rbp + 0x1c0]
cmp rdi, 8
jae 0x14009f23c
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b8], 7
jmp 0x14009f285
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x1a0]
call fcn.1400069a0
mov qword [rbp + 0x1a0], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14019f8d0
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x1b0], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm1
xor ebx, ebx
mov word [rbp + 0x110], bx
lea r8d, [rbx + 0xd]
lea rdx, str.localization_
lea rcx, [rbp + 0x110]
call fcn.140006d70
nop
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x140]
call fcn.140027b00
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009f328
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f323
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a02f7
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], bx
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009f385
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f380
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a02fd
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], bx
lea rdx, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 8
cmovae rdx, qword [rbp + 0x1a0]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x60]
lea rcx, [r15 + 0x20]
call fcn.14008e000
mov rdi, qword [rsp + 0x68]
mov rsi, rdi
mov rbx, qword [rsp + 0x60]
sub rsi, rbx
sar rsi, 5
test rsi, rsi
je 0x14009f415
xor edi, edi
nop word [rax + rax]
lea rdx, [rdi + rbx]
lea rcx, [r12 + 0x32f60]
call fcn.1400d4850
lea rdi, [rdi + 0x20]
sub rsi, 1
mov rbx, qword [rsp + 0x60]
jne 0x14009f3f0
mov rdi, qword [rsp + 0x68]
cmp rbx, rdi
je 0x14009f436
nop word [rax + rax]
mov rcx, rbx
call fcn.1400068d0
add rbx, 0x20
cmp rbx, rdi
jne 0x14009f420
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x68], rbx
lea r13, [r12 + 0x32fe0]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x190], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x190], xmm1
xor eax, eax
mov word [rbp + 0x180], ax
lea rdx, [r12 + 0x33198]
mov rax, rdx
mov rcx, qword [rdx + 0x18]
cmp rcx, 8
jb 0x14009f47f
mov rax, qword [rdx]
test rax, rax
je 0x14009f7bd
mov rax, rdx
cmp rcx, 8
jb 0x14009f494
mov rax, qword [rdx]
cmp word [rax], 0
je 0x14009f7bd
cmp rcx, 8
jb 0x14009f4a7
mov rdx, qword [rdx]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x14009f4b0
lea rcx, [rbp + 0x180]
call fcn.140006d70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm1
xor r12d, r12d
mov word [rbp + 0x110], r12w
lea r8d, [r12 + 7]
lea rdx, str.themes_
lea rcx, [rbp + 0x110]
call fcn.140006d70
nop
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x140]
call fcn.140027b00
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009f566
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f561
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0303
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], r12w
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009f5c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f5bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0309
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r12w
lea rdx, [rbp + 0x180]
cmp qword [rbp + 0x198], 8
cmovae rdx, qword [rbp + 0x180]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x60]
lea rcx, [r15 + 0x20]
call fcn.14008e000
mov rsi, r12
mov rdi, qword [rsp + 0x68]
mov r14, rdi
mov rbx, qword [rsp + 0x60]
sub r14, rbx
sar r14, 5
test r14, r14
je 0x14009f7c7
mov rdi, r12
add rbx, rdi
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009f642
mov r8, qword [rbx]
lea rdx, [rbp + 0x110]
mov rcx, r13
call fcn.1400e4530
nop
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], r12
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x150], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, rbx
lea rcx, [rbp + 0x160]
call fcn.140002f50
nop
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x14009f71d
mov qword [rbp - 0x80], rdx
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], r12
movaps xmm0, xmmword [rbp + 0x140]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rbp + 0x150]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], r12w
mov qword [rdx + 0x30], r12
mov qword [rdx + 0x38], r12
movaps xmm0, xmmword [rbp + 0x160]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x170]
movups xmmword [rdx + 0x30], xmm1
mov qword [rbp + 0x170], r12
mov qword [rbp + 0x178], 7
mov word [rbp + 0x160], r12w
add qword [r13 + 8], 0x40
jmp 0x14009f72d
lea r8, [rbp + 0x140]
mov rcx, r13
call fcn.14009e880
nop
lea rcx, [rbp + 0x160]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x140]
call fcn.1400068d0
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009f78d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f788
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a030f
call fcn.1401812c4
mov qword [rbp + 0x120], r12
mov qword [rbp + 0x128], 7
mov word [rbp + 0x110], r12w
inc rsi
add rdi, 0x20
cmp rsi, r14
jae 0x14009f7bd
mov rbx, qword [rsp + 0x60]
jmp 0x14009f632
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
cmp rbx, rdi
je 0x14009f7e6
nop dword [rax]
mov rcx, rbx
call fcn.1400068d0
add rbx, 0x20
cmp rbx, rdi
jne 0x14009f7d0
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x68], rbx
xor edi, edi
mov qword [rbp + 0x190], rdi
lea rax, [rbp + 0x180]
cmp qword [rbp + 0x198], 8
cmovae rax, qword [rbp + 0x180]
mov word [rax], di
lea rdx, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 8
cmovae rdx, qword [rbp + 0x1c0]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop
inc r8
cmp word [rdx + r8*2], di
jne 0x14009f830
lea rcx, [rbp + 0x180]
call fcn.140006d70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm1
mov word [rbp + 0x110], di
mov r8d, 7
lea rdx, str.themes_
lea rcx, [rbp + 0x110]
call fcn.140006d70
nop
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x140]
call fcn.140027b00
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009f8e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f8dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0315
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], di
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009f93f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009f93a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a031b
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], di
lea rdx, [rbp + 0x180]
cmp qword [rbp + 0x198], 8
cmovae rdx, qword [rbp + 0x180]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x60]
lea r14, [r15 + 0x20]
mov rcx, r14
call fcn.14008e000
mov r12, rdi
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
sub rcx, rax
sar rcx, 5
mov qword [rbp - 0x80], rcx
test rcx, rcx
je 0x14009fc65
mov r14, rdi
lea r8, [r14 + rax]
cmp qword [r8 + 0x18], 8
jb 0x14009f9be
mov r8, qword [r8]
lea rdx, [rbp + 0x110]
mov rcx, r13
call fcn.1400e4530
nop
lea r11, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae r11, qword [rbp + 0x110]
mov rbx, qword [r13]
mov rsi, qword [r13 + 8]
sub rsi, rbx
sar rsi, 6
test rsi, rsi
je 0x14009fa6c
nop dword [rax]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [r11 + rdx*2], 0
jne 0x14009fa10
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009fa28
mov r9, qword [rbx]
mov r10, qword [rbx + 0x10]
mov r8, r10
cmp rdx, r10
cmovb r8, rdx
mov rcx, r11
test r8, r8
je 0x14009fa55
sub r9, r11
movzx eax, word [rcx]
cmp word [r9 + rcx], ax
jne 0x14009fa60
add rcx, 2
sub r8, 1
jne 0x14009fa41
cmp r10, rdx
jb 0x14009fa60
jbe 0x14009fbe2
inc rdi
add rbx, 0x40
cmp rdi, rsi
jb 0x14009fa00
mov rbx, qword [rsp + 0x60]
add rbx, r14
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009fa81
mov r8, qword [rbx]
lea rdx, [rbp + 0x140]
mov rcx, r13
call fcn.1400e4530
nop
xor edi, edi
mov qword [rbp + 0x1f0], rdi
mov qword [rbp + 0x1f8], rdi
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x1e0], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x1f0], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov rdx, rbx
lea rcx, [rbp + 0x200]
call fcn.140002f50
nop
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x14009fb57
mov qword [rbp + 0x60], rdx
mov qword [rdx + 0x10], rdi
mov qword [rdx + 0x18], rdi
movaps xmm0, xmmword [rbp + 0x1e0]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rbp + 0x1f0]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 0x1f0], rdi
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], di
mov qword [rdx + 0x30], rdi
mov qword [rdx + 0x38], rdi
movaps xmm0, xmmword [rbp + 0x200]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x210]
movups xmmword [rdx + 0x30], xmm1
mov qword [rbp + 0x210], rdi
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], di
add qword [r13 + 8], 0x40
jmp 0x14009fb67
lea r8, [rbp + 0x1e0]
mov rcx, r13
call fcn.14009e880
nop
lea rcx, [rbp + 0x200]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x1e0]
call fcn.1400068d0
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009fbc7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009fbc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0321
call fcn.1401812c4
mov qword [rbp + 0x150], rdi
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], di
jmp 0x14009fbe4
xor edi, edi
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009fc2a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009fc25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0327
call fcn.1401812c4
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], 7
mov word [rbp + 0x110], di
inc r12
add r14, 0x20
cmp r12, qword [rbp - 0x80]
jae 0x14009fc5a
mov rax, qword [rsp + 0x60]
jmp 0x14009f9b0
mov rsi, 0xffffffffffffffff
lea r14, [r15 + 0x20]
mov rdi, qword [r15 + 0x1f0]
sub rdi, qword [r15 + 0x1e8]
sar rdi, 2
xor r12d, r12d
mov ebx, r12d
test rdi, rdi
je 0x14009fca7
mov rax, qword [r15 + 0x1e8]
movsxd r8, dword [rax + rbx*4]
xor r9d, r9d
mov edx, 0x111
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
inc rbx
cmp rbx, rdi
jb 0x14009fc82
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r12
mov r8, qword [rbp - 0x20]
test r8, r8
je 0x14009fd86
mov rdi, qword [rbp - 0x48]
movzx eax, byte [rdi + 1]
mov byte [rbp - 0x78], al
movzx eax, byte [rdi + 2]
mov byte [rbp - 0x77], al
movzx eax, byte [rdi + 0x1e]
mov byte [rbp - 0x76], al
movzx eax, byte [rdi + 0x1f]
mov byte [rbp - 0x75], al
movzx eax, byte [rdi + 0x20]
mov byte [rbp - 0x74], al
mov eax, dword [rdi + 8]
mov dword [rbp - 0x70], eax
mov eax, dword [rdi + 0xc]
mov dword [rbp - 0x6c], eax
mov eax, dword [rdi + 0x10]
mov dword [rbp - 0x68], eax
mov eax, dword [rdi + 0x24]
mov dword [rbp - 0x64], eax
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rbp + 0x140], xmm0
movsd xmm1, qword [rbp - 0x68]
movsd qword [rbp + 0x150], xmm1
lea r9, [rbp + 0x140]
lea rdx, [rbp + 0x110]
mov rcx, r14
call fcn.140094080
mov rbx, rax
mov dword [rsp + 0x78], 2
lea rax, [rbp - 0x38]
cmp rax, rbx
je 0x14009fd6c
lea rcx, [rbp - 0x38]
call fcn.14000b990
mov rcx, qword [rbx]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbx + 8]
mov qword [rbp - 0x30], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp - 0x28], rcx
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov eax, 2
and eax, 0xfffffffd
mov dword [rsp + 0x78], eax
lea rcx, [rbp + 0x110]
call fcn.14000b990
jmp 0x14009fd8a
mov rdi, qword [rbp - 0x48]
cmp byte [rdi + 0x20], 0
je 0x14009fe2c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm1
mov word [rbp + 0x110], r12w
mov r9b, 1
lea r8, [rbp + 0x110]
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.140092db0
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009fe14
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009fe0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a032d
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r12w
xor r9d, r9d
lea edx, [r9 + 6]
lea r8d, [r9 + 1]
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rbp + 0x80], 0x3e9
mov rax, qword [r15 + 0x18]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], r12
lea rcx, [r15 + 0x97b38]
lea rdx, [rbp + 0x70]
call fcn.1400f2e40
cmp qword [rdi + 0x58], 0
je 0x1400a00e3
movzx eax, byte [rdi + 0x68]
test al, al
jne 0x14009fea8
lea rdx, [rdi + 0x48]
cmp qword [rdx + 0x18], 8
jb 0x14009fe88
mov rdx, qword [rdx]
mov rcx, r14
call fcn.14008e790
cmp eax, 0xffffffff
je 0x1400a00e3
mov edx, eax
mov rcx, r14
call fcn.14009afa0
jmp 0x1400a00e3
cmp al, 1
jne 0x14009ff7d
lea r8, [rdi + 0x48]
lea rbx, [r15 + 0x98458]
cmp rbx, r8
je 0x14009fed9
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x14009fecd
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.140006d70
lea rdx, [r15 + 0x98438]
mov qword [rdx], r12
mov dword [rdx + 8], 1
mov byte [rdx + 0xc], 0
mov qword [rdx + 0x10], 0xfde9
mov qword [rdx + 0x18], r12
cmp qword [rbx + 0x18], 8
jb 0x14009ff04
mov rbx, qword [rbx]
mov qword [r15 + 0x98450], rbx
lea rax, str.Anonymous_999
mov qword [rdx], rax
mov byte [r15 + 0x98444], 0
mov eax, dword [rdi + 0x24]
mov dword [r15 + 0x9844c], eax
mov eax, dword [rdi + 0x6c]
cmp eax, 1
jne 0x14009ff43
mov dword [r15 + 0x98440], r12d
mov rcx, r14
call fcn.14009aec0
jmp 0x1400a00e3
cmp eax, 2
jne 0x14009ff60
mov dword [r15 + 0x98440], 1
mov rcx, r14
call fcn.14009aec0
jmp 0x1400a00e3
cmp eax, 3
jne 0x14009ff70
mov dword [r15 + 0x98440], 2
mov rcx, r14
call fcn.14009aec0
jmp 0x1400a00e3
cmp al, 2
jne 0x1400a00e3
lea rbx, [rdi + 0x48]
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009ff96
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400a00e3
cmp qword [rbx + 0x18], 8
jb 0x14009ffae
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.140029720
nop
mov ecx, dword [0x1402c12d8]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1402aeab0], ecx
jg 0x1400a0250
lea rdx, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae rdx, qword [rbp + 0x110]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov r9d, esi
mov r8d, 0xfde9
lea rcx, [0x1402aea90]
call fcn.140028080
nop dword [rax + rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x1400a0020
lea rbx, [r15 + 0x98458]
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call fcn.140006d70
cmp qword [r15 + 0x98468], 0
je 0x1400a00d7
lea rdx, [r15 + 0x98438]
mov qword [rdx], r12
mov dword [rdx + 8], 1
mov byte [rdx + 0xc], 0
mov qword [rdx + 0x10], 0xfde9
mov qword [rdx + 0x18], r12
cmp qword [rbx + 0x18], 8
jb 0x1400a0078
mov rbx, qword [rbx]
mov qword [r15 + 0x98450], rbx
lea rax, str.Anonymous_999
mov qword [rdx], rax
mov byte [r15 + 0x98444], 0
mov eax, dword [rdi + 0x24]
mov dword [r15 + 0x9844c], eax
mov eax, dword [rdi + 0x6c]
cmp eax, 1
jne 0x1400a00ac
mov dword [r15 + 0x98440], r12d
jmp 0x1400a00ce
cmp eax, 2
jne 0x1400a00be
mov dword [r15 + 0x98440], 1
jmp 0x1400a00ce
cmp eax, 3
jne 0x1400a00ce
mov dword [r15 + 0x98440], 2
mov rcx, r14
call fcn.14009aec0
nop
lea rcx, [rbp + 0x110]
call fcn.1400045c0
cmp byte [rdi + 5], 0
je 0x1400a0130
xor ecx, ecx
call fcn.1401acba0
mov rdx, qword [rbp - 0x40]
mov rcx, rax
call fcn.1401b2b08
movaps xmm2, xmm0
movq r8, xmm2
lea rdx, str.Loading_time_:__.0lf_seconds
lea rcx, [rbp + 0x220]
call fcn.14000d740
xor r9d, r9d
lea r8, [0x1401e3e40]
lea rdx, [rbp + 0x220]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rbx, qword [rbp - 0x18]
cmp byte [rbx + 0x835], 0
je 0x1400a0161
cmp byte [rbx + 0xd6], 0
je 0x1400a0161
cmp byte [rbx + 0xd7], 0
jne 0x1400a0161
xor edx, edx
mov rcx, r14
call fcn.140086150
mov rcx, r14
call fcn.140092d70
xor r9d, r9d
xor r8d, r8d
mov edx, 0x42d
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [rbx + 0x32fd8], 0
je 0x1400a0194
xor r9d, r9d
xor r8d, r8d
mov edx, 0x42e
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [rbx + 0x32fd9], 0
je 0x1400a01b3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x42f
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
lea rcx, [rbp - 0x38]
call fcn.14000b990
nop
lea rcx, [rbp + 0x180]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x1a0]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x1c0]
call fcn.1400068d0
nop
lea rcx, [rbp - 0x60]
call fcn.14000b990
nop
lea rcx, [rsp + 0x60]
call fcn.14000b990
nop
xor ecx, ecx
call qword [sym.imp.USER32.dll_LockWindowUpdate]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.USER32.dll_InvalidateRect]
mov r9d, 0x485
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov rcx, qword [rbp + 0x320]
xor rcx, rsp
call fcn.1401813e0
mov rbx, qword [rsp + 0x480]
add rsp, 0x430
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1402aeab0]
call fcn.1401818fc
cmp dword [0x1402aeab0], 0xffffffff
jne 0x14009ffe5
mov qword [0x1402aea90], r12
mov qword [0x1402aea98], r12
mov qword [0x1402aeaa0], r12
mov qword [0x1402aeaa8], r12
lea rcx, [0x1401e1730]
call fcn.1401816cc
nop
lea rcx, [0x1402aeab0]
call fcn.14018189c
jmp 0x14009ffe5
lea rdx, str.Notepad_plus_Window::init_:_RegisterClass___function_failed
lea rcx, [rbp + 0x140]
call fcn.140004170
lea rdx, [0x14029f490]
lea rcx, [rbp + 0x140]
call fcn.14019f1ec
int3
lea rdx, str.Notepad_plus_Window::init_:_CreateWindowEx___function_return_null
lea rcx, [rbp + 0x140]
call fcn.140004170
lea rdx, [0x14029f490]
lea rcx, [rbp + 0x140]
call fcn.14019f1ec
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3