Function at 0x44b3c0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x950
mov eax, dword [0x4ad288]
xor eax, esp
mov dword [esp + 0x94c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x960]
cmp dword [ebp + 0x104], 0
push esi
lea ebx, [ebp + 0x11c]
push edi
mov edi, dword [esp + 0x964]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebx
mov dword [ebx], 0
je 0x44b43b
push 0
push 0x8000
push edi
call fcn.0045298e
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je case.0x44b779.134
mov eax, dword [ebp + 0x104]
push 0
push eax
push esi
call fcn.00455079
add esp, 0xc
mov dword [0x4aceec], edi
jmp 0x44b5a3
lea edx, [esp + 0x58]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44b443
lea ecx, [esp + 0x58]
push str..pcm
push ecx
call fcn.00406650
push 0
lea edx, [esp + 0x64]
push 0x8000
push edx
call fcn.0045298e
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
jne 0x44b599
lea eax, [esp + 0x58]
push str..wav
push eax
call fcn.00406650
push 0
lea ecx, [esp + 0x64]
push 0x8000
push ecx
call fcn.0045298e
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
jne 0x44b599
lea edx, [esp + 0x58]
push str..ogg
push edx
call fcn.00406650
push 0
lea eax, [esp + 0x64]
push 0x8000
push eax
call fcn.0045298e
add esp, 0x14
cmp eax, esi
je case.0x44b779.134
mov esi, dword [esp + 0x96c]
lea ecx, [esp + 0x58]
push esi
lea edx, [esp + 0x20]
mov dword [0x4aceec], ecx
mov ecx, dword [ebp + 0x100]
push edx
push ecx
push eax
call fcn.0044aaf0
add esp, 0x10
test eax, eax
jle case.0x44b779.134
test esi, esi
je 0x44b563
mov edx, dword [esp + 0x1c]
push edx
push 0x4ee918
call fcn.0044acd0
add eax, 0x86
add esp, 8
cmp eax, 6
ja case.0x44b522.131
movzx eax, byte [eax + 0x44bbb4]
jmp dword [eax*4 + 0x44bbac]
mov eax, 1
jmp 0x44b580
lea ecx, [ebp + 0x108]
push ecx
push 0x4ee918
call fcn.0044a9e0
add esp, 8
test eax, eax
jl case.0x44b779.134
mov dword [0x4ea8f0], eax
mov dword [0x4acd20], 0xffffffff
mov dword [0x4ea8f4], 5
jmp 0x44b578
mov eax, dword [esp + 0x1c]
push ebx
lea edx, [ebp + 0x108]
push edx
push eax
call fcn.0044ad20
add esp, 0xc
mov dword [ebp + 0x100], eax
xor eax, eax
mov ecx, dword [esp + 0x95c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00450ada
add esp, 0x950
ret
lea ecx, [esp + 0x58]
mov dword [0x4aceec], ecx
push 0xc
lea edx, [esp + 0x50]
push edx
push esi
mov dword [esp + 0x2c], 1
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0xc
jne 0x44bb69
mov eax, dword [esp + 0x4c]
cmp eax, 0x4d435058
jne 0x44b9fa
movsx ebx, byte [esp + 0x54]
cmp ebx, 1
je 0x44b841
cmp ebx, 3
je 0x44b841
cmp ebx, 2
jne 0x44b70f
mov eax, dword [esp + 0x50]
push 0x10
lea ecx, [ebp + 0x108]
push ecx
push esi
mov dword [esp + 0x1c], eax
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x10
jne 0x44bb69
xor edi, edi
cmp dword [esp + 0x96c], edi
je 0x44b66c
mov edx, dword [esp + 0x10]
mov dword [0x4ea8f0], edx
mov dword [0x4acd20], esi
mov dword [0x4ea8f4], ebx
movzx eax, word [ebp + 0x10a]
mov dword [0x4ee910], eax
mov dword [0x4ee8f8], edi
mov dword [0x4ee8fc], edi
mov dword [0x4ee904], edi
mov dword [0x4ee908], edi
mov dword [esp + 0x20], edi
jmp 0x44bb56
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0044b140
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [edx], eax
cmp eax, edi
je 0x44bb73
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.004516a4
mov edi, eax
add esp, 4
test edi, edi
je 0x44bb73
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
push eax
push edi
push esi
call fcn.00452f7d
mov ecx, eax
mov eax, dword [esp + 0x1c]
cdq
sub eax, edx
sar eax, 1
add esp, 0xc
mov dword [esp + 0x14], ecx
cmp ecx, eax
jne 0x44bb73
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
movzx ecx, word [ebp + 0x10a]
push ecx
lea edx, [esp + 0x30]
push edx
push edi
push eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
call fcn.0044b160
push edi
call fcn.00450c17
add esp, 0x18
xor edi, edi
mov dword [esp + 0x20], edi
jmp 0x44bb56
cmp ebx, 5
jne 0x44b7bc
push 4
lea edx, [esp + 0x14]
push edx
push esi
call fcn.00452f7d
mov edi, dword [esp + 0x978]
push edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
push ecx
push eax
push esi
mov dword [ebp + 0x100], eax
call fcn.0044aaf0
add esp, 0x1c
test eax, eax
jle case.0x44b779.134
test edi, edi
je 0x44b7a6
mov edx, dword [esp + 0x1c]
push edx
push 0x4ee918
call fcn.0044acd0
add eax, 0x86
add esp, 8
cmp eax, 6
ja case.0x44b779.131
movzx eax, byte [eax + 0x44bbc4]
jmp dword [eax*4 + 0x44bbbc]
lea ecx, [ebp + 0x108]
push ecx
push 0x4ee918
call fcn.0044a9e0
add esp, 8
test eax, eax
jge 0x44b548
mov eax, 1
jmp 0x44b580
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
lea eax, [ebp + 0x108]
push eax
push ecx
jmp 0x44b570
push 0x10
lea edx, [ebp + 0x108]
push edx
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x10
jne 0x44bb69
mov eax, dword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x96c], edi
je 0x44b808
mov dword [0x4ea8f0], eax
mov dword [0x4acd20], esi
mov dword [0x4ea8f4], edi
mov dword [esp + 0x20], edi
jmp 0x44bb56
push eax
call fcn.0044b140
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
cmp eax, edi
je 0x44bb73
mov edx, dword [esp + 0x10]
push edx
push eax
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x10]
je 0x44b9ef
jmp 0x44bb73
mov eax, dword [esp + 0x50]
push 0x10
lea ecx, [ebp + 0x108]
push ecx
push esi
mov dword [esp + 0x1c], eax
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x10
jne 0x44bb69
push 4
lea edx, [esp + 0x28]
push edx
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 4
jne 0x44bb69
mov eax, dword [esp + 0x10]
xor edi, edi
cmp dword [esp + 0x96c], edi
je 0x44b8dd
movsx ecx, byte [esp + 0x55]
mov edx, dword [esp + 0x24]
push edx
mov dword [0x4ea8f0], eax
mov dword [0x4acd20], esi
mov dword [0x4ea8f4], 1
mov dword [0x4ee910], edi
mov dword [0x4acee8], ecx
call fcn.0044a7d0
push 0x40
push edi
push 0x4ea8f8
call fcn.00450b20
add esp, 0x10
mov dword [esp + 0x20], edi
jmp 0x44bb56
add eax, 0x2000
push eax
call fcn.0044b140
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
cmp eax, edi
je 0x44bb73
mov ecx, dword [esp + 0x10]
mov eax, 0x81020409
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
shl eax, 0xc
add eax, 0x4002
push eax
call fcn.004516a4
mov edi, eax
add esp, 4
test edi, edi
je 0x44bb73
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
push ecx
push eax
push esi
call fcn.00452f7d
mov ebp, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, ebp
jne 0x44bb73
cmp ebx, 3
jne 0x44b991
mov ecx, dword [esp + 0x10]
mov eax, 0x81020409
imul ecx
add edx, ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
shl ecx, 0xc
add ecx, 0x4002
push ebp
mov dword [esp + 0x18], ecx
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
call fcn.00469330
add esp, 0x10
jmp 0x44b9a2
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
push edi
push ebp
push eax
call fcn.0044a3f0
add esp, 0xc
movsx ebx, byte [esp + 0x55]
push 0x8000
call fcn.004516a4
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x44b9c8
push edi
call fcn.00450c17
add esp, 4
jmp 0x44bb73
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
push ebp
push ebx
push ecx
push edi
push eax
call fcn.00449f90
push ebp
call fcn.00450c17
push edi
call fcn.00450c17
mov ebp, dword [esp + 0x44]
add esp, 0x1c
xor edi, edi
mov dword [esp + 0x20], edi
jmp 0x44bb56
cmp eax, 0x46464952
je 0x44ba0f
cmp dword [esp + 0x54], 0x45564157
jne 0x44bb56
mov edi, dword [esp + 0x50]
add edi, 0xfffffffc
push 8
lea ecx, [esp + 0x48]
push ecx
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 8
jne 0x44bb56
sub edi, eax
mov eax, dword [esp + 0x44]
cmp eax, 0x20746d66
jne 0x44baa1
push 0x10
lea edx, [ebp + 0x108]
push edx
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x10
jne 0x44bb56
sub edi, eax
mov eax, dword [esp + 0x48]
sub eax, 0x10
mov dword [esp + 0x48], eax
cmp eax, 0x800
ja 0x44bb56
test eax, eax
jle 0x44baf7
push eax
lea eax, [esp + 0x160]
push eax
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x48]
jne 0x44bb56
jmp 0x44baf7
cmp eax, 0x61746164
mov eax, dword [esp + 0x48]
je 0x44bb01
cmp eax, 0x800
jbe 0x44bae1
push 0x800
lea ecx, [esp + 0x160]
push ecx
push esi
call fcn.00452f7d
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
sub eax, 0x800
add esp, 0xc
mov dword [esp + 0x48], eax
cmp eax, 0x800
ja 0x44bab3
push eax
lea edx, [esp + 0x160]
push edx
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
test edi, edi
jg 0x44ba16
jmp 0x44bb56
cmp dword [esp + 0x96c], 0
mov dword [esp + 0x10], eax
je 0x44bb26
mov dword [0x4ea8f0], eax
mov dword [0x4acd20], esi
mov dword [0x4ea8f4], 0
jmp 0x44bb4e
push eax
call fcn.0044b140
add esp, 4
mov dword [ebx], eax
test eax, eax
je 0x44bb56
mov ecx, dword [esp + 0x10]
push ecx
push eax
push esi
call fcn.00452f7d
add esp, 0xc
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x10]
jne 0x44bb56
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x10]
xor edx, edx
mov word [ebp + 0x118], dx
mov dword [ebp + 0x100], eax
cmp dword [esp + 0x96c], 0
jne 0x44bb7c
push esi
call fcn.004520b2
add esp, 4
cmp dword [esp + 0x20], 0
je 0x44b57e
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
test eax, eax
je 0x44bba0
push eax
call fcn.00450c17
add esp, 4
mov dword [esi], 0
mov eax, 1
jmp 0x44b580