Function at 0x413ad0
Capabilities:
Read file on windows

Disassembly:
mov edx, dword [esp + 8]
sub esp, 0x34
test edx, edx
push ebx
push ebp
push esi
push edi
mov esi, ecx
jne 0x413aed
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x413b05
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x10
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x413b31
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push 0
push 0
push eax
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
push 0
push edx
lea eax, [esp + 0x20]
push 0x2c
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
push str.RIFF
push edx
mov byte [esp + 0x1c], 0
mov byte [esp + 0x1d], 0
mov dword [esp + 0x18], ecx
call fcn.004b3980
add esp, 8
test eax, eax
je 0x413b9a
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push str.WAVE
push ecx
mov dword [esp + 0x18], eax
call fcn.004b3980
add esp, 8
test eax, eax
je 0x413bcb
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x10]
push str.fmt
push eax
mov dword [esp + 0x18], edx
call fcn.004b3980
add esp, 8
test eax, eax
je 0x413bfc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x10]
push 0x4da0d8
push edx
mov dword [esp + 0x18], ecx
call fcn.004b3980
add esp, 8
test eax, eax
je 0x413c2d
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov eax, dword [esp + 0x3a]
mov ecx, dword [esp + 0x2e]
mov edx, dword [esp + 0x30]
push 0
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push 0
push edx
mov ecx, esi
call fcn.004137b0
test eax, eax
jne 0x413c6d
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
lea ebp, [esi + 0x42]
lea eax, [esi + 0x3e]
lea ebx, [esi + 0x3a]
push ebp
lea ecx, [esi + 0x36]
push eax
mov eax, dword [esp + 0x48]
push ebx
push ecx
push eax
mov ecx, esi
call fcn.004139a0
test eax, eax
jne 0x413ca0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret 0x10
mov edx, dword [ebx]
mov eax, dword [esi + 0x36]
lea ecx, [esp + 0x4c]
push 0
push ecx
push edx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp]
test eax, eax
je 0x413ccf
mov edx, dword [esi + 0x3e]
lea ecx, [esp + 0x4c]
push 0
push ecx
push eax
push edx
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp]
mov ecx, dword [esi + 0x3e]
mov edx, dword [ebx]
push eax
mov eax, dword [esi + 0x36]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00413a80
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 4]
lea edi, [esi + 0x14]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [esi + 4]
lea ebx, [esi + 0x18]
push ebx
push eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov eax, dword [esi + 4]
lea ebp, [esi + 0x1c]
push ebp
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov edx, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [ebp]
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x34
ret 0x10