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

Disassembly:
push edi
push esi
push ebx
mov eax, dword [0x41e708]
push eax
call fcn.0040c960
push 0xf
call fcn.0041242c
push 0
push pe_nt_image_headers32
push 3
push 0
push 1
push 0x80000000
push 0x41c9b0
call sub.kernel32.dll_CreateFileA
mov dword [0x41c9ac], eax
add esp, 8
cmp eax, 0xffffffff
je 0x417443
push 0
push eax
call sub.kernel32.dll_GetFileSize
mov dword [0x423e80], eax
cmp eax, 0xffffffff
je 0x417443
call fcn.00417140
mov eax, dword [0x423e80]
inc eax
push eax
push 2
call sub.kernel32.dll_GlobalAlloc
push eax
call sub.kernel32.dll_GlobalLock
mov edx, eax
mov dword [0x42428c], edx
test edx, edx
je 0x417443
push 0
push 0x41d0d0
mov eax, dword [0x423e80]
push eax
push edx
mov eax, dword [0x41c9ac]
push eax
call sub.kernel32.dll_ReadFile
test eax, eax
je 0x417443
mov eax, dword [0x423e80]
cmp dword [0x41d0d0], eax
jne 0x417443
mov eax, dword [0x41c9ac]
push eax
call sub.kernel32.dll_CloseHandle
test eax, eax
je 0x417443
push 0x41cab4
call fcn.004108c8
mov eax, dword [0x41e5cc]
push eax
call fcn.0040c960
mov edx, dword [0x42428c]
mov eax, dword [0x423e80]
mov byte [eax + edx], 0
mov edi, 1
add esp, 8
mov eax, dword [0x42428c]
mov byte [0x42459c], 0
mov dword [0x424594], 0
mov dword [0x423e84], eax
cmp dword [esp + 0x10], 0
je 0x4172b1
cmp dword [0x426998], 0
jg 0x4172e6
mov eax, dword [0x426998]
test eax, eax
jge 0x4172bc
neg eax
mov dword [0x426998], eax
push 0x79
call fcn.00405aec
mov edi, eax
add esp, 4
cmp edi, 1
je 0x4172e6
cmp edi, 0xbbc
je 0x4172e6
call fcn.00417140
xor eax, eax
jmp 0x41748c
mov eax, dword [0x42428c]
mov byte [0x42459c], 0
mov dword [0x424188], eax
mov dword [0x423e84], eax
mov dword [0x424594], 0
mov eax, dword [0x41e708]
push eax
call fcn.0040c960
push 0xf
call fcn.0041242c
xor ebx, ebx
add esp, 8
mov esi, dword [0x424188]
call fcn.00416a84
inc ebx
test eax, eax
je 0x417335
cmp dword [0x426998], ebx
jg 0x41731d
mov eax, dword [0x41e5cc]
push eax
call fcn.0040c960
add esp, 4
cmp edi, 1
jne 0x417385
cmp dword [0x426998], ebx
jle 0x417379
dec ebx
mov dword [0x424188], esi
mov dword [0x423e84], esi
mov byte [0x42459c], 0
mov dword [0x424594], 0
mov dword [0x426998], ebx
call fcn.00416a84
call fcn.00416bf4
call fcn.00416d6c
jmp 0x4173f8
mov dword [0x4267fc], 0
push 0x41cab4
call fcn.004108c8
call fcn.00416bf4
add esp, 4
test eax, eax
je 0x4173f8
call fcn.00416d6c
test eax, eax
je 0x4173f8
call fcn.0040d3c4
push 1
push 0x1005
call fcn.0040d31c
push 1
push 0x1007
call fcn.0040d31c
push 0
call fcn.0041242c
add esp, 0x14
cmp dword [0x4267f8], 0
jne 0x4173f8
cmp dword [0x4267fc], 0
jne 0x4173f8
call fcn.00416a84
test eax, eax
je 0x4173f8
inc dword [0x426998]
jmp 0x41738f
mov eax, dword [0x423e84]
cmp dword [0x424188], eax
je 0x417411
cmp byte [eax - 1], 0x5b
jne 0x417411
dec eax
mov dword [0x423e84], eax
mov eax, dword [0x423e84]
mov byte [eax], 0
mov eax, dword [0x424188]
mov dword [0x424598], eax
push 1
push 0x100a
call fcn.0040d31c
push 0x41cab4
call fcn.004108c8
mov eax, 1
add esp, 0xc
jmp 0x41748c
mov eax, dword [0x41c9ac]
cmp eax, 0xffffffff
je 0x417453
push eax
call sub.kernel32.dll_CloseHandle
mov dword [0x426998], 0
call fcn.00417140
mov byte [0x41cab4], 0
push 0
call fcn.004108c8
mov eax, dword [0x41e5cc]
push eax
call fcn.0040c960
push 0x41c9b0
push 0
call fcn.004094f8
xor eax, eax
add esp, 0x10
pop ebx
pop esi
pop edi
ret