Function at 0x4906a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x26c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x27c]
push edi
or ebp, 0xffffffff
push esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x30], 0
call fcn.0048c4e0
mov ebx, eax
push esi
push 8
lea eax, [esp + 0x20]
push 1
push eax
call fcn.0048c1f0
push esi
push 4
lea ecx, [esp + 0x70]
push 1
push ecx
call fcn.0048c1f0
mov eax, dword [esp + 0x3c]
push 4
mov edi, eax
mov edx, eax
mov ecx, eax
and edi, 0xff0000
shr edx, 0x10
shl ecx, 0x10
and eax, 0xff00
or edi, edx
or ecx, eax
lea edx, [esp + 0x3c]
shr edi, 8
shl ecx, 8
or edi, ecx
push str.FORM
push edx
mov dword [esp + 0x80], edi
call fcn.004c1b50
add esp, 0x30
test eax, eax
jne 0x490c36
push 4
lea eax, [esp + 0x58]
push str.AIFF
push eax
call fcn.004c1b50
add esp, 0xc
test eax, eax
jne 0x490c36
mov eax, dword [esp + 0x284]
test eax, eax
je 0x49075d
mov dword [eax], ebp
mov ebp, dword [esp + 0x28c]
mov ecx, dword [ebp]
and ecx, 0xfffffe07
add ebx, 0xc
mov dword [ebp], ecx
mov dword [esp + 0x20], ebx
jmp 0x49077d
mov ebx, dword [esp + 0x20]
push 0
push ebx
push esi
call fcn.0048c430
push esi
push 8
lea ecx, [esp + 0x28]
push 1
push ecx
call fcn.0048c1f0
mov eax, dword [esp + 0x34]
push 4
mov edx, eax
mov ecx, eax
and edx, 0xff0000
push str.COMM
shr ecx, 0x10
or edx, ecx
mov ecx, eax
shl ecx, 0x10
and eax, 0xff00
or ecx, eax
shr edx, 8
shl ecx, 8
or edx, ecx
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x38]
push edx
call fcn.004c1b50
add esp, 0x28
test eax, eax
jne 0x4908ac
push esi
push 0x12
lea eax, [esp + 0x38]
push 1
push eax
call fcn.0048c1f0
xor ecx, ecx
mov cl, byte [esp + 0x41]
mov ch, byte [esp + 0x40]
mov word [esp + 0x40], cx
mov ecx, dword [esp + 0x42]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
xor ecx, ecx
mov cl, byte [esp + 0x47]
mov ch, byte [esp + 0x46]
shr eax, 8
shl edx, 8
or eax, edx
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x46], eax
mov word [esp + 0x4a], cx
mov dword [esp + 0x40], eax
call fcn.004905c0
add esp, 0x14
call fcn.004bfae0
mov ecx, dword [esp + 0x290]
mov dword [ecx], eax
mov ax, word [esp + 0x36]
cmp ax, 0x10
jne 0x490865
mov eax, dword [ebp]
or al, 0x10
jmp 0x490870
cmp ax, 8
jne 0x490873
mov eax, dword [ebp]
or al, 8
mov dword [ebp], eax
mov ax, word [esp + 0x30]
cmp ax, 2
jne 0x490892
mov eax, dword [ebp]
or al, 0x40
mov dword [ebp], eax
mov ebx, dword [esp + 0x294]
jmp 0x490afb
cmp ax, 1
jne 0x490886
mov eax, dword [ebp]
mov ebx, dword [esp + 0x294]
or al, 0x20
mov dword [ebp], eax
jmp 0x490afb
push 4
lea edx, [esp + 0x18]
push str.SSND
push edx
call fcn.004c1b50
add esp, 0xc
test eax, eax
jne 0x490909
push esi
push 8
lea eax, [esp + 0x74]
push 1
push eax
call fcn.0048c1f0
mov ebx, dword [esp + 0x294]
add esp, 0x10
cmp dword [ebx], 0xffffffff
jne 0x490886
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x288]
add ecx, 0xfffffff8
push esi
mov dword [edx], ecx
call fcn.0048c4e0
mov dword [ebx], eax
mov ebx, dword [esp + 0x298]
add esp, 4
jmp 0x490afb
push 4
lea eax, [esp + 0x18]
push str.INST
push eax
call fcn.004c1b50
add esp, 0xc
test eax, eax
jne 0x49096b
push esi
push 0x14
lea ecx, [esp + 0x60]
push 1
push ecx
call fcn.0048c1f0
add esp, 0x10
xor eax, eax
mov al, byte [esp + 0x63]
xor ecx, ecx
mov cl, byte [esp + 0x65]
mov ah, byte [esp + 0x62]
mov ch, byte [esp + 0x64]
mov ebx, dword [esp + 0x294]
mov word [esp + 0x62], ax
mov word [esp + 0x64], cx
movsx edx, ax
movsx eax, cx
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], eax
jmp 0x490afb
push 4
lea ecx, [esp + 0x18]
push str.MARK
push ecx
call fcn.004c1b50
add esp, 0xc
test eax, eax
jne 0x490886
push esi
push 2
lea edx, [esp + 0x2c]
push 1
push edx
call fcn.0048c1f0
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x2a4]
xor ecx, ecx
add esp, 0x10
mov cl, ah
mov ch, al
mov eax, ecx
test ebx, ebx
mov dword [esp + 0x24], eax
je 0x4909ff
and eax, 0xffff
mov dword [ebx], eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x4909d7
push 0xed
push str.F:WorkMMBuilderDesigner_4.9.0.1FMOD_src_format_aiff.c
push eax
push 0
call fcn.00486b00
add esp, 0x10
mov eax, dword [ebx]
push 0xef
mov edx, eax
push str.F:WorkMMBuilderDesigner_4.9.0.1FMOD_src_format_aiff.c
shl edx, 6
add edx, eax
shl edx, 2
push edx
push 0
call fcn.004869e0
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x34]
add esp, 0x10
xor ebp, ebp
cmp ax, bp
jbe 0x490af4
mov dword [esp + 0x10], ebp
push esi
push 7
lea eax, [esp + 0x4c]
push 1
push eax
call fcn.0048c1f0
mov eax, dword [esp + 0x56]
lea edi, [esp + 0x84]
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
push esi
shr edx, 0x10
or ecx, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
or edx, eax
xor eax, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov dword [esp + 0x5a], ecx
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x5e]
lea ecx, [esp + 0x88]
and eax, 0xff
inc eax
push eax
push 1
push ecx
call fcn.0048c1f0
mov eax, dword [esp + 0x66]
mov ecx, dword [esp + 0x4c]
add esp, 0x20
cmp eax, ecx
jb 0x490a89
lea eax, [ecx - 1]
mov dword [esp + 0x46], eax
mov ecx, dword [esp + 0x298]
test ecx, ecx
je 0x490aa7
cmp dword [esp + 0x28], ebp
jne 0x490a9e
mov dword [ecx], eax
jmp 0x490aa7
cmp dword [esp + 0x1c], ebp
jne 0x490aa7
mov dword [ecx + 4], eax
test ebx, ebx
je 0x490acf
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
push 0x100
mov dword [ecx + edx], eax
mov edx, dword [ebx + 8]
lea eax, [esp + 0x78]
push eax
lea eax, [ecx + edx + 4]
push eax
call fcn.004c08f0
add esp, 0xc
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
inc ebp
and ecx, 0xffff
add edi, 0x104
cmp ebp, ecx
mov dword [esp + 0x10], edi
jl 0x490a0e
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x28c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
test eax, eax
lea ecx, [edx + eax + 8]
mov dword [esp + 0x20], ecx
jge 0x490b1b
mov dword [esp + 0x20], 0xffffffff
mov ecx, dword [esp + 0x20]
cmp ecx, edi
jge 0x490b2e
test ecx, ecx
jg 0x490779
mov ebx, dword [esp + 0x294]
mov eax, dword [ebp]
test al, 0x18
je 0x490c40
test al, 0x60
je 0x490c40
mov eax, dword [esp + 0x284]
test eax, eax
je 0x490b64
cmp dword [eax], 0xffffffff
jne 0x490b64
pop edi
pop esi
mov dword [eax], 0
pop ebp
xor al, al
pop ebx
add esp, 0x26c
ret
test ebx, ebx
je 0x490c29
mov eax, dword [ebx + 8]
test eax, eax
je 0x490c29
mov eax, dword [ebx]
mov dword [esp + 0x74], 0xffffffff
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x490c29
xor ebp, ebp
xor ebx, ebx
cmp eax, ebp
mov dword [esp + 0x10], ebp
jle 0x490c29
mov esi, dword [esp + 0x294]
dec eax
cmp ebx, eax
mov ecx, dword [esi + 8]
lea edx, [ecx + ebp]
lea eax, [ecx + ebp + 0x104]
jl 0x490bbe
lea eax, [esp + 0x74]
mov ecx, dword [edx]
mov edi, dword [eax]
cmp ecx, edi
jbe 0x490c01
mov ecx, 0x41
mov esi, edx
lea edi, [esp + 0x178]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x41
mov esi, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, 0x41
lea esi, [esp + 0x178]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x294]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esi]
inc ebx
add ebp, 0x104
cmp ebx, eax
jl 0x490ba1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x490c29
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
inc ecx
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jl 0x490b91
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x26c
ret
mov dword [0x53fca4], 0xa
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x26c
ret