Function at 0x40cae2
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x44f400
call fcn.0042b9b8
sub esp, 0x48
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.0040d00e
mov eax, dword [0x4695a4]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push 4
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.00439c85
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00440ea2
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00440d69
push str..mp3
push dword [ebp - 0x20]
call fcn.0042c80c
pop ecx
test eax, eax
pop ecx
jne 0x40cfe2
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
je 0x40cfe2
push edi
push 4
lea eax, [ebp - 0x18]
push ebx
push eax
mov dword [ebp - 0x24], ebx
call fcn.0042bd20
fldz
add esp, 0xc
mov dword [ebp - 0x1c], ebx
fstp qword [ebp - 0x34]
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x14]
call fcn.0040c16f
test eax, eax
je 0x40ce1c
mov ecx, dword [ebp - 0x18]
push 1
pop edi
cmp dword [esi + 0x34], edi
jae 0x40cc0b
mov eax, ecx
push 3
shr eax, 0x13
pop edx
and eax, edx
sub eax, ebx
je 0x40cbd2
dec eax
je 0x40cbcd
dec eax
je 0x40cbc4
dec eax
jne 0x40cbd5
mov dword [esi + 0x40], edx
jmp 0x40cbd5
mov dword [esi + 0x40], 2
jmp 0x40cbd5
mov dword [esi + 0x40], ebx
jmp 0x40cbd5
mov dword [esi + 0x40], edi
mov eax, ecx
shr eax, 0x11
and eax, edx
sub eax, ebx
je 0x40cbfc
dec eax
je 0x40cbf7
dec eax
je 0x40cbee
dec eax
jne 0x40cbff
mov dword [esi + 0x44], edi
jmp 0x40cbff
mov dword [esi + 0x44], 2
jmp 0x40cbff
mov dword [esi + 0x44], edx
jmp 0x40cbff
mov dword [esi + 0x44], ebx
mov eax, ecx
shr eax, 0x10
and eax, edi
mov dword [esi + 0x48], eax
jmp 0x40cc0e
push 3
pop edx
mov eax, dword [esi + 0x44]
cmp eax, ebx
jle 0x40cc93
cmp dword [esi + 0x40], edx
jne 0x40cc56
dec eax
je 0x40cc45
dec eax
je 0x40cc34
dec eax
jne 0x40cc93
mov eax, ecx
shr eax, 0xc
and eax, 0xf
mov eax, dword [eax*4 + 0x466cdc]
jmp 0x40cc90
mov eax, ecx
shr eax, 0xc
and eax, 0xf
mov eax, dword [eax*4 + 0x466c9c]
jmp 0x40cc90
mov eax, ecx
shr eax, 0xc
and eax, 0xf
mov eax, dword [eax*4 + 0x466c5c]
jmp 0x40cc90
dec eax
je 0x40cc81
dec eax
je 0x40cc70
dec eax
jne 0x40cc93
mov eax, ecx
shr eax, 0xc
and eax, 0xf
mov eax, dword [eax*4 + 0x466d9c]
jmp 0x40cc90
mov eax, ecx
shr eax, 0xc
and eax, 0xf
mov eax, dword [eax*4 + 0x466d5c]
jmp 0x40cc90
mov eax, ecx
shr eax, 0xc
and eax, 0xf
mov eax, dword [eax*4 + 0x466d1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, ebx
jle 0x40cca0
add dword [ebp - 0x1c], eax
push 1
pop edi
mov eax, dword [esi + 0x40]
cmp eax, edx
jne 0x40ccd3
mov eax, ecx
shr eax, 0xa
and eax, edx
sub eax, ebx
je 0x40ccca
dec eax
je 0x40ccc1
dec eax
jne 0x40cd32
mov dword [esi + 0x58], 0x7d00
jmp 0x40cd32
mov dword [esi + 0x58], 0xbb80
jmp 0x40cd32
mov dword [esi + 0x58], 0xac44
jmp 0x40cd32
cmp eax, 2
jne 0x40cd04
mov eax, ecx
shr eax, 0xa
and eax, edx
sub eax, ebx
je 0x40ccfb
dec eax
je 0x40ccf2
dec eax
jne 0x40cd32
mov dword [esi + 0x58], 0x3e80
jmp 0x40cd32
mov dword [esi + 0x58], 0x5dc0
jmp 0x40cd32
mov dword [esi + 0x58], 0x5622
jmp 0x40cd32
cmp eax, edi
jne 0x40cd32
mov eax, ecx
shr eax, 0xa
and eax, edx
sub eax, ebx
je 0x40cd2b
dec eax
je 0x40cd22
dec eax
jne 0x40cd32
mov dword [esi + 0x58], 0x1f40
jmp 0x40cd32
mov dword [esi + 0x58], 0x2ee0
jmp 0x40cd32
mov dword [esi + 0x58], 0x2b11
mov edi, dword [esi + 0x58]
cmp edi, ebx
je 0x40ce1c
mov eax, ecx
push 3
shr eax, 6
pop edx
and eax, edx
sub eax, ebx
je 0x40cd6b
dec eax
je 0x40cd62
dec eax
je 0x40cd59
dec eax
jne 0x40cd6e
mov dword [esi + 0x5c], edx
jmp 0x40cd6e
mov dword [esi + 0x5c], 2
jmp 0x40cd6e
mov dword [esi + 0x5c], 1
jmp 0x40cd6e
mov dword [esi + 0x5c], ebx
mov eax, ecx
shr eax, 3
and eax, 1
mov dword [esi + 0x64], eax
mov eax, ecx
shr eax, 2
and eax, 1
mov dword [esi + 0x68], eax
mov eax, ecx
and eax, edx
sub eax, ebx
je 0x40cdac
dec eax
je 0x40cda3
dec eax
je 0x40cd9a
dec eax
jne 0x40cdaf
mov dword [esi + 0x60], edx
jmp 0x40cdaf
mov dword [esi + 0x60], 2
jmp 0x40cdaf
mov dword [esi + 0x60], 1
jmp 0x40cdaf
mov dword [esi + 0x60], ebx
cmp dword [esi + 0x44], 1
mov eax, dword [ebp - 0x10]
jne 0x40cdd0
imul eax, eax, 0x2ee0
cdq
idiv edi
shr ecx, 9
and ecx, 1
mov edi, eax
add edi, ecx
shl edi, 2
jmp 0x40cde3
imul eax, eax, 0x23280
cdq
idiv edi
shr ecx, 9
and ecx, 1
mov edi, eax
add edi, ecx
sub edi, 4
push 1
push ebx
push edi
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
inc dword [esi + 0x34]
cmp dword [ebp - 0x10], ebx
je 0x40cb83
add edi, 4
mov dword [ebp - 0x28], edi
fild dword [ebp - 0x28]
fmul qword [0x4546e0]
fidiv dword [ebp - 0x10]
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x34]
jmp 0x40cb83
cmp dword [esi + 0x34], ebx
jbe 0x40ce81
push 2
push 0
push 0
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edi, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
div dword [esi + 0x34]
fld qword [ebp - 0x34]
mov ebx, eax
call fcn.0042c124
mov ecx, eax
and dword [ebp - 0x30], 0
shr eax, 3
imul eax, ebx
mov dword [ebp - 0x34], edi
fild qword [ebp - 0x34]
and dword [ebp - 0x30], 0
mov dword [ebp - 0x34], eax
fmul qword [0x454710]
fild qword [ebp - 0x34]
fcompp
fnstsw ax
sahf
jae 0x40ce81
or dword [esi + 0x10], 2
and dword [ebp - 0x30], 0
mov dword [ebp - 0x34], ebx
mov dword [esi + 0x3c], ecx
fild qword [ebp - 0x34]
fstp qword [esi + 0x50]
push 2
push 0
push 0xffffffffffffff80
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x40cfc7
lea eax, [ebp - 0x2c]
push 0
mov edi, 0x80
lea ebx, [esi + 0x78]
push eax
push edi
push ebx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40cfc7
cmp dword [ebp - 0x2c], edi
jne 0x40cfc7
push 3
push 0x466dec
push ebx
call fcn.0042c760
add esp, 0xc
test eax, eax
jne 0x40cfc7
and byte [ebp - 0x36], al
push 0x1e
pop edi
lea eax, [esi + 0x7b]
push edi
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042b9e0
add esp, 0xc
lea eax, [ebp - 0x54]
lea ecx, [esi + 0x1c]
push eax
call fcn.00440ef2
lea eax, [esi + 0x99]
push edi
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042b9e0
add esp, 0xc
lea eax, [ebp - 0x54]
lea ecx, [esi + 0x18]
push eax
call fcn.00440ef2
lea eax, [esi + 0xb7]
push edi
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042b9e0
add esp, 0xc
lea eax, [ebp - 0x54]
lea ecx, [esi + 0x20]
push eax
call fcn.00440ef2
and byte [ebp - 0x50], 0
lea eax, [esi + 0xd5]
push 4
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042b9e0
add esp, 0xc
lea eax, [ebp - 0x54]
lea ecx, [esi + 0x28]
push eax
call fcn.00440ef2
cmp byte [esi + 0xf5], 0
je 0x40cf8e
lea eax, [esi + 0xd9]
push edi
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042b9e0
add esp, 0xc
lea eax, [ebp - 0x54]
lea ecx, [esi + 0x24]
push eax
call fcn.00440ef2
jmp 0x40cfc3
lea eax, [esi + 0xd9]
push 0x1c
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042b9e0
add esp, 0xc
lea eax, [ebp - 0x54]
lea ecx, [esi + 0x24]
push eax
call fcn.00440ef2
movzx eax, byte [esi + 0xf6]
mov dword [esi + 0x2c], eax
movzx eax, byte [esi + 0xf7]
mov dword [esi + 0x30], eax
or dword [esi + 0x10], 1
lea eax, [ebp + 8]
lea ecx, [esi + 0xc]
push eax
call fcn.00440ea2
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
pop esi
pop edi
jmp 0x40cfe4
xor esi, esi
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00440d69
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00440d69
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4