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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push dword [0x448f08]
xor edi, edi
mov dword [ebp - 8], edi
call fcn.00421892
mov esi, eax
call fcn.0041969b
cmp dword [ebp + 8], edi
jne 0x4191d4
mov dword [ebp + 8], 0x43d00b
push edi
mov ebx, pe_nt_image_headers32
push ebx
push 3
push edi
push 1
push 0xc0000000
push dword [ebp + 8]
mov dword [esi + 0xc], edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
call edi
mov dword [esi], eax
cmp eax, 0xffffffff
jne 0x419239
push 0
push ebx
push 3
push 0
push 1
push 0x80000000
push dword [ebp + 8]
call edi
mov dword [esi], eax
cmp eax, 0xffffffff
jne 0x419229
push 0
push ebx
push 3
push 0
push 3
push 0x80000000
push dword [ebp + 8]
call edi
mov dword [esi], eax
cmp dword [esi], 0xffffffff
mov dword [esi + 0xc], 1
je 0x41940d
xor edi, edi
push edi
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x18], edi
mov dword [esi + 0x2c], eax
cmp ebx, 3
jl 0x41929b
push edi
lea eax, [ebp - 0xc]
push eax
push 3
lea eax, [ebp - 4]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0xc], 3
jne 0x419290
push 3
lea eax, [ebp - 4]
push 0x43d094
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x419290
mov dword [esi + 0x18], 0xfde9
sub ebx, 3
jmp 0x41929b
push edi
push edi
push edi
push dword [esi]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp ebx, edi
jle 0x4192c9
lea eax, [ebx + 2]
push eax
push edi
push dword [0x4484d8]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esi + 0x10], eax
cmp eax, edi
je 0x4192c9
push edi
lea ecx, [ebp - 0xc]
push ecx
push ebx
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ebx, dword [ebp - 0xc]
mov eax, dword [esi + 0x10]
cmp eax, edi
je 0x419444
xor ecx, ecx
mov word [eax + ebx], cx
mov edi, dword [esi + 0x10]
lea eax, [edi + ebx]
mov dword [esi + 0x14], eax
mov bl, 0xa
cmp edi, eax
jae 0x419444
mov al, byte [edi]
cmp al, 0x20
je 0x4192f7
cmp al, 9
jne 0x4192fa
inc edi
jmp 0x4192ed
mov al, byte [edi]
cmp al, 0x3b
jne 0x41933b
inc edi
cmp byte [edi], 0x20
jne 0x419307
inc edi
push edi
push 2
push dword [ebp - 8]
lea eax, [esi + 0x1c]
push eax
call fcn.00419178
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x419331
mov al, byte [edi]
cmp al, bl
je 0x4193f4
cmp al, 0xd
je 0x4193f4
inc edi
cmp byte [edi], 0
jne 0x41931e
jmp 0x4193f4
cmp al, 0x5b
jne 0x41938a
inc edi
push edi
push 1
push dword [ebp - 8]
lea eax, [esi + 0x1c]
push eax
call fcn.00419178
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x419366
mov al, byte [edi]
cmp al, 0x5d
je 0x419374
cmp al, bl
je 0x41936b
cmp al, 0xd
je 0x41936b
inc edi
cmp byte [edi], 0
jne 0x419357
cmp byte [edi], 0x5d
jne 0x4193f4
mov byte [edi], 0
jmp 0x419381
cmp al, bl
je 0x4193f7
cmp al, 0xd
je 0x4193f8
inc edi
mov al, byte [edi]
test al, al
jne 0x419379
jmp 0x4193f8
cmp al, bl
je 0x4193f8
cmp al, 0xd
je 0x4193f8
mov edx, edi
jmp 0x4193a5
cmp al, 0x3d
je 0x4193a9
cmp al, 0xd
je 0x4193a9
cmp al, bl
je 0x4193a9
inc edi
mov al, byte [edi]
test al, al
jne 0x419396
lea eax, [edi - 1]
jmp 0x4193bb
mov cl, byte [eax]
cmp cl, 0x20
je 0x4193ba
cmp cl, 9
jne 0x4193bf
dec eax
cmp eax, edx
ja 0x4193ae
mov byte [eax + 1], 0
inc edi
mov al, byte [edi]
cmp al, 0x20
je 0x4193c3
cmp al, 9
je 0x4193c3
push edi
push edx
push dword [ebp - 8]
lea eax, [esi + 0x1c]
push eax
call fcn.00419178
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x4193ef
mov al, byte [edi]
cmp al, bl
je 0x4193f4
cmp al, 0xd
je 0x4193f4
inc edi
cmp byte [edi], 0
jne 0x4193e4
mov byte [edi], 0
inc edi
mov al, byte [edi]
cmp al, bl
je 0x4193f7
cmp al, 0xd
je 0x4193f7
cmp edi, dword [esi + 0x14]
jb 0x4192ed
jmp 0x419444
mov eax, dword [ebp + 0xc]
push dword [ebp + 8]
xor edi, edi
mov dword [esi], edi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x18], edi
call sub.MSVCRT.dll_strlen
pop ecx
inc eax
push eax
push edi
push dword [0x4484d8]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esi + 4], eax
cmp eax, edi
je 0x419444
push dword [ebp + 8]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
mov eax, dword [esi]
pop edi
pop esi
pop ebx
leave
ret 8