Function at 0x4072c0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x11c]
push edi
xor edi, edi
push edi
push 0x80
push 3
push edi
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x40732d
mov ecx, dword [0x5b5574]
lea eax, [esp + 0x1c]
push 0x40
push eax
push 0x4e70
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [esp + 0x124]
lea edx, [esp + 0x1c]
push esi
push edx
push eax
call fcn.004d5ee1
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
push 0x34
call fcn.004d5aaa
add esp, 4
mov ebx, eax
cmp ebx, edi
push ebp
jne 0x407351
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10c
ret
mov dword [ebx + 8], edi
call fcn.00407200
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [ebx], esi
ja 0x407378
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10c
ret
lea ecx, [esi + esi*8]
lea edx, [ecx*4 + 0x10]
push edx
push ebx
call fcn.004d63e4
mov ebx, eax
add esp, 8
cmp ebx, edi
jne 0x4073a6
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10c
ret
mov dword [ebx], esi
mov dword [ebx + 8], edi
shl esi, 4
push esi
call fcn.004d5aaa
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [esp + 0x10], esi
je 0x4073e8
mov ecx, dword [ebx]
lea eax, [esp + 0x14]
push edi
push eax
shl ecx, 4
push ecx
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4073e8
mov eax, dword [ebx]
mov ecx, dword [esp + 0x14]
mov edx, eax
shl edx, 4
cmp ecx, edx
je 0x407405
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.004d59c1
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
cmp eax, edi
mov dword [esp + 0x18], edi
jle 0x4074c5
add esi, 8
lea edi, [ebx + 0x20]
mov eax, dword [esi]
test eax, eax
jbe 0x4074e2
cmp eax, 0x50
jb 0x4074e2
add eax, 0x400
push eax
call fcn.004d5aaa
add esp, 4
mov dword [edi - 4], eax
test eax, eax
je 0x4074e2
mov eax, dword [esi]
mov dword [edi], eax
mov ecx, dword [esi + 4]
cmp eax, 0x17d78400
mov dword [edi + 4], ecx
ja 0x407509
mov edx, dword [esi + 4]
push 0
push 0
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x407530
mov ecx, dword [esi]
mov edx, dword [edi - 4]
lea eax, [esp + 0x14]
push 0
push eax
push ecx
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4074e2
mov eax, dword [esi]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jne 0x407509
push eax
lea eax, [edi - 0x10]
push eax
call fcn.004070a0
add esp, 8
test eax, eax
je 0x407530
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx]
inc eax
add esi, 0x10
add edi, 0x24
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x407417
mov esi, dword [esp + 0x10]
push esi
call fcn.004d59c1
add esp, 4
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x10c
ret
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.004d59c1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004d59c1
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.004d59c1
mov edx, dword [esp + 0x14]
push edx
call fcn.004d59c1
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.004d59c1
mov eax, dword [esp + 0x14]
push eax
call fcn.004d59c1
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret