Function at 0x461aba
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push 3
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], ebx
call fcn.0042f328
mov dword [ebp - 8], 0x84257392
mov dword [ebp - 0xc], 5
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x10], ebx
jmp 0x461b04
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x461af7
mov edx, dword [ebp - 0x30]
xor ecx, ecx
push edi
xor edi, edi
mov eax, 0x6cd33356
inc edi
cmp dword [edx + 8], edi
setge cl
sub eax, ecx
je 0x461b29
mov eax, edi
cmp dword [edx + 4], ebx
jne 0x461b2b
mov eax, ebx
cmp eax, dword [edx + 4]
je 0x461b37
mov ecx, edi
cmp dword [edx + 4], ebx
jne 0x461b39
mov ecx, ebx
mov eax, dword [edx]
add eax, ecx
xor ecx, ecx
cmp eax, dword [edx + 8]
setge cl
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
je 0x461b54
mov eax, edi
cmp dword [edx + 4], ebx
jne 0x461b56
mov eax, ebx
cmp edi, eax
sbb eax, eax
inc eax
cmp eax, 0xffffffff
jne 0x461b63
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, 0xffffb26e
setne dl
sub eax, edx
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ecx
jne 0x461bd2
cmp dword [ebp - 0x18], ebx
jne 0x461bd2
mov dword [ebp - 8], 0x1b
jmp 0x461bc3
mov dword [ebp - 0xc], ebx
jmp 0x461bba
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x461bb7
push 0xf31
push 0x3e5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x16
jl 0x461b98
dec dword [ebp - 8]
cmp dword [ebp - 8], 8
je 0x461b93
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 5
je 0x461b85
lea ecx, [ebp - 0x30]
call fcn.0042f3fa
push 0x2946
push 0x6b90
push 0x5e
push 0x4482
push 0x2f51
push esi
push edi
push edi
push edi
push edi
call fcn.00454c0e
mov dword [ebp - 8], 0x7f609b2b
add esp, 0x28
mov dword [ebp - 0x10], 4
mov dword [ebp - 0xc], ebx
jmp 0x461c1a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x24], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x461c10
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
test eax, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp eax, edx
pop edi
setge cl
cmp dword [ebp - 0x20], ecx
jne 0x461c94
mov dword [ebp - 8], ebx
jmp 0x461c61
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x461c5e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
inc dword [ebp - 8]
cmp dword [ebp - 8], 9
je 0x461c4e
mov dword [ebp - 0x10], 0xfffffffd
jmp 0x461c8c
mov dword [ebp - 8], ebx
jmp 0x461c83
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x24], 0x50f6b34c
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x461c75
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xc
jg 0x461c70
jmp 0x461cae
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x461cae
push ebx
push 0x2fc
push 0x1fae
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push esi
call fcn.0042ab37
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret