Function at 0x1013fcff
Capabilities:
Get file size

Disassembly:
push 0x424
mov eax, 0x101a0e90
call fcn.10188e66
mov edi, ecx
cmp dword [edi + 0x14], 8
jb 0x1013fd1a
mov eax, dword [edi]
jmp 0x1013fd1c
mov eax, edi
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x430], esi
mov dword [ebp - 4], ebx
cmp esi, 0xffffffff
je 0x1013ff6d
lea eax, [ebp - 0x428]
mov dword [ebp - 0x428], ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1013fd6f
push ecx
mov edx, 0x17b
jmp 0x1013ff73
cmp dword [ebp - 0x428], 0
ja 0x1013ff7b
call fcn.1013f8b0
test eax, eax
jne 0x1013fe95
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x1013fdae
test byte [eax + 0x1c], 8
je 0x1013fdae
push dword [eax + 0x14]
mov edx, 0x100309c0
push dword [eax + 0x10]
push 0x14
pop ecx
call fcn.1004a045
push 0x410
lea eax, [ebp - 0x420]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x420]
push 0
push 0x208
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
mov dword [ebp - 0x424], eax
test eax, eax
je 0x1013fe4a
cmp eax, 0x208
ja 0x1013fe4a
cmp dword [edi + 0x14], 8
jb 0x1013fdf4
mov eax, dword [edi]
jmp 0x1013fdf6
mov eax, edi
lea ecx, [ebp - 0x420]
push ecx
push eax
call fcn.1013fc25
test eax, eax
jne 0x1013fe95
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x1013fe40
test byte [eax + 0x1c], 1
je 0x1013fe40
cmp dword [edi + 0x14], 8
jb 0x1013fe25
mov edi, dword [edi]
lea ecx, [ebp - 0x420]
mov edx, 0x100309c0
push ecx
push edi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x16
pop ecx
call fcn.1004a159
push 0x8007007b
jmp 0x1013ff80
mov eax, dword [0x101c33f0]
cmp eax, 0x101c33f0
je 0x1013fe8b
test byte [eax + 0x1c], 1
je 0x1013fe8b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [edi + 0x14], 8
mov ecx, eax
jb 0x1013fe6c
mov edi, dword [edi]
mov eax, dword [0x101c33f0]
push ecx
lea ecx, [ebp - 0x420]
push ecx
push edi
push dword [ebp - 0x424]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1013f797
push 0x80070018
jmp 0x1013ff80
xor eax, eax
push eax
push eax
push eax
push 2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x42c], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1013ff65
cmp eax, 0xffffffff
je 0x1013ff65
sub esp, 0xc
lea ecx, [ebp - 0x424]
push 1
push eax
call fcn.10046af6
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x424]
test esi, esi
jne 0x1013fee9
push ecx
mov edx, 0x1b0
jmp 0x1013ff73
cmp ebx, 2
jbe 0x1013ff12
cmp byte [esi], 0xff
jne 0x1013ff12
cmp byte [esi + 1], 0xfe
jne 0x1013ff12
shr ebx, 1
cmp ebx, 1
jbe 0x1013ff42
lea eax, [ebx - 1]
push eax
lea eax, [esi + 2]
push eax
lea ecx, [edi + 0x18]
call fcn.100526e5
jmp 0x1013ff42
cmp ebx, 3
jbe 0x1013ff37
cmp byte [esi], 0xef
jne 0x1013ff37
cmp byte [esi + 1], 0xbb
jne 0x1013ff37
cmp byte [esi + 2], 0xbf
jne 0x1013ff37
lea eax, [ebx - 3]
push eax
lea eax, [esi + 3]
push eax
push 0xfde9
jmp 0x1013ff3b
push ebx
push esi
push 3
mov ecx, edi
call fcn.1013f835
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
lea ecx, [ebp - 0x42c]
call fcn.10046aaa
lea ecx, [ebp - 0x430]
call fcn.10046aaa
call fcn.10188e03
ret
push ecx
mov edx, 0x1a5
jmp 0x1013ff73
push ecx
mov edx, 0x173
mov ecx, dword [ebp + 4]
call fcn.10140f70
push 0x800700df
lea ecx, [ebp - 0x424]
call fcn.10044b9d
push 0x101c213c
mov eax, ecx
push eax
call sub.msvcrt.dll__CxxThrowException
int3