Function at 0x404d90
Capabilities:
Get file size

Disassembly:
sub esp, 0xc
lea eax, [esp + 0x10]
push ebp
xor ebp, ebp
push esi
push edi
test eax, eax
jne 0x405173
push ebx
mov esi, 1
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404dcb
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404dcb
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404de9
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404de3
mov dword [edi], eax
jmp 0x404de9
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404db2
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404e16
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404e16
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404e34
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404e2e
mov dword [edi], eax
jmp 0x404e34
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404dfd
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404e61
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404e61
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404e7f
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404e79
mov dword [edi], eax
jmp 0x404e7f
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404e48
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404eac
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404eac
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404eca
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404ec4
mov dword [edi], eax
jmp 0x404eca
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404e93
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404ef7
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404ef7
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404f15
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x404f0f
mov dword [edi], eax
jmp 0x404f15
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404ede
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404f42
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x404f42
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404f60
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x404f5a
mov dword [edi], eax
jmp 0x404f60
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404f29
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404f8d
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x404f8d
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404fab
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x404fa5
mov dword [edi], eax
jmp 0x404fab
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404f74
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x404fd8
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x404fd8
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x404ff6
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x404ff0
mov dword [edi], eax
jmp 0x404ff6
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x404fbf
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x405023
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x405023
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x405041
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x40503b
mov dword [edi], eax
jmp 0x405041
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x40500a
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x40506e
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x40506e
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x40508c
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x405086
mov dword [edi], eax
jmp 0x40508c
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x405055
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x4050b9
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x4050b9
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x4050d7
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x4050d1
mov dword [edi], eax
jmp 0x4050d7
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x4050a0
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x405104
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x405104
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x405122
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x40511c
mov dword [edi], eax
jmp 0x405122
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x4050eb
mov esi, 1
xor eax, eax
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
cmp eax, ebp
je 0x40514f
lea ecx, [esp + 0x20]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x40514f
mov eax, dword [esp + eax*4 + 0x10]
jmp 0x40516d
inc esi
add edi, 4
lea ecx, [esp + 0x20]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x405167
mov dword [edi], eax
jmp 0x40516d
mov ecx, dword [esp + eax*4 + 0x10]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x405136
pop ebx
mov edx, dword [esp + 0x1c]
push ebp
push 0x80
push 3
push ebp
push 1
push 0x80000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4051a0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret 4
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0xc
ret 4