Function at 0x140041090
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x1401761c0]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r14, qword [rbp + 0x70]
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], r15
lea rdx, [0x14017fcf0]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], r15w
jne 0x1400410f0
lea rcx, [rbp + 0x10]
call fcn.14000c360
nop
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x1400415d0
lea rax, [rsp + 0x60]
mov qword [rbp - 0x20], rax
lea rsi, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova rsi, qword [rbp + 0x10]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x20], 2
lea r9, [0x14014ea0c]
mov rdx, rbx
mov rcx, rsi
call fcn.140064f00
cmp rax, 0xffffffffffffffff
je 0x14004117a
inc rax
cmp rbx, rax
jb 0x140041630
sub rbx, rax
cmp rbx, 0xffffffffffffffff
cmovb rdi, rbx
lea rax, [rsi + rax*2]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdi
jmp 0x140041185
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
lea rcx, [rsp + 0x60]
call fcn.14000c360
lea rax, [rsp + 0x60]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r15
mov qword [rbp], r15
mov r8d, 7
lea rdx, str.SfxName
lea rcx, [rbp - 0x18]
call fcn.14000c360
lea rax, [rbp - 0x18]
mov qword [rbp + 8], rax
add r14, 0x20
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.140031260
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.140025ba0
nop
lea rcx, [rbp - 0x18]
call fcn.14000c080
nop
lea rcx, [rsp + 0x60]
call fcn.14000c080
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x28]
call fcn.14009f450
movzx edx, word [rbp - 0x22]
movzx r8d, word [rbp - 0x24]
movzx r9d, word [rbp - 0x26]
mov rax, qword [rbp - 0x28]
test ax, ax
jne 0x14004124e
test r9w, r9w
jne 0x14004124e
test r8w, r8w
jne 0x14004124e
test dx, dx
jne 0x14004124e
xor cl, cl
jmp 0x140041250
mov cl, 1
mov r12d, 0xa
test cl, cl
je 0x140041439
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r15
mov qword [rbp], 7
mov word [rbp - 0x18], r15w
lea rcx, [0x140149600]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], 0xb
movzx ecx, ax
mov dword [rbp - 0x38], ecx
movabs rax, 0x2000000000000000
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x34], r9d
movabs rax, 0x2000000000000004
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x30], r8d
movabs rax, 0x2000000000000008
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x2c], edx
movabs rax, 0x200000000000000c
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], 4
lea rax, [rbp - 0x58]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x78]
call fcn.14000f490
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x18]
call fcn.140025ba0
lea rcx, [rbp - 0x78]
call fcn.14000c080
lea rax, [rsp + 0x40]
mov qword [rbp + 8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
lea rsi, [rbp - 0x18]
cmp qword [rbp], 7
cmova rsi, qword [rbp - 0x18]
movabs rbx, 0x7ffffffffffffffe
mov rdi, qword [rbp - 8]
cmp rdi, rbx
ja 0x140041624
mov qword [rsp + 0x58], 7
cmp rdi, 7
ja 0x140041383
mov qword [rsp + 0x50], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
jmp 0x1400413c7
mov rax, rdi
or rax, 7
cmp rax, rbx
jbe 0x140041601
movabs rcx, 0x7fffffffffffffff
add rcx, rcx
call fcn.14000c180
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.1400fe670
lea rax, [rsp + 0x40]
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov r8, r12
lea rdx, str.SfxVersion
lea rcx, [rsp + 0x60]
call fcn.14000c360
lea rax, [rsp + 0x60]
mov qword [rbp + 8], rax
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.140031260
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.140025ba0
nop
lea rcx, [rsp + 0x60]
call fcn.14000c080
nop
lea rcx, [rsp + 0x40]
call fcn.14000c080
nop
lea rcx, [rbp - 0x18]
call fcn.14000c080
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova rcx, qword [rbp + 0x10]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rbp + 8], rax
cmp rax, 0xffffffffffffffff
je 0x1400415c0
mov qword [rbp - 0x28], r15
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x140041534
lea rax, [rbp - 0x78]
mov qword [rbp - 0x80], rax
mov ecx, dword [rbp - 0x24]
shl rcx, 0x20
mov eax, dword [rbp - 0x28]
or rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
mul rcx
shr rdx, 0x17
movabs rax, 0x2b6109100
sub rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140040db0
mov rdi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r15
mov qword [rbp], r15
mov r8, r12
lea rdx, str.SfxCreated
lea rcx, [rbp - 0x18]
call fcn.14000c360
lea rax, [rbp - 0x18]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.140031260
mov rcx, rax
mov rdx, rdi
call fcn.140025ba0
nop
lea rcx, [rbp - 0x18]
call fcn.14000c080
nop
mov rcx, rdi
call fcn.14000c080
mov qword [rbp - 0x20], r15
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1400415c0
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp - 0x78]
call fcn.140040db0
mov rdi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r15
mov qword [rbp], r15
mov r8d, 7
lea rdx, str.SfxSize
lea rcx, [rbp - 0x18]
call fcn.14000c360
lea rax, [rbp - 0x18]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.140031260
mov rcx, rax
mov rdx, rdi
call fcn.140025ba0
nop
lea rcx, [rbp - 0x18]
call fcn.14000c080
nop
mov rcx, rdi
call fcn.14000c080
nop
cmp rbx, 0xffffffffffffffff
je 0x1400415d0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x10]
call fcn.14000c080
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400b89f0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov rbx, rax
cmp rax, 0xa
cmovb rbx, r12
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14004162a
jmp 0x14004139d
call fcn.14000c110
int3
call fcn.14000c340
nop
call fcn.140069b80
int3