Function at 0x408f44
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x2e8
mov eax, 0x41b126
call fcn.0040e769
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2d8], eax
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor ebx, ebx
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.0040cd10
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x2cc], eax
cmp eax, 0xffffffff
je 0x409349
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
je 0x409349
push esi
call fcn.0040a98a
pop ecx
mov dword [ebp - 0x2d0], eax
cmp eax, ebx
je 0x409349
xor eax, eax
mov dword [ebp - 0x2ec], ebx
lea edi, [ebp - 0x2e8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x2d4]
push eax
push esi
push dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], ebx
push dword [ebp - 0x2cc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x409349
mov eax, dword [ebp - 0x2d0]
lea esi, [eax + esi - 1]
jmp 0x409031
dec esi
mov al, byte [esi]
mov byte [ebp - 0x2c1], al
cmp al, bl
je 0x409030
lea edi, [esi - 1]
mov dword [ebp - 0x2cc], edi
jmp 0x409065
mov al, byte [ebp - 0x2c1]
sub byte [esi], al
push 2
push 0x4211c4
push esi
call fcn.0040dfc0
add esp, 0xc
test eax, eax
je 0x409072
dec esi
cmp esi, dword [ebp - 0x2d0]
ja 0x409048
jmp 0x409349
lea eax, [esi + 2]
cmp eax, ebx
je 0x409349
cmp edi, ebx
je 0x409349
sub edi, eax
cmp edi, 0x2710
jg 0x409349
push 0xf
pop esi
mov edi, eax
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x240], ebx
mov byte [ebp - 0x250], bl
mov byte [ebp - 4], 1
cmp eax, dword [ebp - 0x2cc]
jae 0x409321
jmp 0x4090da
mov edi, dword [ebp - 0x2c8]
push 0xf
pop esi
push 0x42022c
push edi
call fcn.0040e080
pop ecx
pop ecx
mov dword [ebp - 0x2c8], eax
cmp eax, ebx
je 0x409321
cmp eax, dword [ebp - 0x2cc]
jae 0x409321
sub eax, edi
push eax
push edi
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00401820
lea esi, [ebp - 0x234]
lea edi, [ebp - 0x26c]
mov byte [ebp - 4], 2
call fcn.0040151d
push ebx
push 1
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.004015bb
mov eax, dword [ebp - 0x2c8]
push 0x4211c8
push eax
lea esi, [eax + 1]
call fcn.0040e080
pop ecx
pop ecx
mov dword [ebp - 0x2c8], eax
cmp eax, ebx
je 0x40916d
cmp eax, dword [ebp - 0x2cc]
jb 0x409179
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
sub eax, esi
push eax
push esi
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], 0xf
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
call fcn.00401820
lea esi, [ebp - 0x234]
lea edi, [ebp - 0x250]
mov byte [ebp - 4], 3
call fcn.0040151d
push ebx
push 1
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.004015bb
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x250]
inc eax
push 0x10
pop edi
mov dword [ebp - 0x2c8], eax
mov eax, ecx
cmp dword [ebp - 0x23c], edi
jae 0x4091ed
lea eax, [ebp - 0x250]
add eax, dword [ebp - 0x240]
cmp dword [ebp - 0x23c], edi
jae 0x409201
lea ecx, [ebp - 0x250]
push 7
pop esi
push dword [ebp - 0x2d4]
xor edx, edx
push eax
push ecx
lea eax, [ebp - 0x288]
push eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x278], ebx
mov word [ebp - 0x288], dx
call fcn.00409c67
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x26c]
mov eax, ecx
cmp dword [ebp - 0x258], edi
jae 0x409247
lea eax, [ebp - 0x26c]
add eax, dword [ebp - 0x25c]
cmp dword [ebp - 0x258], edi
jae 0x40925b
lea ecx, [ebp - 0x26c]
push dword [ebp - 0x2d4]
xor edx, edx
push eax
push ecx
lea eax, [ebp - 0x234]
push eax
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x224], ebx
mov word [ebp - 0x234], dx
call fcn.00409c67
lea ebx, [ebp - 0x234]
lea esi, [ebp - 0x2c0]
mov byte [ebp - 4], 5
call fcn.004014f7
lea ebx, [ebp - 0x288]
lea esi, [ebp - 0x2a4]
mov byte [ebp - 4], 6
call fcn.004014f7
mov edx, dword [ebp - 0x2d8]
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 7
call fcn.00409cbc
push eax
push dword [ebp - 0x2d8]
lea esi, [ebp - 0x2f4]
call fcn.00409a5b
xor ebx, ebx
inc ebx
push ebx
xor edi, edi
lea esi, [ebp - 0x2a4]
call fcn.004017e3
push ebx
lea esi, [ebp - 0x2c0]
call fcn.004017e3
push ebx
lea esi, [ebp - 0x234]
call fcn.004017e3
push ebx
lea esi, [ebp - 0x288]
mov byte [ebp - 4], bl
call fcn.004017e3
mov eax, dword [ebp - 0x2cc]
xor ebx, ebx
cmp dword [ebp - 0x2c8], eax
jb 0x4090d1
push dword [ebp - 0x2d0]
call fcn.0040d98d
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x250]
call fcn.004015bb
push ebx
push 1
lea ecx, [ebp - 0x26c]
call fcn.004015bb
call fcn.0040e7b3
ret 4