Function at 0x100028fc0
Capabilities:
Get file size

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
or rdi, 0xffffffffffffffff
xor r12d, r12d
mov r14, rcx
mov qword [rax - 0x50], r12
mov qword [rax - 0x58], r12
mov r15, r8
mov dword [rax - 0x60], r12d
lea r13d, [rdi + 4]
lea r9d, [rdi + 2]
lea rcx, [rax - 0x30]
mov r8d, 0x80000000
mov qword [rax - 0x30], rdi
mov dword [rax - 0x68], r13d
call fcn.10002a31c
cmp eax, r12d
mov ebx, eax
jge 0x1000290a4
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x10002908d
mov dword [rsp + 0xa8], eax
xor eax, eax
mov qword [rsp + 0x40], r12
lea edx, [rax + 0x27]
mov qword [rsp + 0x38], 4
lea rbp, [0x1000026c8]
mov rcx, rdi
movzx r9d, dx
mov rdi, rbp
repne scasb al, byte [rdi]
lea rax, [rsp + 0xa8]
lea r8, [0x100001eb8]
not rcx
mov qword [rsp + 0x30], rax
lea edx, [r12 + 0x2b]
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
or rdi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x58]
cmp rcx, rdi
je 0x10002909d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x100029415
mov rbx, qword [rsp + 0x58]
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
cmp eax, r12d
jne 0x1000290f9
call fcn.10002aa1c
mov esi, eax
mov rcx, qword [0x100040318]
lea rax, [0x100040318]
cmp rcx, rax
je 0x1000290fc
test byte [rcx + 0x1c], 1
je 0x1000290fc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100001e88]
mov edx, 0x29
mov r9d, esi
call fcn.100029e74
jmp 0x1000290fc
mov esi, r12d
cmp esi, r12d
mov rax, qword [rsp + 0xa8]
jge 0x100029192
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x10002917d
mov edx, 0x28
mov qword [rsp + 0x40], r12
xor eax, eax
mov qword [rsp + 0x38], 4
lea rbp, [0x1000026c8]
mov rcx, rdi
mov dword [rsp + 0xa8], esi
movzx r9d, dx
mov rdi, rbp
lea r8, [0x100001eb8]
repne scasb al, byte [rdi]
lea rax, [rsp + 0xa8]
mov edx, 0x2b
not rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
or rdi, 0xffffffffffffffff
cmp rbx, rdi
je 0x10002918b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
jmp 0x100029415
cmp rax, 0x1388000
jbe 0x1000291b7
mov r10, qword [0x10003fbf8]
mov esi, 0x800700df
test byte [r10 + 0x4c], 2
je 0x10002917d
mov edx, 0x2a
jmp 0x100029120
mov ebp, 0x4000
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], r12
mov rdx, rbp
call fcn.10002c684
cmp eax, r12d
mov esi, eax
jge 0x10002925f
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x100029246
mov dword [rsp + 0xa8], eax
xor eax, eax
mov qword [rsp + 0x40], r12
lea r13d, [rax + 0x2b]
mov qword [rsp + 0x38], 4
lea rbp, [0x1000026c8]
mov rcx, rdi
mov rdi, rbp
lea r8, [0x100001eb8]
repne scasb al, byte [rdi]
lea rax, [rsp + 0xa8]
movzx r9d, r13w
not rcx
mov qword [rsp + 0x30], rax
mov edx, r13d
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
or rdi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x58]
cmp rcx, r12
je 0x10002917d
call qword [sym.imp.msvcrt.dll_free]
jmp 0x10002917d
mov qword [rsp + 0x50], r12
call sub.MpClient.dll_MpUtilsExportFunctions
lea rcx, [rsp + 0x50]
mov edx, r13d
call qword [rax + 0x40]
cmp eax, r12d
mov esi, eax
jge 0x100029306
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x1000292ed
mov dword [rsp + 0xa8], eax
xor eax, eax
mov qword [rsp + 0x40], r12
lea edx, [rax + 0x2c]
mov qword [rsp + 0x38], 4
lea rbp, [0x1000026c8]
mov rcx, rdi
movzx r9d, dx
mov rdi, rbp
repne scasb al, byte [rdi]
lea rax, [rsp + 0xa8]
lea r8, [0x100001eb8]
not rcx
mov qword [rsp + 0x30], rax
mov edx, 0x2b
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
or rdi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x50]
cmp rcx, r12
je 0x100029246
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x100029246
mov rsi, qword [rsp + 0x58]
jmp 0x100029389
mov r8, rbp
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0xa8], rbp
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0xa8]
mov r8, rsi
mov rcx, rbx
call fcn.10002a3e4
lea rbp, [0x1000026c8]
mov r13d, 0x2b
mov r12d, eax
cmp eax, 0x80070026
je 0x100029556
test eax, eax
js 0x1000294b6
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x10002945f
xor r12d, r12d
cmp dword [r14 + 0x60], r12d
jne 0x100029433
mov rcx, qword [rsp + 0x50]
mov r8, rsi
mov rax, qword [rcx]
call qword [rax + 0x20]
mov ebp, 0x4000
cmp dword [r14 + 0x60], r12d
je 0x10002930d
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x1000293e4
xor eax, eax
mov rcx, rdi
lea rbp, [0x1000026c8]
mov rdi, rbp
repne scasb al, byte [rdi]
mov eax, 0x2d
lea edx, [rax - 2]
not rcx
mov qword [rsp + 0x30], r12
lea r8, [0x100001eb8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
movzx r9d, ax
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
or rdi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x50]
cmp rcx, r12
je 0x1000293f4
mov rax, qword [rcx]
call qword [rax + 8]
cmp rsi, r12
je 0x100029402
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
cmp rbx, rdi
je 0x100029410
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x80004004
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x1000293e4
mov rcx, rdi
xor eax, eax
lea rbp, [0x1000026c8]
mov rdi, rbp
mov edx, r13d
repne scasb al, byte [rdi]
mov eax, 0x31
jmp 0x1000293ba
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 4
je 0x1000295a7
and qword [rsp + 0x30], 0
xor eax, eax
mov rcx, rdi
mov rdi, rbp
lea r8, [0x100001eb8]
mov edx, r13d
repne scasb al, byte [rdi]
mov eax, 0x30
not rcx
movzx r9d, ax
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
mov r10, qword [0x10003fbf8]
jmp 0x1000295a7
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 2
je 0x100029522
mov dword [rsp + 0xa8], eax
xor eax, eax
lea rbp, [0x1000026c8]
and qword [rsp + 0x40], rax
lea edx, [rax + 0x2f]
mov qword [rsp + 0x38], 4
mov rcx, rdi
movzx r9d, dx
mov rdi, rbp
repne scasb al, byte [rdi]
lea rax, [rsp + 0xa8]
lea r8, [0x100001eb8]
not rcx
mov qword [rsp + 0x30], rax
mov edx, r13d
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
or rdi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x100029532
mov rax, qword [rcx]
call qword [rax + 8]
test rsi, rsi
je 0x100029540
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
cmp rbx, rdi
je 0x10002954e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r12d
jmp 0x100029415
mov r10, qword [0x10003fbf8]
test byte [r10 + 0x4c], 4
je 0x1000295a4
and qword [rsp + 0x30], 0
xor eax, eax
mov rcx, rdi
mov rdi, rbp
lea r8, [0x100001eb8]
mov edx, r13d
repne scasb al, byte [rdi]
mov eax, 0x2e
not rcx
movzx r9d, ax
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
mov r10, qword [0x10003fbf8]
xor r12d, r12d
cmp dword [r14 + 0x60], 0
je 0x100029616
test byte [r10 + 0x4c], 2
je 0x1000295ef
and qword [rsp + 0x30], 0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
lea r8, [0x100001eb8]
mov edx, r13d
repne scasb al, byte [rdi]
mov eax, 0x32
not rcx
movzx r9d, ax
mov qword [rsp + 0x28], rcx
mov rcx, qword [r10 + 0x40]
mov qword [rsp + 0x20], rbp
call sub.ADVAPI32.dll_TraceMessage
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1000295ff
mov rax, qword [rcx]
call qword [rax + 8]
test rsi, rsi
je 0x10002960d
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
cmp rbx, 0xffffffffffffffff
jmp 0x100029405
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xa8]
mov r8, r15
mov qword [rsp + 0xa8], 0x14
call fcn.10002c628
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x100029652
mov rax, qword [rcx]
call qword [rax + 8]
test rsi, rsi
je 0x100029660
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
cmp rbx, 0xffffffffffffffff
jmp 0x100029543