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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xae8
mov eax, dword [0x102a0600]
xor eax, esp
mov dword [esp + 0xae4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esp + 0x1c], eax
push edi
mov dword [esp + 0x24], esi
mov dl, byte [esi + 0x158]
cmp dl, 9
je 0x100f953e
cmp dl, 0xc
je 0x100f953e
mov ecx, dword [eax + 0x14]
mov eax, dword [esi + 0x170]
cmp eax, ecx
cmova eax, ecx
push eax
push edx
call fcn.100f0090
mov edi, eax
add esp, 8
cmp edi, 0x10
jbe 0x100f9543
cmp dword [0x102a10c0], 1
jl 0x100f9537
push dword [esi + 0x170]
movzx eax, byte [esi + 0x158]
push eax
push 0x10
push edi
push str.Unexpected_channel_count:__u__limit:__zu___d:_d__n
push dword [0x102a7f00]
push 1
call fcn.100f3fb0
add esp, 0x1c
mov edi, 0x10
jmp 0x100f9543
mov edi, 3
mov edx, dword [esi + 0x200]
mov eax, 0x44d72045
mov ecx, dword [esi + 0x208]
sub ecx, edx
mov dword [esp + 0x18], edx
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jbe 0x100f95d3
cmp edi, eax
jae 0x100f95d3
lea ecx, [esp + 0x48]
lea eax, [esi + 0x200]
cmp ecx, eax
je 0x100f95a2
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100f95a2
push eax
call fcn.100f0010
add esp, 4
lea eax, [esi + 0x1f4]
lea ecx, [esp + 0x54]
cmp ecx, eax
je 0x100f95d3
mov ecx, dword [eax]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
test ecx, ecx
je 0x100f95d3
push ecx
call fcn.100f0010
add esp, 4
mov ecx, 2
mov eax, edi
cmp edi, ecx
cmovb eax, ecx
mov ecx, dword [esi + 0x208]
sub ecx, dword [esi + 0x200]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov eax, 0x44d72045
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jbe 0x100f9628
cmp ecx, 0x1135c8
ja 0x100fa3f9
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x200]
call fcn.100f6a40
mov ecx, dword [esi + 0x204]
mov eax, dword [esi + 0x200]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
sub ecx, eax
mov eax, 0x44d72045
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], eax
cmp edi, eax
jae 0x100f9663
imul eax, edi, 0xee0
add eax, dword [esp + 0x18]
jmp 0x100f96b1
jbe 0x100f96b7
mov ecx, dword [esi + 0x208]
mov eax, 0x44d72045
sub ecx, dword [esp + 0x18]
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jbe 0x100f9697
lea eax, [esp + 0x17]
push eax
push edi
lea ecx, [esi + 0x200]
call fcn.100f6bd0
jmp 0x100f96b7
lea eax, [esi + 0x200]
push eax
mov eax, edi
sub eax, dword [esp + 0x2c]
push eax
push dword [esp + 0x24]
call fcn.100f4690
add esp, 0xc
mov dword [esi + 0x204], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x1fc]
sub ecx, dword [esi + 0x1f4]
mov dword [esp + 0x1c], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jbe 0x100f9700
cmp ecx, 0x1555555
ja 0x100fa3fe
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0x1f4]
call fcn.100f6b00
mov ecx, dword [esi + 0x1f8]
mov eax, dword [esi + 0x1f4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
cmp edi, eax
jae 0x100f9741
lea eax, [edi + edi*2]
shl eax, 6
add eax, dword [esp + 0x18]
mov dword [esi + 0x1f8], eax
jmp 0x100f97a3
jbe 0x100f97a3
mov ecx, dword [esi + 0x1fc]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0x18]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jbe 0x100f9775
lea eax, [esp + 0x17]
push eax
push edi
lea ecx, [esi + 0x1f4]
call fcn.100f6cb0
jmp 0x100f97a3
sub edi, dword [esp + 0x1c]
je 0x100f9799
lea esi, [edi + edi*2]
mov edi, dword [esp + 0x10]
shl esi, 6
push esi
push 0
push edi
call fcn.10086ae0
add esp, 0xc
add edi, esi
mov esi, dword [esp + 0x24]
jmp 0x100f979d
mov edi, dword [esp + 0x10]
mov dword [esi + 0x1f8], edi
mov ecx, dword [esi + 0x174]
mov dword [esi + 0x174], 0
test ecx, ecx
je 0x100f97bd
mov eax, dword [ecx]
push 1
call dword [eax]
mov al, byte [esi + 0x158]
mov dword [esi + 0x178], 0
cmp al, 0xc
jne 0x100f9a19
movzx eax, byte [0x102a84e0]
sub eax, 0
je 0x100f9997
sub eax, 1
je 0x100f98c7
sub eax, 1
jne 0x100f9cb5
push 0x4810
push 0x10
call fcn.100f0020
mov edi, eax
add esp, 8
test edi, edi
je 0x100fa403
mov dword [edi + 0xc], 0
lea eax, [edi + 0x10]
mov dword [edi + 0x2c0c], 0
push 0x1400
mov dword [edi + 0x300c], 0
push 0
push eax
mov dword [edi + 4], 0x3f17ced9
mov dword [edi], vtable.UhjStereoDecoder_512_.0
mov dword [edi + 8], 0xbf800000
call fcn.10086ae0
push 0x1400
lea eax, [edi + 0x1410]
push 0
push eax
call fcn.10086ae0
push 0x3fc
lea eax, [edi + 0x2810]
push 0
push eax
call fcn.10086ae0
push 0x3fc
lea eax, [edi + 0x2c10]
push 0
push eax
call fcn.10086ae0
push 0x1800
lea eax, [edi + 0x3010]
push 0
push eax
call fcn.10086ae0
mov ecx, dword [esi + 0x174]
add esp, 0x3c
mov dword [esi + 0x174], edi
test ecx, ecx
je 0x100f9b15
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x178], 0x100
jmp 0x100f9cb5
push 0x3c10
push 0x10
call fcn.100f0020
mov edi, eax
add esp, 8
test edi, edi
je 0x100fa41b
mov dword [edi + 0xc], 0
lea eax, [edi + 0x10]
mov dword [edi + 0x260c], 0
push 0x1200
mov dword [edi + 0x280c], 0
push 0
push eax
mov dword [edi + 4], 0x3f17ced9
mov dword [edi], vtable.UhjStereoDecoder_256_.0
mov dword [edi + 8], 0xbf800000
call fcn.10086ae0
push 0x1200
lea eax, [edi + 0x1210]
push 0
push eax
call fcn.10086ae0
push 0x1fc
lea eax, [edi + 0x2410]
push 0
push eax
call fcn.10086ae0
push 0x1fc
lea eax, [edi + 0x2610]
push 0
push eax
call fcn.10086ae0
push 0x1400
lea eax, [edi + 0x2810]
push 0
push eax
call fcn.10086ae0
mov ecx, dword [esi + 0x174]
add esp, 0x3c
mov dword [esi + 0x174], edi
test ecx, ecx
je 0x100f9bee
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x178], 0x80
jmp 0x100f9cb5
push 0x30a0
push 0x10
call fcn.100f0020
mov edi, eax
add esp, 8
test edi, edi
je 0x100fa433
push 0x84
lea ecx, [edi + 0x301c]
mov dword [edi + 0xc], 0
push 0
push ecx
call fcn.10086ae0
push 0x1000
lea eax, [edi + 0x10]
mov dword [edi + 4], 0x3f17ced9
push 0
push eax
mov dword [edi], vtable.UhjStereoDecoderIIR.0
mov dword [edi + 8], 0xbf800000
call fcn.10086ae0
push 0x1000
lea eax, [edi + 0x1010]
push 0
push eax
call fcn.10086ae0
push 0x1004
lea eax, [edi + 0x2010]
push 0
push eax
call fcn.10086ae0
jmp 0x100f9c7e
cmp al, 9
je 0x100f9a29
cmp al, 0xa
je 0x100f9a29
cmp al, 0xb
jne 0x100f9cb5
movzx eax, byte [0x102a84e0]
sub eax, 0
je 0x100f9bfd
sub eax, 1
je 0x100f9b24
sub eax, 1
jne 0x100f9cb5
push 0x5c10
push 0x10
call fcn.100f0020
mov edi, eax
add esp, 8
test edi, edi
je 0x100fa44b
xorps xmm0, xmm0
lea eax, [edi + 0x10]
movq qword [edi + 8], xmm0
push 0x1400
mov dword [edi + 0x400c], 0
mov dword [edi + 0x440c], 0
push 0
push eax
mov dword [edi + 4], 0x3f17ced9
mov dword [edi], vtable.UhjDecoder_512_.0
call fcn.10086ae0
push 0x1400
lea eax, [edi + 0x1410]
push 0
push eax
call fcn.10086ae0
push 0x1400
lea eax, [edi + 0x2810]
push 0
push eax
call fcn.10086ae0
push 0x3fc
lea eax, [edi + 0x3c10]
push 0
push eax
call fcn.10086ae0
push 0x3fc
lea eax, [edi + 0x4010]
push 0
push eax
call fcn.10086ae0
push 0x1800
lea eax, [edi + 0x4410]
push 0
push eax
call fcn.10086ae0
mov ecx, dword [esi + 0x174]
add esp, 0x48
mov dword [esi + 0x174], edi
test ecx, ecx
je 0x100f9b15
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x178], 0x100
jmp 0x100f9cb5
push 0x4e10
push 0x10
call fcn.100f0020
mov edi, eax
add esp, 8
test edi, edi
je 0x100fa463
xorps xmm0, xmm0
lea eax, [edi + 0x10]
movq qword [edi + 8], xmm0
push 0x1200
mov dword [edi + 0x380c], 0
mov dword [edi + 0x3a0c], 0
push 0
push eax
mov dword [edi + 4], 0x3f17ced9
mov dword [edi], vtable.UhjDecoder_256_.0
call fcn.10086ae0
push 0x1200
lea eax, [edi + 0x1210]
push 0
push eax
call fcn.10086ae0
push 0x1200
lea eax, [edi + 0x2410]
push 0
push eax
call fcn.10086ae0
push 0x1fc
lea eax, [edi + 0x3610]
push 0
push eax
call fcn.10086ae0
push 0x1fc
lea eax, [edi + 0x3810]
push 0
push eax
call fcn.10086ae0
push 0x1400
lea eax, [edi + 0x3a10]
push 0
push eax
call fcn.10086ae0
mov ecx, dword [esi + 0x174]
add esp, 0x48
mov dword [esi + 0x174], edi
test ecx, ecx
je 0x100f9bee
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x178], 0x80
jmp 0x100f9cb5
push 0x30c0
push 0x10
call fcn.100f0020
mov edi, eax
add esp, 8
test edi, edi
je 0x100fa3e1
push 0xa0
lea eax, [edi + 0x3020]
xorps xmm0, xmm0
push 0
push eax
movq qword [edi + 8], xmm0
call fcn.10086ae0
push 0x1000
lea eax, [edi + 0x10]
mov dword [edi + 4], 0x3f17ced9
push 0
push eax
mov dword [edi], vtable.UhjDecoderIIR.0
call fcn.10086ae0
push 0x1000
lea eax, [edi + 0x1010]
push 0
push eax
call fcn.10086ae0
push 0x1004
lea eax, [edi + 0x2010]
push 0
push eax
call fcn.10086ae0
mov dword [edi + 0x301c], 0
mov dword [edi + 0x3014], 0
add esp, 0x30
mov dword [edi + 0x3018], 0
mov ecx, dword [esi + 0x174]
mov dword [esi + 0x174], edi
test ecx, ecx
je 0x100f9cab
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x178], 0
push 0xc0
lea eax, [esp + 0x64]
mov dword [esi + 0x17c], 0
push 0
push eax
call fcn.10086ae0
mov edx, dword [esi + 0x1f8]
add esp, 0xc
mov eax, dword [esi + 0x1f4]
cmp eax, edx
je 0x100f9cfd
mov edi, eax
lea esi, [esp + 0x60]
add eax, 0xc0
mov ecx, 0x30
rep movsd dword es:[edi], dword [esi]
cmp eax, edx
jne 0x100f9ce3
mov esi, dword [esp + 0x24]
mov al, byte [esi + 0x158]
mov edi, dword [esp + 0x20]
cmp al, 9
jne 0x100f9f77
cmp dword [edi + 0x1a400], 0
jne 0x100f9f77
mov eax, dword [edi + 4]
xorps xmm0, xmm0
movss xmm1, dword [edi + 0x18]
movaps xmmword [esp + 0x30], xmm0
push ecx
movd xmm0, eax
lea ecx, [esp + 0x34]
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1016a520]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esp], xmm1
call fcn.1012f5b0
mov ecx, dword [esi + 0x204]
mov eax, dword [esi + 0x200]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], eax
cmp eax, ecx
je 0x100f9f2d
lea ecx, [edi + 0x48]
lea esi, [eax + 8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], esi
mov dword [eax], 0x3f800000
lea eax, [esp + 0x98]
push 0xa38
mov dword [esi - 4], 0x3f800000
movups xmm0, xmmword [esp + 0x34]
push 0
push eax
movups xmmword [esi], xmm0
call fcn.10086ae0
movaps xmm0, xmmword [0x10211220]
lea edi, [esi + 0x18]
movaps xmmword [esp + 0x6c], xmm0
lea esi, [esp + 0x6c]
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
movups xmmword [esp + 0x88], xmm0
lea eax, [esp + 0xa4]
mov dword [esp + 0x7c], 0
movq qword [esp + 0x98], xmm0
mov ecx, 0x29c
movaps xmm0, xmmword [0x10211a00]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
movaps xmmword [esp + 0x8c], xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
mov ecx, 0x26
mov esi, dword [esp + 0x28]
add edi, 0x50
push 0x80
push 0
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.10086ae0
movaps xmm0, xmmword [0x10211220]
add esp, 0x18
mov eax, dword [esp + 0x20]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x94], 0
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
mov edx, dword [eax + 0x3c]
movq qword [esp + 0x8c], xmm0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
movups xmmword [esp + 0x7c], xmm0
movaps xmm0, xmmword [0x10211220]
movups xmmword [esp + 0x7c], xmm0
test edx, edx
je 0x100f9f04
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x60]
mov ecx, 0x2e
lea edi, [eax + 0xa88]
rep movsd dword es:[edi], dword [esi]
imul ecx, edx, 0xb8
lea esi, [eax + 0xa88]
lea edi, [eax + 0xb40]
sub ecx, 0xb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
add eax, 0xee0
add esi, 0xee0
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
cmp eax, dword [esp + 0x28]
jne 0x100f9d81
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x200]
mov dword [eax + 4], 0x3f29374c
mov eax, dword [esi + 0x200]
mov dword [eax + 0xee4], 0x3fa58106
mov eax, dword [esi + 0x200]
mov dword [eax + 0x1dc4], 0x3fa58106
or dword [esi + 0x194], 4
pop edi
pop esi
mov ecx, dword [esp + 0xae4]
xor ecx, esp
call fcn.10084465
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0x170]
test ecx, ecx
je 0x100fa203
mov edx, dword [edi + 0x14]
cmp edx, ecx
jbe 0x100fa203
cmp al, 7
je 0x100f9fa5
cmp al, 9
je 0x100f9fa5
cmp al, 0xa
je 0x100f9fa5
mov byte [esp + 0x17], 0
cmp al, 0xc
jne 0x100f9faa
mov byte [esp + 0x17], 1
movzx eax, byte [edi + 0x1c]
push eax
push edx
push ecx
lea eax, [esp + 0xadc]
push eax
call fcn.1012eed0
movss xmm1, dword [edi + 0x18]
lea ecx, [esp + 0x40]
add esp, 0xc
movups xmm0, xmmword [eax]
mov eax, dword [edi + 4]
movups xmmword [esp + 0xad4], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x34], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1016a520]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esp], xmm1
call fcn.1012f5b0
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x200]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0x100f9f5a
cmp byte [esp + 0x17], 0
lea esi, [ecx + 8]
mov eax, 0x10212098
mov dword [esp + 0x10], esi
mov edx, 0x10212088
cmovne edx, eax
lea eax, [edi + 0x48]
mov dword [esp + 0x1c], eax
movzx eax, byte [edx]
inc edx
push 0xa38
mov dword [esi - 4], 0x3f800000
push 0
mov eax, dword [esp + eax*4 + 0xad8]
mov dword [ecx], eax
lea eax, [esp + 0xa0]
movups xmm0, xmmword [esp + 0x38]
push eax
mov dword [esp + 0x38], edx
movups xmmword [esi], xmm0
call fcn.10086ae0
movaps xmm0, xmmword [0x10211220]
lea edi, [esi + 0x18]
movaps xmmword [esp + 0x6c], xmm0
lea esi, [esp + 0x6c]
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
movups xmmword [esp + 0x88], xmm0
lea eax, [esp + 0xa4]
mov dword [esp + 0x7c], 0
movq qword [esp + 0x98], xmm0
mov ecx, 0x29c
movaps xmm0, xmmword [0x10211a00]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
movaps xmmword [esp + 0x8c], xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
mov ecx, 0x26
mov esi, dword [esp + 0x28]
add edi, 0x50
push 0x80
push 0
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.10086ae0
movaps xmm0, xmmword [0x10211220]
add esp, 0x18
mov eax, dword [esp + 0x20]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x94], 0
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
mov edx, dword [eax + 0x3c]
movq qword [esp + 0x8c], xmm0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
movups xmmword [esp + 0x7c], xmm0
movaps xmm0, xmmword [0x10211220]
movups xmmword [esp + 0x7c], xmm0
test edx, edx
je 0x100fa1d0
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x60]
mov ecx, 0x2e
lea edi, [eax + 0xa88]
rep movsd dword es:[edi], dword [esi]
imul ecx, edx, 0xb8
lea esi, [eax + 0xa88]
lea edi, [eax + 0xb40]
sub ecx, 0xb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
add ecx, 0xee0
mov edx, dword [esp + 0x2c]
add esi, 0xee0
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], esi
cmp ecx, dword [esp + 0x28]
jne 0x100fa042
mov esi, dword [esp + 0x24]
jmp 0x100f9f5a
mov ecx, dword [esi + 0x204]
mov eax, dword [esi + 0x200]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
cmp eax, ecx
je 0x100fa3c4
lea ecx, [edi + 0x48]
lea esi, [eax + 0x58]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], esi
nop dword [eax]
push 0xa38
lea eax, [esp + 0x9c]
push 0
push eax
call fcn.10086ae0
movaps xmm0, xmmword [0x10211220]
lea edi, [esi - 0x38]
movaps xmmword [esp + 0x6c], xmm0
lea esi, [esp + 0x6c]
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0
movups xmmword [esp + 0x88], xmm0
lea eax, [esp + 0xa4]
mov dword [esp + 0x7c], 0
movq qword [esp + 0x98], xmm0
mov ecx, 0x29c
movaps xmm0, xmmword [0x10211a00]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
movaps xmmword [esp + 0x8c], xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x38]
mov ecx, 0x26
mov edi, dword [esp + 0x1c]
push 0x80
push 0
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.10086ae0
movaps xmm0, xmmword [0x10211220]
add esp, 0x18
mov eax, dword [esp + 0x20]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x94], 0
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
mov edx, dword [eax + 0x3c]
movq qword [esp + 0x8c], xmm0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
movups xmmword [esp + 0x7c], xmm0
movaps xmm0, xmmword [0x10211220]
movups xmmword [esp + 0x7c], xmm0
test edx, edx
je 0x100fa39b
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x60]
mov ecx, 0x2e
lea edi, [eax + 0xa38]
rep movsd dword es:[edi], dword [esi]
imul ecx, edx, 0xb8
lea esi, [eax + 0xa38]
lea edi, [eax + 0xaf0]
sub ecx, 0xb8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
add eax, 0xee0
add esi, 0xee0
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
cmp eax, dword [esp + 0x1c]
jne 0x100fa230
mov esi, dword [esp + 0x24]
and dword [esi + 0x194], 0xfffffffb
mov ecx, dword [esp + 0xaec]
pop edi
pop esi
xor ecx, esp
call fcn.10084465
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x30]
call fcn.1000287c
push 0x1029e438
lea eax, [esp + 0x34]
push eax
call fcn.10086437
call fcn.10029490
call fcn.10029490
lea ecx, [esp + 0x30]
call fcn.1000287c
push 0x1029e438
lea eax, [esp + 0x34]
push eax
call fcn.10086437
lea ecx, [esp + 0x30]
call fcn.1000287c
push 0x1029e438
lea eax, [esp + 0x34]
push eax
call fcn.10086437
lea ecx, [esp + 0x30]
call fcn.1000287c
push 0x1029e438
lea eax, [esp + 0x34]
push eax
call fcn.10086437
lea ecx, [esp + 0x30]
call fcn.1000287c
push 0x1029e438
lea eax, [esp + 0x34]
push eax
call fcn.10086437
lea ecx, [esp + 0x30]
call fcn.1000287c
push 0x1029e438
lea eax, [esp + 0x34]
push eax
call fcn.10086437
int3