Function at 0x1001666
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
or dword [ebp - 0x18], 0xffffffff
mov eax, dword [0x101188c]
inc eax
mov dword [0x101188c], eax
mov eax, dword [0x101188c]
cmp eax, dword [0x101192c]
jbe 0x10018f7
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x18], 0xffffffff
jne 0x10016db
call fcn.010015d4
push 0x1011044
push 0x40
push 0x200
push dword [0x10118e4]
call dword [0x10118bc]
mov eax, dword [0x1011034]
movzx eax, byte [eax + 1]
mov ecx, dword [0x1011034]
movzx ecx, byte [ecx + 0xe]
sub eax, ecx
test eax, eax
je 0x10016db
mov eax, dword [0x1011054]
add eax, 0x1388
mov dword [0x1011054], eax
mov eax, dword [0x1011470]
sub eax, dword [0x101104c]
mov ecx, dword [0x1011054]
add ecx, eax
mov dword [0x1011054], ecx
mov eax, dword [0x1011054]
sub eax, 0x64
mov dword [0x1011054], eax
cmp dword [0x1011054], 0
jge 0x1001716
mov eax, dword [0x10118c0]
mov dword [0x1011054], eax
jmp 0x100172a
fld qword [0x1011878]
call fcn.0100dc58
inc eax
mov ecx, dword [0x10118e0]
mov dword [ecx], eax
mov eax, dword [0x1011054]
sub eax, dword [0x10118c0]
test eax, eax
je 0x1001748
call fcn.010011af
call fcn.01005fcc
jmp 0x10018f7
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x1011040], eax
jmp 0x1001762
mov eax, dword [0x1011040]
inc eax
mov dword [0x1011040], eax
mov eax, dword [0x1011050]
mov ecx, dword [0x1011040]
cmp ecx, dword [eax + 0x620]
jae 0x10018f5
mov dword [0x1011938], 0x100194c
mov dword [0x101193c], 0x10030cc
mov dword [0x1011940], 0x100484c
mov dword [0x1011944], 0x1005fd3
mov dword [0x1011948], 0x1007753
mov dword [0x101194c], 0x1008ed3
mov dword [0x1011950], 0x100a653
mov dword [0x1011954], 0x100bdd3
mov eax, dword [0x1011054]
sub eax, dword [0x10118c0]
mov ecx, dword [0x1011040]
add ecx, eax
mov eax, dword [0x1011050]
movzx eax, word [eax + ecx*2 + 0x20]
mov dword [0x1011030], eax
and dword [0x1011044], 0
jmp 0x10017ff
mov eax, dword [0x1011044]
inc eax
mov dword [0x1011044], eax
mov eax, dword [0x1011044]
cmp eax, dword [0x1011030]
ja 0x1001854
mov eax, dword [0x1011048]
and eax, 0xf
mov dword [0x1011048], eax
mov eax, dword [0x1011050]
add eax, dword [0x1011048]
movzx eax, byte [eax + 0x10]
mov eax, dword [eax*4 + 0x1011934]
inc eax
mov ecx, dword [0x1011050]
add ecx, dword [0x1011048]
movzx ecx, byte [ecx + 0x10]
mov dword [ecx*4 + 0x1011934], eax
mov eax, dword [0x1011048]
inc eax
mov dword [0x1011048], eax
jmp 0x10017f4
mov eax, dword [0x1011048]
dec eax
mov dword [0x1011048], eax
mov eax, dword [0x1011050]
add eax, dword [0x1011048]
movzx eax, byte [eax + 0x10]
mov eax, dword [eax*4 + 0x1011934]
dec eax
mov ecx, dword [0x1011050]
add ecx, dword [0x1011048]
movzx ecx, byte [ecx + 0x10]
mov dword [ecx*4 + 0x1011934], eax
mov eax, dword [0x1011050]
add eax, dword [0x1011048]
movzx eax, byte [eax + 0x10]
mov eax, dword [eax*4 + 0x1011934]
mov al, byte [eax]
mov byte [0x101102c], al
mov eax, dword [0x10118e4]
add eax, dword [0x1011040]
mov al, byte [eax]
xor al, byte [0x101102c]
mov ecx, dword [0x10118e4]
add ecx, dword [0x1011040]
mov byte [ecx], al
mov eax, dword [0x1011048]
and eax, 0x1f0
mov dword [0x1011048], eax
push 0x2c
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [0x1011048]
add ecx, eax
mov dword [0x1011048], ecx
jmp 0x1001757
jmp 0x1001947
push 0x1011040
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [0x1011890], eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [0x1011890]
push dword [ebp - 0x18]
push dword [0x101188c]
push str.KDE3.0__ubuntu__02d____04X____08X
push 0x1011068
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov eax, dword [ebp - 4]
add eax, 5
cmp dword [0x101188c], eax
jb 0x1001670
mov eax, dword [ebp - 0x14]
leave
ret