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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa74
mov eax, dword [0x1000f004]
xor eax, esp
mov dword [esp + 0xa70], eax
push ebx
mov ebx, edx
mov dword [esp + 0x14], ebx
push esi
push edi
mov edi, ecx
test ebx, ebx
je 0x10002402
cmp dword [ebp + 8], 0
jge 0x10002402
mov ecx, dword [edi + 0x6c]
xor edx, edx
call fcn.100031a0
mov ecx, dword [edi + 0x6c]
mov edx, 1
movsd qword [esp + 0x10], xmm0
call fcn.100031a0
movaps xmm3, xmm0
movsd xmm0, qword [esp + 0x10]
comisd xmm3, xmm0
jbe 0x100021cb
divsd xmm3, qword [0x1000dae8]
divsd xmm0, qword [0x1000dae8]
addsd xmm3, qword [0x1000dac8]
addsd xmm0, qword [0x1000dac8]
cvttsd2si edx, xmm3
cvttsd2si ecx, xmm0
mov eax, edx
sub eax, ecx
push eax
push ecx
push edx
push str._dkbps__dkbps_dkbps_
lea eax, [esp + 0x88]
push 0xffffffffffffffff
push eax
call fcn.100011e0
add esp, 0x18
jmp 0x10002201
comisd xmm0, xmmword [0x1000dab0]
jbe 0x1000221f
divsd xmm0, qword [0x1000dae8]
addsd xmm0, qword [0x1000dac8]
cvttsd2si eax, xmm0
push eax
push str._dkbps
lea eax, [esp + 0x80]
push 0xffffffffffffffff
push eax
call fcn.100011e0
add esp, 0x10
cmp word [esp + 0x78], 0
je 0x10002226
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push 0xffffffffffffffff
push ecx
push 0xffffffffffffffff
push str.bitrate
push ebx
call dword [eax + 0x2c]
jmp 0x10002226
xor eax, eax
mov word [esp + 0x78], ax
mov ecx, dword [edi + 0x6c]
call fcn.10003310
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
lea edi, [esp + 0x24]
mov ecx, eax
mov dword [esp + 0x20], 1
xor eax, eax
mov dword [esp + 0xc], ecx
mov word [esp + 0x278], ax
mov dword [esp + 0x24], 0x1000d1d8
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], str.Lossless
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.Hybrid
mov dword [esp + 0x38], 8
mov dword [esp + 0x3c], str.Float
mov dword [esp + 0x40], 0x420
mov dword [esp + 0x44], str.High
mov dword [esp + 0x48], 0x40
mov dword [esp + 0x4c], str.Fast
mov dword [esp + 0x50], 0x80
mov dword [esp + 0x54], str.Extra
mov dword [esp + 0x58], 0x200
mov dword [esp + 0x5c], 0x1000d234
mov dword [esp + 0x60], 0x800
mov dword [esp + 0x64], 0x1000d23c
mov dword [esp + 0x68], 0x8000
mov dword [esp + 0x6c], str.Dynamic_Noise_Shaping
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + eax + 0x20]
test ecx, ebx
je 0x100023c1
cmp word [esp + 0x278], 0
je 0x10002328
push 0xffffffffffffffff
push 0x1000d270
lea eax, [esp + 0x280]
push 0x400
push eax
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0x10
cmp ebx, 0x80
jne 0x1000237e
mov eax, ecx
sar eax, 0xc
and eax, 7
push eax
push str._Level_d_
lea eax, [esp + 0x180]
push 0xffffffffffffffff
push eax
call fcn.100011e0
push 0xffffffffffffffff
push dword [edi]
lea eax, [esp + 0x290]
push 0x400
push eax
call esi
push 0xffffffffffffffff
lea eax, [esp + 0x19c]
push eax
lea eax, [esp + 0x2a0]
push 0x400
push eax
call esi
add esp, 0x30
jmp 0x100023bd
cmp ebx, 0x420
jne 0x100023a7
test ecx, 0x400
je 0x100023a7
push 0xffffffffffffffff
push str.Very
lea eax, [esp + 0x280]
push 0x400
push eax
call esi
add esp, 0x10
push 0xffffffffffffffff
push dword [edi]
lea eax, [esp + 0x280]
push 0x400
push eax
call esi
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
lea edi, [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
shl eax, 3
add edi, eax
cmp dword [edi], 0
jne 0x100022f4
cmp word [esp + 0x278], 0
je 0x10002402
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x278]
push 0xffffffffffffffff
push edx
push 0xffffffffffffffff
mov eax, dword [ecx]
push str.WavPack_Mode
push ecx
call dword [eax + 0x2c]
mov ecx, dword [esp + 0xa7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10001330
mov esp, ebp
pop ebp
ret 4