Function at 0x1400048a0
Capabilities:
Get file size

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov dword [rsp + 0x20], 0xc91e
mov dword [rsp + 0x24], 0xcd50
mov dword [rsp + 0x2c], 0x9c62
mov dword [rsp + 0x28], 0x13076
mov eax, dword [rsp + 0x20]
mov dword [0x140038c04], eax
mov eax, dword [0x140038c44]
cmp dword [rsp + 0x78], eax
jb 0x1400049a8
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x30], eax
jmp 0x140004902
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [0x140038c04]
cmp dword [rsp + 0x30], eax
jle 0x1400049a3
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x78]
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x20]
mov eax, edx
xor edx, edx
div dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x40]
shl eax, cl
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
cdq
idiv dword [rsp + 0x80]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x80], eax
mov eax, 0xd24a
sub eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
div dword [rsp + 0x20]
mov eax, edx
sub eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x28]
mov dword [rsp + 0x78], eax
jmp 0x1400048f8
jmp 0x140004e0a
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x20]
call fcn.1400061f0
cmp eax, dword [rsp + 0x20]
jb 0x1400049dd
mov edx, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, dword [rsp + 0x78]
jbe 0x140004a82
mov eax, dword [rsp + 0x80]
cdq
mov ecx, 0x3df1
idiv ecx
add eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
shr eax, cl
mov dword [rsp + 0x28], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
imul eax, dword [rsp + 0x28]
imul eax, dword [rsp + 0x80]
sub eax, dword [rsp + 0x20]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x80], eax
imul eax, dword [rsp + 0x2c], 0xd9ac
or eax, dword [rsp + 0x24]
mov dword [rsp + 0x44], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x80]
mov eax, edx
mov ecx, dword [rsp + 0x44]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SoundSentry]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov eax, dword [0x140038cac]
cmp dword [rsp + 0x70], eax
je 0x140004a21
jmp 0x140004e0a
mov eax, dword [rsp + 0x20]
cmp dword [0x140038b3c], eax
je 0x140004ab2
mov eax, dword [rsp + 0x80]
cmp dword [0x140038c04], eax
jge 0x140004ab2
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
call fcn.140002a50
cmp dword [0x140038bbc], eax
jae 0x140004ac5
mov eax, dword [0x140038bf0]
cmp dword [rsp + 0x80], eax
jne 0x140004bf7
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x80]
mov dword [0x140038cac], eax
mov eax, dword [rsp + 0x70]
mov dword [0x140038bbc], eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x80]
imul eax, dword [rsp + 0x2c]
mov dword [rsp + 0x20], eax
mov r8d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
call fcn.1400048a0
mov dword [rsp + 0x78], eax
xor edx, edx
mov eax, dword [rsp + 0x70]
div dword [rsp + 0x20]
mov eax, edx
add eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x80]
and ecx, eax
mov eax, ecx
and eax, dword [rsp + 0x70]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x80]
add eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x80]
shr eax, cl
and eax, dword [rsp + 0x80]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x24]
cdq
idiv dword [rsp + 0x80]
mov eax, edx
add eax, 0xebce
sub eax, dword [rsp + 0x20]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x78], eax
mov eax, dword [0x140038b4c]
cmp dword [rsp + 0x28], eax
jbe 0x140004aef
mov ecx, dword [rsp + 0x28]
call fcn.140003690
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x78], eax
mov eax, dword [0x140038bf0]
cmp dword [rsp + 0x78], eax
jne 0x140004ac5
xor edx, edx
mov eax, 0x11f6f
div dword [rsp + 0x28]
mov eax, edx
xor edx, edx
mov ecx, 0xd862
div ecx
mov ecx, 0xfca6
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x78]
sub edx, ecx
mov ecx, edx
shl eax, cl
mov dword [rsp + 0x70], eax
jmp 0x140004e0a
mov edx, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x2c]
call qword [sym.imp.USER32.dll_SetCaretPos]
mov dword [rsp + 0x48], eax
mov r9d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
call fcn.140002910
mov ecx, dword [rsp + 0x48]
cmp ecx, eax
jb 0x140004c3f
mov edx, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x80]
call qword [sym.imp.USER32.dll_ShowOwnedPopups]
cmp dword [rsp + 0x78], eax
jbe 0x140004c5e
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x24], eax
jb 0x140004cec
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x80], eax
je 0x140004cec
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x34], eax
jmp 0x140004c72
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [0x140038b6c]
cmp dword [rsp + 0x34], eax
je 0x140004cd4
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x78]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
xor edx, edx
mov eax, dword [rsp + 0x70]
div dword [rsp + 0x24]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x78]
add eax, dword [rsp + 0x2c]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x2c]
imul eax, dword [rsp + 0x80]
mov dword [rsp + 0x50], eax
xor edx, edx
mov eax, dword [rsp + 0x78]
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
jmp 0x140004c68
mov eax, dword [0x140038b3c]
cmp dword [rsp + 0x80], eax
je 0x140004c5e
jmp 0x140004e0a
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x38], eax
jmp 0x140004d00
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov eax, dword [0x140038b3c]
cmp dword [rsp + 0x38], eax
jne 0x140004e0a
mov edx, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x2c]
call fcn.140001270
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x20]
shr eax, cl
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x80]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x28]
or ecx, eax
mov eax, ecx
or eax, 0x8743
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x78]
add eax, 0xe2b7
mov ecx, dword [rsp + 0x78]
shl eax, cl
shl eax, 0x3d
or eax, dword [rsp + 0x20]
mov dword [0x140038bbc], eax
mov eax, dword [0x140038b68]
mov dword [rsp + 0x3c], eax
jmp 0x140004d88
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x3c], eax
jl 0x140004db0
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x78]
movzx ecx, al
mov eax, dword [rsp + 0x70]
shl eax, cl
mov dword [0x140038c44], eax
jmp 0x140004d7e
mov eax, dword [0x140038b4c]
cmp dword [rsp + 0x24], eax
jae 0x140004d36
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
cdq
mov ecx, 0x8327
idiv ecx
mov eax, edx
xor edx, edx
div dword [rsp + 0x78]
mov eax, edx
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
lea eax, [rax + rcx + 0x4e12]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x20]
cmp dword [0x140038c48], eax
ja 0x140004d10
jmp 0x140004cf6
mov eax, dword [rsp + 0x20]
add rsp, 0x68
ret