Function at 0x14009d900
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 [0x1402a6808]
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 0x14009d971
xor ecx, ecx
call fcn.1401aaec0
mov qword [rbp - 0x40], rax
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rdi
mov dword [rbp], 0x2008
lea rax, [0x1400a21d0]
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, [0x140214f10]
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 0x14009eec3
call fcn.14000c980
mov r12, rax
mov qword [rbp - 0x18], rax
cmp byte [rsi], r14b
je 0x14009da17
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, [0x1401e2030]
mov rdx, rbx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbp - 0x10], rax
mov qword [r15 + 0x18], rax
test rax, rax
je 0x14009eeea
mov qword [rbp + 0x58], rax
mov rcx, rax
call qword [sym.imp.USER32.dll_LockWindowUpdate]
nop
lea rcx, [r15 + 0x20]
call fcn.140099da0
mov rax, qword [r15 + 0x18]
mov qword [0x1402bc140], rax
mov edi, 3
cmp byte [rsi + 0x1c], 0
je 0x14009daf1
cmp byte [rsi + 0x1d], 0
je 0x14009daf1
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 0x14009db8b
mov qword [rbp + 0x110], 0x2c
cmp byte [r15 + 0x98430], 0
je 0x14009db0f
mov dword [rbp + 0x118], r14d
jmp 0x14009db30
mov eax, 1
cmp byte [r12 + 0xd4], 0
cmovne eax, edi
mov dword [rbp + 0x118], eax
nop word [rax + rax]
movdqa xmm0, xmmword [0x140214ef0]
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 0x14009dbae
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 0x14009dbc5
xor edx, edx
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SetMenu]
cmp byte [rsi + 3], 0
jne 0x14009dbd9
test dword [r12 + 0x98], 0x100
je 0x14009dc07
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 0x14009dc07
mov dword [r12 + 0x98], ebx
cmp byte [rsi + 6], 0
je 0x14009dc25
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 0x14009dc44
cmp byte [r12 + 0xd7], 0
jne 0x14009dc44
lea rcx, [r15 + 0x20]
call fcn.1400c6f40
cmp byte [r12 + 0x32fd0], 0
jne 0x14009dcf4
cmp byte [r12 + 0x32fd1], 0
jne 0x14009dcf4
cmp byte [rsi + 4], 0
jne 0x14009dc8e
cmp byte [rsi + 0x1c], 0
je 0x14009dc7b
cmp byte [rsi + 0x1d], 0
je 0x14009dc7b
mov edx, 5
jmp 0x14009dcf6
mov edx, 5
cmp byte [r12 + 0xd4], 0
cmovne edx, edi
jmp 0x14009dcf6
mov ecx, 0x3d8
call fcn.14017f5a8
mov rbx, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14009dcde
mov edx, 0x64
mov rcx, qword [r15 + 8]
call qword [sym.imp.USER32.dll_LoadIconW]
lea rcx, [0x1401e4278]
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.14013b1b0
jmp 0x14009dce1
mov rax, r14
mov qword [r15 + 0x97ac8], rax
xor edx, edx
mov rcx, rax
call fcn.14013b210
jmp 0x14009dd00
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 [0x1401e3030]
movdqu xmmword [rbp + 0x120], xmm1
mov word [rbp + 0x110], r14w
mov r8d, 5
lea rdx, [0x1402150c8]
lea rcx, [rbp + 0x110]
call fcn.140006d60
nop
mov rdx, qword [rbp - 0x58]
cmp qword [rbp - 0x50], rdx
je 0x14009dd97
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 [0x1401e3030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r14w
add qword [rbp - 0x58], 0x20
jmp 0x14009dda8
lea r8, [rbp + 0x110]
lea rcx, [rbp - 0x60]
call fcn.140001d60
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009ddee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009dde9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef11
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], r14w
lea rdx, [rbp + 0x1c0]
mov rcx, r12
call fcn.14003e700
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 0x14009de5c
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b8], 7
jmp 0x14009dea5
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.140006990
mov qword [rbp + 0x1a0], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14019dbf0
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x1b0], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e3030]
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.140006d60
nop
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x140]
call fcn.140027aa0
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009df48
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009df43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef17
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], bx
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009dfa5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009dfa0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef1d
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
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.14008ccc0
mov rdi, qword [rsp + 0x68]
mov rsi, rdi
mov rbx, qword [rsp + 0x60]
sub rsi, rbx
sar rsi, 5
test rsi, rsi
je 0x14009e035
xor edi, edi
nop word [rax + rax]
lea rdx, [rdi + rbx]
lea rcx, [r12 + 0x32f58]
call fcn.1400d3230
lea rdi, [rdi + 0x20]
sub rsi, 1
mov rbx, qword [rsp + 0x60]
jne 0x14009e010
mov rdi, qword [rsp + 0x68]
cmp rbx, rdi
je 0x14009e056
nop word [rax + rax]
mov rcx, rbx
call fcn.1400068c0
add rbx, 0x20
cmp rbx, rdi
jne 0x14009e040
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x68], rbx
lea r13, [r12 + 0x32fd8]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x190], xmm0
movdqa xmm1, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x190], xmm1
xor eax, eax
mov word [rbp + 0x180], ax
lea rdx, [r12 + 0x33190]
mov rax, rdx
mov rcx, qword [rdx + 0x18]
cmp rcx, 8
jb 0x14009e09f
mov rax, qword [rdx]
test rax, rax
je 0x14009e3dd
mov rax, rdx
cmp rcx, 8
jb 0x14009e0b4
mov rax, qword [rdx]
cmp word [rax], 0
je 0x14009e3dd
cmp rcx, 8
jb 0x14009e0c7
mov rdx, qword [rdx]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x14009e0d0
lea rcx, [rbp + 0x180]
call fcn.140006d60
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e3030]
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.140006d60
nop
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x140]
call fcn.140027aa0
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009e186
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e181
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef23
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], r12w
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009e1e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e1df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef29
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
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.14008ccc0
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 0x14009e3e7
mov rdi, r12
add rbx, rdi
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009e262
mov r8, qword [rbx]
lea rdx, [rbp + 0x110]
mov rcx, r13
call fcn.1400e2e10
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.140002f40
nop
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x14009e33d
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 0x14009e34d
lea r8, [rbp + 0x140]
mov rcx, r13
call fcn.14009d4a0
nop
lea rcx, [rbp + 0x160]
call fcn.1400068c0
nop
lea rcx, [rbp + 0x140]
call fcn.1400068c0
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009e3ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e3a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef2f
call fcn.14017f5e4
mov qword [rbp + 0x120], r12
mov qword [rbp + 0x128], 7
mov word [rbp + 0x110], r12w
inc rsi
add rdi, 0x20
cmp rsi, r14
jae 0x14009e3dd
mov rbx, qword [rsp + 0x60]
jmp 0x14009e252
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
cmp rbx, rdi
je 0x14009e406
nop dword [rax]
mov rcx, rbx
call fcn.1400068c0
add rbx, 0x20
cmp rbx, rdi
jne 0x14009e3f0
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 0x14009e450
lea rcx, [rbp + 0x180]
call fcn.140006d60
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x120], xmm1
mov word [rbp + 0x110], di
mov r8d, 7
lea rdx, str.themes_
lea rcx, [rbp + 0x110]
call fcn.140006d60
nop
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x140]
call fcn.140027aa0
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009e502
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e4fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef35
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
movdqu xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x140], di
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009e55f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e55a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef3b
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
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.14008ccc0
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 0x14009e885
mov r14, rdi
lea r8, [r14 + rax]
cmp qword [r8 + 0x18], 8
jb 0x14009e5de
mov r8, qword [r8]
lea rdx, [rbp + 0x110]
mov rcx, r13
call fcn.1400e2e10
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 0x14009e68c
nop dword [rax]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [r11 + rdx*2], 0
jne 0x14009e630
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009e648
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 0x14009e675
sub r9, r11
movzx eax, word [rcx]
cmp word [r9 + rcx], ax
jne 0x14009e680
add rcx, 2
sub r8, 1
jne 0x14009e661
cmp r10, rdx
jb 0x14009e680
jbe 0x14009e802
inc rdi
add rbx, 0x40
cmp rdi, rsi
jb 0x14009e620
mov rbx, qword [rsp + 0x60]
add rbx, r14
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009e6a1
mov r8, qword [rbx]
lea rdx, [rbp + 0x140]
mov rcx, r13
call fcn.1400e2e10
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.140002f40
nop
mov rdx, qword [r13 + 8]
cmp qword [r13 + 0x10], rdx
je 0x14009e777
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 0x14009e787
lea r8, [rbp + 0x1e0]
mov rcx, r13
call fcn.14009d4a0
nop
lea rcx, [rbp + 0x200]
call fcn.1400068c0
nop
lea rcx, [rbp + 0x1e0]
call fcn.1400068c0
nop
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14009e7e7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e7e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef41
call fcn.14017f5e4
mov qword [rbp + 0x150], rdi
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], di
jmp 0x14009e804
xor edi, edi
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009e84a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e845
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef47
call fcn.14017f5e4
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 0x14009e87a
mov rax, qword [rsp + 0x60]
jmp 0x14009e5d0
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 0x14009e8c7
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 0x14009e8a2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r12
mov r8, qword [rbp - 0x20]
test r8, r8
je 0x14009e9a6
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.140092d40
mov rbx, rax
mov dword [rsp + 0x78], 2
lea rax, [rbp - 0x38]
cmp rax, rbx
je 0x14009e98c
lea rcx, [rbp - 0x38]
call fcn.14000b980
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.14000b980
jmp 0x14009e9aa
mov rdi, qword [rbp - 0x48]
cmp byte [rdi + 0x20], 0
je 0x14009ea4c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
movdqa xmm1, xmmword [0x1401e3030]
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.140091a70
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x14009ea34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ea2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ef4d
call fcn.14017f5e4
movdqa xmm0, xmmword [0x1401e3030]
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.1400f16a0
cmp qword [rdi + 0x58], 0
je 0x14009ed03
movzx eax, byte [rdi + 0x68]
test al, al
jne 0x14009eac8
lea rdx, [rdi + 0x48]
cmp qword [rdx + 0x18], 8
jb 0x14009eaa8
mov rdx, qword [rdx]
mov rcx, r14
call fcn.14008d450
cmp eax, 0xffffffff
je 0x14009ed03
mov edx, eax
mov rcx, r14
call fcn.140099bd0
jmp 0x14009ed03
cmp al, 1
jne 0x14009eb9d
lea r8, [rdi + 0x48]
lea rbx, [r15 + 0x98458]
cmp rbx, r8
je 0x14009eaf9
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x14009eaed
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.140006d60
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 0x14009eb24
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 0x14009eb63
mov dword [r15 + 0x98440], r12d
mov rcx, r14
call fcn.140099af0
jmp 0x14009ed03
cmp eax, 2
jne 0x14009eb80
mov dword [r15 + 0x98440], 1
mov rcx, r14
call fcn.140099af0
jmp 0x14009ed03
cmp eax, 3
jne 0x14009eb90
mov dword [r15 + 0x98440], 2
mov rcx, r14
call fcn.140099af0
jmp 0x14009ed03
cmp al, 2
jne 0x14009ed03
lea rbx, [rdi + 0x48]
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14009ebb6
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14009ed03
cmp qword [rbx + 0x18], 8
jb 0x14009ebce
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.1400296c0
nop
mov ecx, dword [0x1402be238]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1402aba10], ecx
jg 0x14009ee70
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, [0x1402ab9f0]
call fcn.140028020
nop dword [rax + rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14009ec40
lea rbx, [r15 + 0x98458]
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call fcn.140006d60
cmp qword [r15 + 0x98468], 0
je 0x14009ecf7
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 0x14009ec98
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 0x14009eccc
mov dword [r15 + 0x98440], r12d
jmp 0x14009ecee
cmp eax, 2
jne 0x14009ecde
mov dword [r15 + 0x98440], 1
jmp 0x14009ecee
cmp eax, 3
jne 0x14009ecee
mov dword [r15 + 0x98440], 2
mov rcx, r14
call fcn.140099af0
nop
lea rcx, [rbp + 0x110]
call fcn.1400045b0
cmp byte [rdi + 5], 0
je 0x14009ed50
xor ecx, ecx
call fcn.1401aaec0
mov rdx, qword [rbp - 0x40]
mov rcx, rax
call fcn.1401b0e28
movaps xmm2, xmm0
movq r8, xmm2
lea rdx, str.Loading_time_:__.0lf_seconds
lea rcx, [rbp + 0x220]
call fcn.14000d730
xor r9d, r9d
lea r8, [0x1401e1e40]
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 0x14009ed81
cmp byte [rbx + 0xd6], 0
je 0x14009ed81
cmp byte [rbx + 0xd7], 0
jne 0x14009ed81
xor edx, edx
mov rcx, r14
call fcn.1400851c0
mov rcx, r14
call fcn.140091a30
xor r9d, r9d
xor r8d, r8d
mov edx, 0x42d
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [rbx + 0x32fd0], 0
je 0x14009edb4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x42e
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [rbx + 0x32fd1], 0
je 0x14009edd3
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.14000b980
nop
lea rcx, [rbp + 0x180]
call fcn.1400068c0
nop
lea rcx, [rbp + 0x1a0]
call fcn.1400068c0
nop
lea rcx, [rbp + 0x1c0]
call fcn.1400068c0
nop
lea rcx, [rbp - 0x60]
call fcn.14000b980
nop
lea rcx, [rsp + 0x60]
call fcn.14000b980
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.14017f700
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, [0x1402aba10]
call fcn.14017fc1c
cmp dword [0x1402aba10], 0xffffffff
jne 0x14009ec05
mov qword [0x1402ab9f0], r12
mov qword [0x1402ab9f8], r12
mov qword [0x1402aba00], r12
mov qword [0x1402aba08], r12
lea rcx, [0x1401df8c0]
call fcn.14017f9ec
nop
lea rcx, [0x1402aba10]
call fcn.14017fbbc
jmp 0x14009ec05
lea rdx, str.Notepad_plus_Window::init_:_RegisterClass___function_failed
lea rcx, [rbp + 0x140]
call fcn.140004160
lea rdx, [0x14029c6c0]
lea rcx, [rbp + 0x140]
call fcn.14019d50c
int3
lea rdx, str.Notepad_plus_Window::init_:_CreateWindowEx___function_return_null
lea rcx, [rbp + 0x140]
call fcn.140004160
lea rdx, [0x14029c6c0]
lea rcx, [rbp + 0x140]
call fcn.14019d50c
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
int3
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
nop
call fcn.1401a10ac
int3