Function at 0x21123930
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [esp + 0x34]
test esi, esi
push edi
je 0x21123bd8
mov ebx, dword [esp + 0x3c]
cmp ebx, 8
jb 0x21123bd8
lea eax, [esp + 0x10]
push eax
push esi
call sym.mss32.dll__AIL_WAV_info_8
test eax, eax
je 0x211239b2
mov ecx, dword [esp + 0x10]
mov eax, ecx
dec eax
je 0x211239ec
sub eax, 0x10
je 0x211239d3
sub eax, 0x44
je 0x211239a4
push str..raw
push str.Output_file_types
push ecx
push str.Input_wave_tag
push str.ASI_codec
call sym.mss32.dll__RIB_find_file_dec_provider_20
neg eax
pop edi
sbb eax, eax
pop esi
and eax, 0xb
pop ebp
add eax, 3
pop ebx
add esp, 0x24
ret 8
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov ebx, ecx
push 8
mov edx, str.Creative
mov ecx, esi
call fcn.2111afa0
test eax, eax
jne 0x211239fb
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x24
ret 8
mov edx, dword [esp + 0x20]
xor eax, eax
cmp edx, 4
setne al
pop edi
pop esi
pop ebp
pop ebx
add eax, 2
add esp, 0x24
ret 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x24
ret 8
push 4
mov edx, str.FORM
mov ecx, esi
call fcn.2111afa0
test eax, eax
jne 0x21123a70
push 4
mov edx, str.XDIR
lea ecx, [esi + 8]
call fcn.2111afa0
test eax, eax
jne 0x21123a70
push str.XDLS
mov edx, ebx
mov ecx, esi
call fcn.21122d60
test eax, eax
je 0x21123a61
mov eax, dword [eax + 0x14]
cmp eax, 0x20534c44
jne 0x21123a4b
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x24
ret 8
cmp eax, 0x20534c4d
jne 0x21123a61
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 0x24
ret 8
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x24
ret 8
cmp dword [esi], 0x46464952
jne 0x21123aa7
mov eax, dword [esi + 8]
cmp eax, 0x20534c44
jne 0x21123a91
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x24
ret 8
cmp eax, 0x20534c4d
jne 0x21123aa7
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
add esp, 0x24
ret 8
cmp byte [esi], 0x49
mov ebp, esi
mov edi, ebx
jne 0x21123b1d
cmp byte [esi + 1], 0x44
jne 0x21123b1d
cmp byte [esi + 2], 0x33
jne 0x21123b1d
cmp byte [esi + 3], 0xff
jae 0x21123b1d
cmp byte [esi + 4], 0xff
jae 0x21123b1d
mov al, byte [esi + 6]
cmp al, 0x80
jae 0x21123b1d
mov bl, byte [esi + 7]
cmp bl, 0x80
jae 0x21123b19
mov dl, byte [esi + 8]
cmp dl, 0x80
jae 0x21123b19
mov cl, byte [esi + 9]
cmp cl, 0x80
jae 0x21123b19
mov edi, dword [esp + 0x3c]
and eax, 0xff
shl eax, 7
and ebx, 0xff
or eax, ebx
shl eax, 7
and edx, 0xff
or eax, edx
and ecx, 0xff
shl eax, 7
add ecx, 0xa
or eax, ecx
lea ebp, [eax + esi]
sub edi, eax
mov ebx, dword [esp + 0x3c]
xor eax, eax
cmp edi, 0x1000
jbe 0x21123b2c
mov edi, 0x1000
mov edx, edi
dec edi
cmp edx, 4
jb 0x21123b8b
xor ecx, ecx
mov cx, word [ebp]
mov edx, ecx
and edx, 0xf0ff
cmp edx, 0xf0ff
jne 0x21123b7e
mov edx, dword [ebp]
cmp edx, 0xffffffff
je 0x21123b7b
and edx, 0xfc0000
cmp edx, 0xfc0000
je 0x21123b7b
shr ecx, 9
and ecx, 3
dec ecx
je 0x21123bba
dec ecx
je 0x21123b76
dec ecx
jne 0x21123b7b
mov eax, 0xb
jmp 0x21123b7b
mov eax, 0xc
add ebp, 3
inc ebp
mov ecx, edi
dec edi
cmp ecx, 4
jae 0x21123b34
test eax, eax
jne 0x21123bda
cmp ebx, 4
lea edi, [ebx - 1]
jb 0x21123bd8
push 4
mov edx, str.MThd
mov ecx, esi
call fcn.2111afa0
test eax, eax
je 0x21123bc9
inc esi
mov edx, edi
dec edi
cmp edx, 4
jae 0x21123b93
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret 8
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x24
ret 8
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 0x24
ret 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 8