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

Disassembly:
sub esp, 0x88
push ebp
push esi
mov ebp, ecx
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
xor esi, esi
push eax
push ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
call section..text
add esp, 0x14
test al, al
jne 0x10003021
pop esi
xor eax, eax
pop ebp
add esp, 0x88
ret 0x18
mov ecx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x28], eax
mov word [esp + 0x38], ax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov word [esp + 0x38], 0x12
mov word [esp + 0x28], 1
mov dx, word [ecx + 2]
push ebx
mov word [esp + 0x2e], dx
cmp word [ecx], 0x55
push edi
mov ebx, ecx
jne 0x10003259
push 0x30000
push 0x12
lea eax, [esp + 0x38]
push eax
push ecx
mov ecx, dword [ebp + 0xa4]
push ecx
call sub.MSACM32.dll_acmFormatSuggest
fild dword [esp + 0x18]
mov edx, dword [esp + 0x18]
test edx, edx
jge 0x1000308c
fadd dword [0x1000b680]
mov eax, dword [ebx + 8]
fild dword [ebx + 8]
test eax, eax
jge 0x1000309c
fadd dword [0x1000b680]
fdivp st(1)
mov ecx, dword [esp + 0x34]
test ecx, ecx
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fild dword [esp + 0x34]
jge 0x100030b8
fadd dword [0x1000b680]
movzx edx, word [esp + 0x3c]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fmulp st(1)
or eax, 0xc00
fadd qword [0x1000b240]
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
fldcw word [esp + 0x14]
imul esi, edx
add esi, 0x4000
push esi
call fcn.10009245
push esi
mov edi, eax
push 0
push edi
call sub.MSVCR80.dll_memset
push 0x54
lea eax, [esp + 0x58]
push 0
push eax
call sub.MSVCR80.dll_memset
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
add esp, 0x1c
push 0
push 0
push 0
push 0
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 0xa4]
push ebx
mov dword [esp + 0x6c], edx
push ecx
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x64], 0x54
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
mov dword [esp + 0x30], 0
call sub.MSACM32.dll_acmStreamOpen
test eax, eax
jne 0x1000318b
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x48]
push eax
push ecx
call sub.MSACM32.dll_acmStreamPrepareHeader
test eax, eax
jne 0x1000318b
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x48]
push edx
push eax
call sub.MSACM32.dll_acmStreamConvert
test eax, eax
je 0x100031a3
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x88
ret 0x18
mov ecx, dword [esp + 0x10]
push 0
push ecx
call sub.MSACM32.dll_acmStreamClose
mov ebx, dword [esp + 0x68]
add ebx, 0x2c
push ebx
call fcn.10009245
mov edx, dword [esp + 0xb0]
mov dword [edx], ebx
mov esi, eax
mov eax, dword [esp + 0xac]
mov dword [eax], esi
mov byte [esi], 0x52
mov byte [esi + 1], 0x49
mov al, 0x46
mov byte [esi + 2], al
mov byte [esi + 3], al
add esi, 4
add esi, 4
add ebx, 0xfffffff8
mov dword [esi - 4], ebx
mov byte [esi], 0x57
mov byte [esi + 1], 0x41
mov byte [esi + 2], 0x56
mov byte [esi + 3], 0x45
mov byte [esi + 4], 0x66
mov byte [esi + 5], 0x6d
mov byte [esi + 7], 0x20
mov bl, 0x74
mov byte [esi + 6], bl
add esi, 8
mov dword [esi], 0x10
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x38]
push edx
add esi, 4
push esi
call sub.MSVCR80.dll_memcpy
add esi, 0x10
mov byte [esi], 0x64
mov byte [esi + 2], bl
mov al, 0x61
mov byte [esi + 1], al
mov byte [esi + 3], al
mov eax, dword [esp + 0x78]
add esi, 4
mov dword [esi], eax
mov ecx, dword [esp + 0x78]
push ecx
push edi
add esi, 4
push esi
call sub.MSVCR80.dll_memcpy
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 0x20
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x88
ret 0x18