Function at 0x10019c60
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
push 0
pop ebx
mov dword [ebp - 0x28], ecx
push 1
cmp byte [ebp + 0x10], bl
je 0x10019d89
mov dword [ebp - 0x14], 0x45a6
cmp dword [ebp - 0x14], 0x473b
pop esi
jle 0x10019cdc
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x48]
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10019cb3
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.100055ae
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x1b45
jl 0x10019c9a
inc edi
cmp edi, 0x41ef
jl 0x10019c95
cmp dword [ebp - 0x14], 0x4420
jge 0x10019cf0
push str.wrdnfhplb_gndeqqve_ftgnoqo
call fcn.10046fe3
pop ecx
mov dword [ebp - 0x14], 0x4dc9
cmp dword [ebp - 0x14], 0x4e4e
jle 0x10019d4d
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
and eax, edi
lea ecx, [ebp - 0x60]
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10019d1e
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x60]
call fcn.100055ae
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x527
jl 0x10019d07
inc edi
cmp edi, 0xe6e
jl 0x10019d02
push ebx
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
mov edx, dword [ebp + 8]
mov dword [edx], ebx
cmp dword [edx], 2
jge 0x10019d6c
mov esi, dword [ebp - 0x28]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [edx]
cmp dword [edx], 2
jl 0x10019d5a
cmp dword [ebp - 0x14], 0x4a2a
jge 0x10019ef2
push str.sfk_eos_qmv_ttssjwzu
call fcn.10046fe3
pop ecx
jmp 0x10019ef2
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 8], 0xf
jmp 0x10019dc8
lea ecx, [ebp - 2]
mov byte [ebp - 2], bl
push ecx
push 0x33c4
push ebx
push eax
mov edx, 0x3aa7
mov cl, al
call fcn.1001ae30
add esp, 0x10
dec dword [ebp - 8]
push 1
cmp dword [ebp - 8], 0xc
pop eax
jg 0x10019da6
push ebx
push ecx
mov ecx, 0x3ad7
call fcn.10019f6a
mov al, byte [esi]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 1], al
lea eax, [ebp - 1]
push eax
push 0x2033
push 0x505
call fcn.1001a024
xor ecx, ecx
mov dword [ebp - 0xc], 0x1f2c29a3
add esp, 0x14
mov dword [ebp - 8], ebx
inc ecx
jmp 0x10019e16
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x20], 0xaf1124f0
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10019e08
mov dword [ebp - 0xc], ebx
jmp 0x10019e2e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x20], 0x603fa75c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10019e20
mov dword [ebp - 0x20], 0xe29e
imul eax, dword [ebp - 0xc], 0xe29e
test eax, eax
je 0x10019e53
mov edx, 0x2c33
xor cl, cl
call fcn.1001c6fd
jmp 0x10019e69
sub esp, 0x14
mov dword [ebp - 0x30], ecx
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.1001b502
add esp, 0x1c
mov dword [ebp - 0x28], 0xef9d7865
xor edx, edx
mov dword [ebp - 0x28], 0x2c36544d
inc edx
mov dword [ebp - 0x24], 0xf948
mov dword [ebp - 0x14], 0xb16eb2d3
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x10019ea2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x10], 0x184c
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x10019e94
mov dword [ebp - 8], ebx
jmp 0x10019eba
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c], 0xc106ec6e
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x10019eac
cmp dword [ebp - 0x10], ebx
je 0x10019ed7
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov esi, edx
cmp esi, eax
setge cl
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x10019ed9
mov edx, ebx
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x28], edx
mov dl, 0x20
mov cl, byte [esi]
call fcn.100228bd
mov ecx, dword [ebp + 0xc]
mov byte [esi], al
mov al, byte [ebp - 1]
mov byte [ecx], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret