Function at 0x1400b16b0
Capabilities:
Copy file
Get common file path
Get file size
Get graphical window text
Read .ini file
Set file attributes
Write file on windows

Disassembly:
push rbp
push rbx
push r12
push r15
lea rbp, [rsp - 0x1358]
mov eax, 0x1468
call fcn.1400f9a20
sub rsp, rax
mov rax, qword [0x1401f7280]
xor rax, rsp
mov qword [rbp + 0x1320], rax
mov rbx, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x38], rdx
xor r15d, r15d
lea rcx, [rbp - 0x30]
xor edx, edx
mov r8d, 0x1dc
mov r12d, r15d
mov dword [rbp - 0x7c], r15d
call fcn.1400f9ab0
mov edx, 0x779
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov edx, 0x18b
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rbp - 0x30], eax
test eax, eax
je 0x1400b284a
mov qword [rsp + 0x14a0], rsi
mov qword [rsp + 0x1460], rdi
mov edx, 0x7f02
xor ecx, ecx
mov qword [rsp + 0x1458], r13
mov qword [rsp + 0x1450], r14
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
lea r14, [0x140208860]
lea rdx, str.SaveAsSCR
lea rcx, str.Slideshow
mov r9, r14
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.PlayInWindow
lea rcx, str.Slideshow
mov r9, r14
xor r8d, r8d
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.WindowX
lea rcx, str.Slideshow
mov r9, r14
xor r8d, r8d
mov dword [rbp - 0x2c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.WindowY
lea rcx, str.Slideshow
mov r9, r14
xor r8d, r8d
mov dword [rbp - 0x28], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.WindowW
lea rcx, str.Slideshow
mov r9, r14
mov r8d, 0x320
mov dword [rbp - 0x24], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.WindowH
lea rcx, str.Slideshow
mov r9, r14
mov r8d, 0x258
mov dword [rbp - 0x20], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, 1
lea rdx, [0x14018dad8]
lea rcx, str.Slideshow
mov r8d, esi
mov r9, r14
mov dword [rbp - 0x1c], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r9, [rbp - 0x10]
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x40]
lea r8, [rbp + 0x10c]
mov qword [rsp + 0x78], rax
lea rax, [rbp + 0xfc]
lea rdx, [rbp + 4]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x124]
lea rcx, [rbp]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x120]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0xc]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x11c]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x118]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x14]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x114]
mov qword [rsp + 0x20], rax
call fcn.14004bf40
lea rdx, str.FontColor
lea rcx, str.Viewing
mov r9, r14
mov r8d, 0xff00
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.TranspText
lea rcx, str.Viewing
mov r9, r14
mov r8d, esi
mov dword [rbp - 0xc], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.StopAndClose
lea rcx, str.Slideshow
mov r9, r14
xor r8d, r8d
mov dword [rbp - 8], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r8d, [rsi + 4]
lea rdx, str.ResampleFilter
lea rcx, str.Resize
mov r9, r14
mov dword [rbp - 4], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.VideoLoop
lea rcx, str.Others
mov r9, r14
xor r8d, r8d
mov dword [rbp + 8], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.MultimonStretch
lea rcx, str.Viewing
mov r9, r14
xor r8d, r8d
mov dword [rbp + 0x14], esi
mov dword [rbp + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea rdx, str.TxtBgkr
lea rcx, str.Viewing
mov r9, r14
xor r8d, r8d
mov dword [rbp + 0xf8], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r13d, 0x64
lea rdx, str.VideoSize
lea rcx, str.Others
mov r8d, r13d
mov r9, r14
mov dword [rbp + 0x104], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r9, [rbp + 0x18]
lea r8, str.Courier
lea rdx, [0x14018dc58]
lea rcx, str.Viewing
mov qword [rsp + 0x28], r14
mov dword [rbp + 0x100], eax
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rbp + 0x58]
lea r8, str._13000400000012149
lea rdx, str.FontParam
lea rcx, str.Viewing
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, str.ExifRotate
lea rcx, [0x140183aa8]
mov r9, r14
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea r8d, [rsi + 0x4f]
lea rdx, str.Save_Quality
lea rcx, [0x140183aa8]
mov r9, r14
mov dword [rbp + 0x108], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, 0x774
mov rcx, rbx
mov dword [rbp - 0x5c], eax
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, dword [rbp + 0xd8]
cmp eax, esi
mov edx, 0x778
cmove ecx, esi
mov dword [rbp + 0xd8], ecx
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, dword [rbp + 0xd8]
mov edx, 2
cmp eax, esi
cmove ecx, edx
mov edx, 0x77d
mov dword [rbp + 0xd8], ecx
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, dword [rbp + 0xd8]
mov edx, 3
cmp eax, esi
cmove ecx, edx
mov edx, 0x77e
mov dword [rbp + 0xd8], ecx
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, dword [rbp + 0xd8]
mov edx, 4
cmp eax, esi
cmove ecx, edx
mov edx, 0x786
mov dword [rbp + 0xd8], ecx
mov rcx, rbx
call fcn.1400ee410
cmp dword [rbp + 0xd8], 3
movaps xmm1, xmm0
movss dword [rbp + 0xdc], xmm1
jne 0x1400b1b33
mov edx, 0x77f
mov rcx, rbx
call fcn.1400ee410
movaps xmm1, xmm0
movss dword [rbp + 0xdc], xmm1
xorps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1400b1b4b
movss xmm0, dword [0x14018dddc]
movss dword [rbp + 0xdc], xmm0
mov edx, 0x785
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, r15d
test eax, eax
setne cl
mov dword [rbp + 0xe0], ecx
test ecx, ecx
je 0x1400b1b86
lea r8, [rbp + 0xf00]
mov r9d, 0x104
mov edx, 0xc0a
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
mov edx, 0x777
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, r15d
mov edx, 0x77b
test eax, eax
setne cl
mov dword [rbp + 0xe4], ecx
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, r15d
mov edx, 0xbdb
test eax, eax
mov dword [rbp + 0xec], esi
setne cl
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 0xe8], ecx
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItemInt]
dec eax
mov dword [rbp + 0xf0], eax
cmp eax, dword [rbp - 0x30]
jge 0x1400b1be9
test eax, eax
jns 0x1400b1bf0
mov dword [rbp + 0xf0], r15d
mov edx, 0xc09
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, r15d
lea r9, [rbp + 0x4c0]
test eax, eax
lea r8, [0x140182e70]
lea rdx, str.EXESCRFolder
setne cl
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x104
mov dword [rbp + 0xf4], ecx
lea rcx, str.Slideshow
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rbp + 0x1b0]
lea r8, str.MySlideshow
lea rdx, str.EXESCRFile
lea rcx, str.Slideshow
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [rbp - 0x20]
cmp eax, r13d
lea rcx, [rbp + 0x4c0]
cmovl eax, r13d
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x1c]
cmp eax, r13d
cmovl eax, r13d
mov dword [rbp - 0x1c], eax
call fcn.1400e8b30
lea rcx, [rbp + 0x1b0]
test edi, edi
je 0x1400b1cfc
lea rdx, str..scr
call fcn.1400f9d68
test rax, rax
jne 0x1400b1d52
lea rdx, str..SCR
lea rcx, [rbp + 0x1b0]
call fcn.1400f9d68
test rax, rax
jne 0x1400b1d52
lea rcx, [rbp + 0x1b0]
sub rcx, 2
nop word [rax + rax]
cmp word [rcx + 2], r12w
lea rcx, [rcx + 2]
jne 0x1400b1ce0
movsd xmm0, qword [str..scr]
movzx eax, word [0x14018dcd0]
jmp 0x1400b1d4a
lea rdx, str..exe
call fcn.1400f9d68
test rax, rax
jne 0x1400b1d52
lea rdx, str..EXE
lea rcx, [rbp + 0x1b0]
call fcn.1400f9d68
test rax, rax
jne 0x1400b1d52
lea rcx, [rbp + 0x1b0]
sub rcx, 2
cmp word [rcx + 2], r12w
lea rcx, [rcx + 2]
jne 0x1400b1d30
movsd xmm0, qword [str..exe]
movzx eax, word [0x14018dcf0]
movsd qword [rcx], xmm0
mov word [rcx + 8], ax
lea rcx, [rbp + 0x4c0]
sub rcx, 2
nop dword [rax]
cmp word [rcx + 2], r12w
lea rcx, [rcx + 2]
jne 0x1400b1d60
lea r8, [rbp + 0x1b0]
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x1400b1d80
mov rcx, r15
nop word [rax + rax]
movzx eax, word [rbp + rcx + 0x4c0]
lea rcx, [rcx + 2]
mov word [rbp + rcx + 0x1ae], ax
test ax, ax
jne 0x1400b1da0
lea rcx, [rbp + 0x1b0]
call fcn.1400e7210
cmp eax, esi
jne 0x1400b1e64
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x440]
mov r9d, 0x40
mov edx, 0x4f6
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x3c0]
mov r9d, 0x40
mov edx, 0x51d
call qword [sym.imp.USER32.dll_LoadStringW]
lea rax, [rbp + 0x1b0]
lea r9, [rbp + 0x440]
lea r8, [rbp + 0x3c0]
lea rdx, [0x140189fd8]
lea rcx, [rbp + 0x8e0]
mov qword [rsp + 0x20], rax
call fcn.1400f98c8
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea r8, [0x140209d60]
lea rdx, [rbp + 0x8e0]
mov rcx, rax
mov r9d, 0x2124
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x1400b1fab
lea rdx, str.Slideshow.exe
lea rcx, [rbp + 0x4c0]
call fcn.1400748e0
lea rcx, [rbp + 0x4c0]
call fcn.1400e7210
test eax, eax
jne 0x1400b1ea4
lea rdx, [rbp + 0x4c0]
lea rcx, str.Slideshow.exe
mov r8d, esi
call fcn.140077e40
xor eax, eax
jmp 0x1400b282a
lea rcx, [rbp + 0x1b0]
mov edx, 0x20
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x4c0]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1400b1f01
mov rcx, qword [0x1401fbba0]
lea r9, [rbp + 0x1b0]
lea r8, [0x140183008]
mov edx, 0x4f7
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call fcn.1400f11b0
xor eax, eax
jmp 0x1400b282a
movsxd rax, dword [rbp - 0x30]
imul rcx, rax, 0x2238
call fcn.1400fa250
xor r9d, r9d
mov r14, rax
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x1400b1f45
mov rcx, qword [0x1401fbba0]
xor r8d, r8d
mov edx, 0x50a
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call fcn.1400f11b0
xor eax, eax
jmp 0x1400b282a
mov qword [rsp + 0x30], r15
lea rcx, [rbp + 0x1b0]
mov edx, 0xc0000000
mov r8d, 3
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400b1fb2
mov rcx, r14
call fcn.1400f97e8
mov rcx, qword [0x1401fbba0]
lea r9, [rbp + 0x1b0]
xor r8d, r8d
mov edx, 0x4e71
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], r15
call fcn.1400f11b0
xor eax, eax
jmp 0x1400b282a
lea rdx, [rbp - 0x74]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
xor edx, edx
mov rcx, rsi
mov dword [rbp - 0x78], eax
mov rax, qword [rbp - 0x78]
lea r8d, [rdx + 2]
mov qword [rbp - 0x50], rax
call fcn.1400b64e0
lea r9, [rbp - 0x80]
lea rdx, [rbp - 0x30]
mov r8d, 0x1dc
mov rcx, rsi
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rdx, [rbp + 0x6d0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [rbp + 0x6d0]
call fcn.1400e47e0
lea rcx, [rbp + 0x6d0]
sub rcx, 2
nop word [rax + rax]
cmp word [rcx + 2], r12w
lea rcx, [rcx + 2]
jne 0x1400b2030
movups xmm0, xmmword [str.temp.jpg]
movzx eax, word [0x14018dd38]
movaps xmmword [rsp + 0x1440], xmm6
movups xmmword [rcx], xmm0
mov word [rcx + 0x10], ax
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetParent]
lea rdx, [rbp + 0xaf0]
mov r8d, 0x100
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
xor ebx, ebx
mov r13d, ebx
cmp dword [rbp - 0x30], ebx
jle 0x1400b24eb
movsd xmm6, qword [0x140183398]
lea rdi, [r14 + 0x10]
movsxd rbx, r13d
xor edx, edx
mov r8d, 0x2238
imul r15, rbx, 0x2238
add r15, r14
mov rcx, r15
call fcn.1400f9ab0
mov rcx, qword [rbp - 0x38]
lea r14, [r15 + 0x1c]
mov r9, r14
mov r8, rbx
mov edx, 0x189
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, dword [rbp - 0x30]
lea rdx, str.Processing_file:__d____d
lea rcx, [rbp + 0x8e0]
mov r8d, r13d
call fcn.1400f98c8
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.USER32.dll_GetParent]
lea rdx, [rbp + 0x8e0]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov rcx, qword [rbp - 0x58]
call fcn.1400ef5a0
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x1400b2110
mov rdx, r15
mov rcx, r14
mov dword [rdi + 8], eax
call fcn.1400e5350
xor ebx, ebx
lea r8, [rbp - 0x74]
lea r9d, [rbx + 1]
xor edx, edx
mov rcx, rsi
mov qword [rbp - 0x78], rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp - 0x78], eax
cmp eax, 0xffffffff
jne 0x1400b215c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp - 0x78]
test eax, eax
cmovne rcx, rbx
jmp 0x1400b2160
mov rcx, qword [rbp - 0x78]
mov eax, 0xffffe380
mov qword [rdi - 8], rcx
cmp rcx, rax
jae 0x1400b24df
mov rcx, r14
call fcn.1400eb760
mov qword [rdi], rax
mov eax, dword [rdi - 0x10]
cmp eax, 0xffffffff
jne 0x1400b2188
mov qword [rdi], rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rbx
lea rcx, [r15 + 0x222c]
mov qword [rsp + 0x30], rbx
xor r8d, r8d
test eax, eax
lea rax, [r15 + 0x2230]
lea r9, [r15 + 0x2228]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, r14
je 0x1400b2473
xor edx, edx
call fcn.1400a17b0
mov rbx, rax
test rax, rax
je 0x1400b2447
movsxd rax, dword [rdi - 0x10]
cmp eax, 0x32
ja 0x1400b2216
movabs rdx, 0x4000080000400
bt rdx, rax
jb 0x1400b2435
cmp eax, 0x59
je 0x1400b2435
lea rax, [r15 + 0x2234]
xor r15d, r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.1400eb570
cmp dword [rbp - 0x2c], r15d
je 0x1400b2375
mov ecx, dword [rbp - 0x10]
test ecx, ecx
jle 0x1400b2375
mov edx, dword [rdi + 0x2218]
mov r8d, dword [rdi + 0x221c]
mov dword [rbp - 0x70], edx
mov dword [rbp - 0x6c], r8d
sub ecx, 2
je 0x1400b22e8
dec ecx
je 0x1400b22d8
mov eax, dword [rbp - 0x1c]
movd xmm2, edx
movd xmm0, r8d
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
cmp r8d, eax
jle 0x1400b22af
movd xmm0, eax
mov r8d, eax
mov dword [rbp - 0x6c], eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
addsd xmm1, xmm6
cvttsd2si edx, xmm1
mov dword [rbp - 0x70], edx
mov eax, dword [rbp - 0x20]
cmp edx, eax
jle 0x1400b231a
movd xmm0, eax
mov edx, eax
mov dword [rbp - 0x70], eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
cvtps2pd xmm1, xmm0
addsd xmm1, xmm6
cvttsd2si r8d, xmm1
mov dword [rbp - 0x6c], r8d
jmp 0x1400b231a
mov edx, dword [rbp - 0x20]
mov r8d, dword [rbp - 0x1c]
mov dword [rbp - 0x70], edx
mov dword [rbp - 0x6c], r8d
jmp 0x1400b231a
mov ecx, dword [rbp - 0x20]
lea rax, [rbp - 0x6c]
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
mov r9d, r8d
mov r8d, edx
mov edx, dword [rbp - 0x1c]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400ea980
mov edx, dword [rbp - 0x70]
mov r8d, dword [rbp - 0x6c]
mov r9d, dword [rbp + 8]
mov eax, 1
mov rcx, rbx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.1400ae670
mov rcx, rbx
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor edx, edx
mov rcx, r14
call fcn.14004e7c0
mov rbx, rax
test r14, r14
je 0x1400b2375
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov r8d, dword [rbp - 0x5c]
mov qword [rsp + 0x78], r15
mov dword [rsp + 0x70], r15d
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x60], r15d
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x38], r15
lea rax, [rbp + 0x1110]
lea rcx, [rbp + 0x6d0]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov rdx, rbx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call fcn.140055460
cmp eax, 1
jne 0x1400b23f5
lea rcx, [rbp + 0x6d0]
call fcn.1400eb760
lea rdx, [rbp + 0x6d0]
mov rcx, rsi
mov qword [rdi], rax
call fcn.1400aff70
test eax, eax
jne 0x1400b23ff
inc r12d
mov qword [rdi], r15
mov dword [rbp - 0x7c], r12d
test rbx, rbx
je 0x1400b2416
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor ebx, ebx
mov r14, qword [rbp - 0x68]
inc r13d
add rdi, 0x2238
cmp r13d, dword [rbp - 0x30]
jl 0x1400b2091
jmp 0x1400b24eb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
movsxd rcx, dword [rdi - 0x10]
cmp ecx, 0x33
ja 0x1400b2460
movabs rdx, 0xc000484000400
bt rdx, rcx
jb 0x1400b24bb
cmp ecx, 0x59
je 0x1400b24bb
inc r12d
xor ebx, ebx
mov qword [rdi], rbx
mov dword [rbp - 0x7c], r12d
jmp 0x1400b2418
mov edx, 0x32
call fcn.1400a17b0
lea rcx, [r15 + 0x2234]
xor r15d, r15d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, rax
xor r8d, r8d
xor edx, edx
mov rbx, rax
call fcn.1400eb570
test rbx, rbx
je 0x1400b24bb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rdx, r14
mov rcx, rsi
call fcn.1400aff70
test eax, eax
jne 0x1400b2416
inc r12d
xor ebx, ebx
mov qword [rdi], rbx
mov dword [rbp - 0x7c], r12d
jmp 0x1400b2418
mov r14, qword [rbp - 0x68]
or r12d, 0xffffffff
mov dword [rbp - 0x7c], r12d
lea rcx, [rbp + 0x6d0]
call fcn.1400fa630
lea r8, [rbp - 0x74]
mov r9d, 1
xor edx, edx
mov rcx, rsi
mov qword [rbp - 0x78], rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp - 0x78], eax
cmp eax, 0xffffffff
jne 0x1400b252a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp - 0x78]
test eax, eax
cmovne rcx, rbx
jmp 0x1400b252e
mov rcx, qword [rbp - 0x78]
mov eax, dword [rbp - 0x30]
mov qword [rbp - 0x48], rcx
mov r15d, ebx
test eax, eax
jle 0x1400b2703
movsd xmm6, qword [0x140183340]
lea rbx, [r14 + 0x2234]
xor r12d, r12d
cmp qword [rbx - 0x2224], r12
jbe 0x1400b26ea
movsxd rax, r15d
mov r13d, 4
lea r9, [rbp - 0x80]
mov rcx, rsi
mov r8d, r13d
mov qword [rsp + 0x20], r12
imul rdi, rax, 0x2238
add rdi, r14
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [rdi + 8]
lea r9, [rbp - 0x80]
lea r8d, [r13 + 4]
mov rcx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [rdi + 0x10]
lea r9, [rbp - 0x80]
lea r8d, [r13 + 4]
mov rcx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [rdi + 0x18]
lea r9, [rbp - 0x80]
mov r8d, r13d
mov rcx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rdi + rax*2 + 0x1e], r12w
lea rax, [rax + 1]
jne 0x1400b25e0
lea r8d, [rax + rax]
lea r9, [rbp - 0x80]
lea rdx, [rdi + 0x1c]
mov rcx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rbp + 0xe0], r12d
je 0x1400b2686
mov eax, dword [rbx]
mov r9d, dword [rbx - 0x2234]
mov dword [rsp + 0x80], r12d
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x70], r12d
lea edx, [r15 + 1]
movsd qword [rsp + 0x68], xmm6
mov dword [rsp + 0x60], eax
mov eax, dword [rbx - 4]
lea rcx, [rdi + 0x228]
mov dword [rsp + 0x58], eax
mov eax, dword [rbx - 8]
lea r8, [rdi + 0x1c]
mov dword [rsp + 0x50], eax
mov eax, dword [rbx - 0xc]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x30]
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], 0xfffffc19
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], edx
lea rax, [rbp + 0xf00]
mov edx, 0x1000
mov qword [rsp + 0x20], rax
call fcn.1400b6530
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdi + rax*2 + 0x228], r12w
jne 0x1400b2690
lea rdx, [rdi + 0x224]
lea r9, [rbp - 0x80]
mov r8d, r13d
mov rcx, rsi
mov dword [rbx - 0x2010], eax
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, dword [rbx - 0x2010]
lea r9, [rbp - 0x80]
lea rdx, [rdi + 0x228]
add r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [rbp - 0x30]
mov r14, qword [rbp - 0x68]
inc r15d
add rbx, 0x2238
cmp r15d, eax
jl 0x1400b2552
mov r12d, dword [rbp - 0x7c]
xor ebx, ebx
lea r9, [rbp - 0x80]
lea rdx, [rbp - 0x50]
mov r8d, 8
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rbp - 0x80]
lea rdx, [rbp - 0x48]
mov r8d, 8
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rbp - 0x80]
lea rdx, [rbp - 0x30]
mov r8d, 4
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rbp - 0x80]
lea rdx, [0x14018dd74]
mov r8d, 3
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rbp - 0x80]
lea rdx, [0x14018dd78]
mov r8d, 3
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call fcn.1400f97e8
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.USER32.dll_GetParent]
lea rdx, [rbp + 0xaf0]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowTextW]
lea rdx, [0x140182ce0]
lea rcx, [rbp + 0xcf0]
mov r8d, r12d
call fcn.1400f98c8
mov rcx, qword [0x1401fbba0]
lea r9, [rbp + 0xcf0]
xor r8d, r8d
mov edx, 0x530
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rbx
call fcn.1400f11b0
mov eax, 1
movaps xmm6, xmmword [rsp + 0x1440]
mov r13, qword [rsp + 0x1458]
mov rdi, qword [rsp + 0x1460]
mov rsi, qword [rsp + 0x14a0]
mov r14, qword [rsp + 0x1450]
mov rcx, qword [rbp + 0x1320]
xor rcx, rsp
call fcn.1400f9a80
add rsp, 0x1468
pop r15
pop r12
pop rbx
pop rbp
ret