Function at 0x1400432dc
Capabilities:
Get file attributes
Get file size

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb30
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14024f530]
xor rax, rsp
mov qword [rsp + 0xb20], rax
mov r12d, r8d
mov rbx, rdx
mov rsi, rcx
xor r14d, r14d
cmp dword [rcx + 0x28], r14d
je 0x14004332c
xor eax, eax
jmp 0x14004394d
mov eax, r14d
cmp rdx, r14
setne al
cmp eax, r14d
jne 0x140043340
call fcn.1400129dc
int3
add rcx, 0x98
call fcn.140091e88
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140006480
nop
mov rdi, qword [rsp + 0x50]
cmp dword [rdi - 0x10], r14d
jl 0x140043394
lea rdx, [0x1401baa10]
mov rcx, rdi
call fcn.140184860
cmp rax, r14
je 0x14004338f
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
jne 0x1400434fa
jmp 0x140043394
mov rdi, qword [rsp + 0x50]
cmp dword [rdi - 0x10], r14d
jl 0x1400433c9
lea rdx, [0x1401c4a84]
mov rcx, rdi
call fcn.140184860
cmp rax, r14
je 0x1400433c4
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
jne 0x1400434fa
jmp 0x1400433c9
mov rdi, qword [rsp + 0x50]
cmp dword [rdi - 0x10], r14d
jl 0x1400433f7
lea rdx, [0x1401c4a80]
mov rcx, rdi
call fcn.140184860
cmp rax, r14
je 0x1400433f7
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
jne 0x1400434fa
mov r13d, 0x104
mov r8d, r13d
lea rdx, [rsp + 0x910]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp eax, r14d
jbe 0x1400434f5
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
lea edi, [r13 - 4]
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x710]
mov r8d, 3
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x910]
call fcn.140185674
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x510]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x310]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140185674
lea r11, [rsp + 0x510]
mov qword [rsp + 0x28], r11
lea rax, [rsp + 0x310]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x710]
lea r8, [rsp + 0xf0]
mov rdx, r13
lea rcx, [rsp + 0x100]
call fcn.140185510
lea rcx, [rsp + 0x100]
call fcn.140184358
mov r8d, eax
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x50]
call fcn.1400065c0
mov rdi, qword [rsp + 0x50]
jmp 0x1400434fa
mov rdi, qword [rsp + 0x50]
cmp r12d, r14d
jbe 0x140043577
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140043572
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ebx, r12d
jbe 0x140043572
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r14d
jg 0x14004356b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004394d
mov rdi, qword [rsp + 0x50]
mov ebx, 0x2010
mov eax, 0x3010
cmp dword [rsi + 0x34], r14d
cmovne ebx, eax
call fcn.140058dec
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rax + 0x10]
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [rsi + 0x98], rax
cmp rax, r14
jne 0x1400435dd
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r14d
jg 0x1400435d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004394d
lea r8, [rsp + 0xd0]
mov r12d, 0x20
mov edx, r12d
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetObjectW]
cmp eax, r14d
jne 0x140043638
mov rcx, qword [rsi + 0x98]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov qword [rsi + 0x98], r14
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r14d
jg 0x140043631
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004394d
mov dword [rsi + 0x18], 1
lea rcx, [rsi + 0xb0]
lea rdx, [rsp + 0x50]
call fcn.140006740
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x140043666
mov dword [rsi + 0x24], 1
movzx eax, word [rsp + 0xe2]
mov dword [rsi + 0xc], eax
cmp eax, 8
jle 0x1400438de
cmp eax, r12d
jge 0x1400438de
cmp qword [rsi + 0x98], r14
je 0x1400438de
lea rcx, [rsp + 0x58]
call fcn.140027678
nop
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14002809c
lea r8, [rsp + 0xb0]
mov edx, r12d
mov rcx, qword [rsi + 0x98]
call qword [sym.imp.GDI32.dll_GetObjectW]
cmp eax, r14d
jne 0x1400436dc
lea rcx, [rsp + 0x58]
call fcn.14002815c
jmp 0x1400438de
mov rdx, qword [rsi + 0x98]
cmp rdx, r14
je 0x1400436f8
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rbx, rax
jmp 0x1400436fb
mov rbx, r14
cmp rbx, r14
jne 0x14004370f
lea rcx, [rsp + 0x58]
call fcn.14002815c
jmp 0x1400438de
mov r15d, dword [rsp + 0xb4]
mov r13d, dword [rsp + 0xb8]
mov r8d, r13d
mov edx, r15d
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rdi, rax
mov qword [rsp + 0x98], rax
cmp rax, r14
jne 0x14004375e
mov rdx, rbx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_SelectObject]
nop
lea rcx, [rsp + 0x58]
call fcn.14002815c
jmp 0x1400438de
lea rcx, [rsp + 0x78]
call fcn.140027678
nop
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14002809c
mov rdx, rdi
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0xa0], rax
cmp rax, r14
jne 0x1400437d1
mov rdx, rbx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
lea rcx, [rsp + 0x78]
call fcn.14002815c
nop
lea rcx, [rsp + 0x58]
call fcn.14002815c
jmp 0x1400438de
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
mov r9d, r15d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.GDI32.dll_BitBlt]
mov r12d, r14d
cmp r15d, r14d
jle 0x14004388b
mov edi, r14d
cmp r13d, r14d
jle 0x14004387b
mov r8d, edi
mov edx, r12d
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.GDI32.dll_GetPixel]
mov r14d, eax
cmp word [rsp + 0xc2], 0x18
jne 0x14004384c
cmp dword [0x14024a69c], 0
jne 0x14004384c
mov ecx, eax
call fcn.14003ce9c
jmp 0x140043855
xor edx, edx
mov ecx, eax
call fcn.14003cdec
cmp r14d, eax
je 0x140043871
mov r9d, eax
mov r8d, edi
mov edx, r12d
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.GDI32.dll_SetPixel]
inc edi
cmp edi, r13d
jl 0x140043818
xor r14d, r14d
inc r12d
cmp r12d, r15d
jl 0x140043810
mov rdi, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, rbx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rsi + 0x98]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov qword [rsi + 0x98], rdi
lea rcx, [rsp + 0x78]
call fcn.14002815c
nop
lea rcx, [rsp + 0x58]
call fcn.14002815c
mov r12d, 0x20
cmp word [rsp + 0xe2], r12w
jb 0x1400438f8
mov edx, dword [rsi + 0x3c]
mov rcx, qword [rsi + 0x98]
call fcn.14003d414
mov rcx, rsi
call fcn.14003cdac
lea rcx, [rsi + 0xa0]
call fcn.140091e88
mov qword [rsi + 0xa0], r14
lea rcx, [rsi + 0xa8]
call fcn.140091e88
mov qword [rsi + 0xa8], r14
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
dec ecx
cmp ecx, r14d
jg 0x140043948
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, 1
mov rcx, qword [rsp + 0xb20]
xor rcx, rsp
call fcn.140182850
mov rbx, qword [rsp + 0xb80]
add rsp, 0xb30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret