Function at 0x100d0398
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x180
cmp word [ecx + 0x4e], 2
jl case.0x100d13f1.2
mov esi, ecx
cmp byte [ecx + 0x6c], 0
je case.0x100d13f1.2
cmp byte [esi + 0xa5], 0
je case.0x100d13f1.2
cmp dword [esi + 0x64], 0
je case.0x100d13f1.2
lea ecx, [esi + 0x3c]
movdqa xmm0, xmmword [0x10213970]
movdqu xmmword [esp], xmm0
call fcn.100cf6ee
sub esp, 0x10
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x18], ecx
mov ebx, dword [esi + 0x5c]
mov edi, eax
add edi, ebx
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x34], ecx
lea ecx, [edi + ebx]
mov dword [esp + 0x14], ecx
lea edx, [ecx + ebx]
lea ecx, [edx + ebx]
mov dword [esp + 0x30], ecx
add ecx, ebx
mov dword [esp + 0x38], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x2c], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x24], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x50], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x5c], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x3c], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x60], ecx
lea ecx, [ecx + ebx]
mov dword [esp + 0x54], ecx
add ecx, ebx
mov dword [esp + 0x70], ecx
add ecx, ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x40], ebx
add ecx, ebx
mov dword [esp + 0x58], ecx
mov ebx, dword [esi + 0x64]
cmp ebx, 0x4f
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], edx
jg 0x100d052c
lea ecx, [ebx - 0x12]
cmp ecx, 0x1b
mov dword [esp + 0x10], eax
ja 0x100d0804
mov edx, 0xe23
bt edx, ecx
jae 0x100d06ef
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 0x20], 3
jne 0x100d05c5
cmp byte [0x1028e333], 0
je 0x100d05c5
mov cl, byte [0x10242057]
and cl, 1
je 0x100d05c5
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021afd4]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov edi, dword [esp + 0x20]
test edi, edi
mov esi, dword [esp + 0x10]
jle 0x100d0518
mov ecx, dword [esp + 0x40]
add ecx, esi
xor edx, edx
movdqa xmm0, xmmword [esi + edx*4]
pavgb xmm0, xmmword [ecx + edx*4]
movdqa xmmword [esi + edx*4], xmm0
add edx, 4
cmp edx, edi
jl 0x100d0502
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d04f2
jmp case.0x100d13f1.2
lea ecx, [ebx - 0x53]
cmp ecx, 3
jae 0x100d064c
mov dword [esp + 0x10], eax
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
cmp byte [0x1028e332], 0
je 0x100d0791
mov cl, byte [0x10242056]
and cl, 1
je 0x100d0791
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021ae94]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
movaps xmm0, xmmword [0x102191b0]
mov esi, dword [esp + 0x10]
mov ecx, esi
mov edi, dword [esp + 0x20]
mov edx, edi
test edi, edi
mov edi, dword [esp + 0x40]
jle 0x100d05b1
movaps xmm1, xmmword [ecx]
addps xmm1, xmmword [ecx + edi]
mulps xmm1, xmm0
movaps xmmword [ecx], xmm1
add ecx, 0x10
dec edx
jne 0x100d059e
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d058a
jmp case.0x100d13f1.2
cmp ax, 7
mov ebx, dword [esp + 0x14]
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021afb4]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x20]
test eax, eax
mov ebx, dword [esp + 0x10]
jle 0x100d0630
mov ecx, dword [esp + 0x40]
add ecx, ebx
xor edx, edx
mov esi, dword [ebx + edx*4]
mov edi, dword [ecx + edx*4]
mov ebx, edi
and ebx, esi
xor edi, esi
mov esi, edi
and edi, 0x1010101
add edi, ebx
mov ebx, dword [esp + 0x10]
shr esi, 1
and esi, 0x7f7f7f7f
add edi, esi
mov dword [ebx + edx*4], edi
inc edx
cmp eax, edx
jne 0x100d0604
add ebx, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d05f0
jmp case.0x100d13f1.2
cmp ebx, 0x50
je 0x100d08d9
cmp ebx, 0x51
jne case.0x100d13f1.2
mov edi, eax
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 0x20], 1
jne 0x100d1268
cmp byte [0x1028e332], 0
je 0x100d1268
mov cl, byte [0x10242056]
and cl, 1
je 0x100d1268
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021aed4]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
movaps xmm0, xmmword [0x102191b0]
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x100d06df
mov ecx, dword [esp + 0x40]
add ecx, edi
xor edx, edx
movaps xmm1, xmmword [edi + edx*8]
addps xmm1, xmmword [ecx + edx*8]
mulps xmm1, xmm0
movaps xmmword [edi + edx*8], xmm1
add edx, 2
cmp edx, esi
jl 0x100d06c9
add edi, dword [esp + 0x34]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d06bd
jmp case.0x100d13f1.2
cmp ecx, 0x13
je 0x100d096a
cmp ecx, 0x1b
jne 0x100d0804
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 0x20], 1
jne 0x100d12ce
cmp byte [0x1028e333], 0
je 0x100d12ce
mov cl, byte [0x10242057]
and cl, 1
je 0x100d12ce
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021af54]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov edi, dword [esp + 0x20]
test edi, edi
mov esi, dword [esp + 0x10]
jle 0x100d077d
mov ecx, dword [esp + 0x40]
add ecx, esi
xor edx, edx
movdqa xmm0, xmmword [esi + edx*8]
pavgw xmm0, xmmword [ecx + edx*8]
movdqa xmmword [esi + edx*8], xmm0
add edx, 2
cmp edx, edi
jl 0x100d0767
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0757
jmp case.0x100d13f1.2
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021ae74]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
lea eax, [eax*4]
xor ecx, ecx
movss xmm0, dword [0x1020300c]
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x10]
jle 0x100d07f0
mov edx, dword [esp + 0x40]
add edx, edi
xor esi, esi
movss xmm1, dword [edi + esi*4]
addss xmm1, dword [edx + esi*4]
mulss xmm1, xmm0
movss dword [edi + esi*4], xmm1
inc esi
cmp esi, eax
jl 0x100d07d8
add edi, dword [esp + 0x34]
mov dword [esp + 0x10], edi
inc ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d07c5
jmp case.0x100d13f1.2
cmp ebx, 0xf
jne case.0x100d13f1.2
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 0x20], 7
jne 0x100d135e
cmp byte [0x1028e333], 0
je 0x100d135e
mov cl, byte [0x10242057]
and cl, 1
je 0x100d135e
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021ae54]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
movdqa xmm0, xmmword [0x1021a690]
movdqa xmm1, xmmword [0x1021a6a0]
mov edi, dword [esp + 0x20]
test edi, edi
mov esi, dword [esp + 0x10]
jle 0x100d08c5
mov ecx, dword [esp + 0x40]
add ecx, esi
xor edx, edx
movdqa xmm2, xmmword [esi + edx*2]
movdqa xmm3, xmmword [ecx + edx*2]
movdqa xmm4, xmm2
pand xmm4, xmm0
movdqa xmm5, xmm3
pand xmm5, xmm0
pavgb xmm5, xmm4
pand xmm5, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
pavgw xmm3, xmm2
pand xmm3, xmm1
por xmm3, xmm5
movdqa xmmword [esi + edx*2], xmm3
add edx, 8
cmp edx, edi
jl 0x100d0883
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0873
jmp case.0x100d13f1.2
mov edi, eax
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 0x20], 3
jne 0x100d13e4
cmp byte [0x1028e332], 0
je 0x100d13e4
mov cl, byte [0x10242056]
and cl, 1
je 0x100d13e4
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021af14]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
movaps xmm0, xmmword [0x102191b0]
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x100d095a
mov ecx, dword [esp + 0x40]
add ecx, edi
xor edx, edx
movaps xmm1, xmmword [edi + edx*4]
addps xmm1, xmmword [ecx + edx*4]
mulps xmm1, xmm0
movaps xmmword [edi + edx*4], xmm1
add edx, 4
cmp edx, esi
jl 0x100d0944
add edi, dword [esp + 0x34]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0938
jmp case.0x100d13f1.2
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 0x20], 3
jne 0x100d1445
cmp byte [0x1028e333], 0
je 0x100d1445
mov cl, byte [0x10242057]
and cl, 1
je 0x100d1445
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021af94]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov edi, dword [esp + 0x20]
test edi, edi
mov esi, dword [esp + 0x10]
jle 0x100d09e6
mov ecx, dword [esp + 0x40]
add ecx, esi
xor edx, edx
movdqa xmm0, xmmword [esi + edx*4]
pavgw xmm0, xmmword [ecx + edx*4]
movdqa xmmword [esi + edx*4], xmm0
add edx, 4
cmp edx, edi
jl 0x100d09d0
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d09c0
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x20]
test edx, edx
mov ecx, dword [esp + 0x10]
jle 0x100d0a66
mov eax, dword [esp + 0x40]
lea esi, [ecx + eax]
mov eax, dword [esp + 0x1c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x24]
lea ebx, [ecx + eax]
xor eax, eax
movdqa xmm0, xmmword [ecx + eax*4]
movdqa xmm1, xmmword [edi + eax*4]
pavgb xmm0, xmmword [esi + eax*4]
pavgb xmm1, xmmword [ebx + eax*4]
pavgb xmm1, xmm0
movdqa xmmword [ecx + eax*4], xmm1
add eax, 4
cmp eax, edx
jl 0x100d0a42
add ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d0a23
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x20]
test edi, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
jle 0x100d0b09
xor ecx, ecx
movdqa xmm0, xmmword [edx + ecx*4]
mov ebx, dword [esp + 0x14]
movdqa xmm1, xmmword [ebx + ecx*4]
mov ebx, edi
mov edi, dword [esp + 0x30]
movdqa xmm2, xmmword [edi + ecx*4]
movdqa xmm3, xmmword [eax + ecx*4]
mov edi, dword [esp + 0x1c]
pavgb xmm0, xmmword [edi + ecx*4]
mov edi, dword [esp + 0x28]
pavgb xmm1, xmmword [edi + ecx*4]
pavgb xmm2, xmmword [esi + ecx*4]
pavgb xmm1, xmm0
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x24]
pavgb xmm3, xmmword [eax + ecx*4]
mov eax, esi
mov esi, edi
mov edi, ebx
pavgb xmm3, xmm2
pavgb xmm3, xmm1
movdqa xmmword [edx + ecx*4], xmm3
add ecx, 4
cmp ecx, ebx
jl 0x100d0aa9
mov ecx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x10], edx
add dword [esp + 0x1c], ecx
add dword [esp + 0x14], ecx
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
add esi, ecx
mov dword [esp + 0x38], esi
add eax, ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0a8f
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x54]
jle 0x100d0c42
xor eax, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], edx
movdqa xmm1, xmmword [edx + eax*4]
mov edx, dword [esp + 0x14]
movdqa xmm2, xmmword [edx + eax*4]
mov edx, ebx
mov ebx, dword [esp + 0x30]
movdqa xmm3, xmmword [ebx + eax*4]
mov ebx, edx
movdqa xmm0, xmmword [esi + eax*4]
mov esi, dword [esp + 0x50]
movdqa xmm4, xmmword [esi + eax*4]
movdqa xmm5, xmmword [ecx + eax*4]
movdqa xmm6, xmmword [edi + eax*4]
mov ecx, dword [esp + 0x80]
movdqa xmm7, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
pavgb xmm1, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x28]
pavgb xmm2, xmmword [ecx + eax*4]
pavgb xmm3, xmmword [edx + eax*4]
pavgb xmm2, xmm1
mov edx, dword [esp + 0x24]
pavgb xmm0, xmmword [edx + eax*4]
pavgb xmm0, xmm3
mov edx, dword [esp + 0x5c]
pavgb xmm4, xmmword [edx + eax*4]
mov edx, dword [esp + 0x60]
pavgb xmm5, xmmword [edx + eax*4]
pavgb xmm0, xmm2
pavgb xmm5, xmm4
mov edx, dword [esp + 0x70]
pavgb xmm6, xmmword [edx + eax*4]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
pavgb xmm7, xmmword [esi + eax*4]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
pavgb xmm7, xmm6
pavgb xmm7, xmm5
pavgb xmm7, xmm0
movdqa xmmword [edx + eax*4], xmm7
add eax, 4
cmp eax, dword [esp + 0x20]
jl 0x100d0b85
mov eax, dword [esp + 0x34]
add edx, eax
mov dword [esp + 0x10], edx
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add ebx, eax
mov dword [esp + 0x38], ebx
add esi, eax
mov dword [esp + 0x2c], esi
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
add dword [esp + 0x60], eax
add edi, eax
mov dword [esp + 0x54], edi
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0b54
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*2]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
jle 0x100d0d42
mov eax, dword [edx]
mov esi, dword [esp + 0x40]
mov ecx, dword [edx + esi]
mov ebx, dword [edx + esi*2]
mov edi, ecx
and edi, eax
xor ecx, eax
mov eax, ecx
mov esi, 0x1010101
and ecx, esi
add ecx, edi
mov edi, dword [esp + 0x1c]
mov edi, dword [edx + edi]
shr eax, 1
mov esi, 0x7f7f7f7f
and eax, esi
add ecx, eax
mov eax, edi
and eax, ebx
xor edi, ebx
mov esi, edi
mov ebx, 0x1010101
and edi, ebx
add edi, eax
shr esi, 1
mov ebx, 0x7f7f7f7f
and esi, ebx
add edi, esi
mov eax, edi
and eax, ecx
xor edi, ecx
mov ecx, edi
mov esi, 0x1010101
and edi, esi
add edi, eax
shr ecx, 1
and ecx, ebx
add edi, ecx
mov dword [edx], edi
add edx, 4
dec dword [esp + 0x14]
jne 0x100d0cd5
mov eax, dword [esp + 0x34]
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x18]
jne 0x100d0cc5
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov dword [esp + 0x80], eax
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jle 0x100d0ed4
xor ecx, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov edx, ecx
mov ecx, dword [esi + ecx*4]
mov ebx, dword [edi + edx*4]
mov esi, edx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov edi, dword [eax + esi*4]
mov eax, esi
mov esi, ebx
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov edx, 0x1010101
and ebx, edx
mov edx, 0x1010101
add ebx, esi
mov esi, dword [esp + 0x30]
mov esi, dword [esi + eax*4]
mov dword [esp + 0x70], esi
mov esi, eax
mov dword [esp + 0x40], eax
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add ebx, ecx
mov ecx, edi
mov eax, dword [esp + 0x60]
and ecx, eax
xor edi, eax
mov eax, edi
and edi, edx
add edi, ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + esi*4]
shr eax, 1
mov ecx, 0x7f7f7f7f
and eax, ecx
add edi, eax
mov esi, edx
mov eax, dword [esp + 0x70]
and esi, eax
xor edx, eax
mov ecx, edx
mov eax, 0x1010101
and edx, eax
add edx, esi
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x70], eax
mov eax, esi
shr ecx, 1
mov esi, 0x7f7f7f7f
and ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + eax*4]
mov eax, ecx
mov esi, dword [esp + 0x70]
and eax, esi
mov dword [esp + 0x60], eax
xor ecx, esi
mov eax, ecx
mov esi, 0x1010101
and ecx, esi
add ecx, dword [esp + 0x60]
shr eax, 1
mov esi, 0x7f7f7f7f
and eax, esi
add ecx, eax
mov eax, edi
and eax, ebx
xor edi, ebx
mov esi, edi
mov ebx, 0x1010101
and edi, ebx
add edi, eax
shr esi, 1
mov eax, 0x7f7f7f7f
and esi, eax
add edi, esi
mov eax, ecx
and eax, edx
xor ecx, edx
mov edx, ecx
and ecx, ebx
mov ebx, 0x1010101
add ecx, eax
shr edx, 1
mov eax, 0x7f7f7f7f
and edx, eax
add ecx, edx
mov eax, ecx
and eax, edi
xor ecx, edi
mov edi, dword [esp + 0x1c]
mov edx, ecx
and ecx, ebx
add ecx, eax
mov eax, 0x7f7f7f7f
shr edx, 1
and edx, eax
add ecx, edx
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov esi, eax
mov dword [eax + edx*4], ecx
inc edx
mov ecx, edx
cmp dword [esp + 0x20], edx
jne 0x100d0d93
mov eax, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x10], esi
add edi, eax
mov dword [esp + 0x1c], edi
add ebx, eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0d6f
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x20]
test eax, eax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
jle 0x100d1202
xor ebx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + ebx*4]
mov esi, dword [ecx + ebx*4]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x40], edx
mov edi, ebx
mov ebx, esi
mov edx, esi
and edx, eax
xor ebx, eax
mov eax, ebx
mov esi, 0x1010101
and ebx, esi
add ebx, edx
mov edx, dword [esp + 0x30]
mov edx, dword [edx + edi*4]
shr eax, 1
mov esi, 0x7f7f7f7f
and eax, esi
add ebx, eax
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x40]
mov eax, ebx
and eax, ecx
xor ebx, ecx
mov ecx, ebx
mov esi, 0x1010101
and ebx, esi
add ebx, eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + edi*4]
shr ecx, 1
mov esi, 0x7f7f7f7f
and ecx, esi
add ebx, ecx
mov dword [esp + 0x40], ebx
mov ebx, eax
and eax, edx
xor ebx, edx
mov ecx, ebx
mov edx, 0x1010101
and ebx, edx
mov edx, 0x1010101
add ebx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + edi*4]
shr ecx, 1
mov esi, 0x7f7f7f7f
and ecx, esi
mov esi, 0x7f7f7f7f
add ebx, ecx
mov dword [esp + 0xe0], ebx
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + edi*4]
mov ecx, ebx
and ecx, eax
xor ebx, eax
mov eax, ebx
and ebx, edx
add ebx, ecx
shr eax, 1
and eax, esi
add ebx, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + edi*4]
mov ecx, dword [esp + 0x5c]
mov esi, dword [ecx + edi*4]
mov ecx, esi
and ecx, eax
xor esi, eax
mov eax, esi
and esi, edx
add esi, ecx
shr eax, 1
mov ecx, 0x7f7f7f7f
and eax, ecx
add esi, eax
mov dword [esp + 0x100], esi
mov eax, dword [esp + 0x3c]
mov esi, edi
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x60]
mov edi, dword [eax + edi*4]
mov edx, edi
and edx, ecx
xor edi, ecx
mov ecx, edi
mov eax, 0x1010101
and edi, eax
add edi, edx
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add edi, ecx
mov eax, dword [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x90], esi
mov eax, dword [eax + esi*4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
mov esi, dword [eax + esi*4]
mov edx, esi
mov eax, dword [esp + 0xb0]
and edx, eax
xor esi, eax
mov ecx, esi
mov eax, 0x1010101
and esi, eax
add esi, edx
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add esi, ecx
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax + ecx*4]
mov esi, edx
mov eax, dword [esp + 0xa0]
and esi, eax
xor edx, eax
mov eax, edx
mov ecx, 0x1010101
and edx, ecx
add edx, esi
shr eax, 1
mov ecx, 0x7f7f7f7f
and eax, ecx
add edx, eax
mov ecx, dword [esp + 0x40]
mov eax, ecx
and eax, dword [esp + 0xc0]
mov dword [esp + 0xa0], eax
xor ecx, dword [esp + 0xc0]
mov esi, ecx
mov eax, 0x1010101
and ecx, eax
add ecx, dword [esp + 0xa0]
shr esi, 1
mov eax, 0x7f7f7f7f
and esi, eax
add ecx, esi
mov dword [esp + 0x40], ecx
mov esi, ebx
mov ecx, dword [esp + 0xe0]
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov eax, 0x1010101
and ebx, eax
add ebx, esi
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add ebx, ecx
mov esi, edi
mov eax, dword [esp + 0x100]
and esi, eax
xor edi, eax
mov ecx, edi
mov eax, 0x1010101
and edi, eax
add edi, esi
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add edi, ecx
mov eax, edx
mov ecx, dword [esp + 0xb0]
and eax, ecx
xor edx, ecx
mov ecx, edx
mov esi, 0x1010101
and edx, esi
mov esi, 0x1010101
add edx, eax
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x40]
and eax, ecx
xor ebx, ecx
mov ecx, ebx
and ebx, esi
mov esi, 0x1010101
add ebx, eax
shr ecx, 1
mov eax, 0x7f7f7f7f
and ecx, eax
add ebx, ecx
mov eax, edx
and eax, edi
xor edx, edi
mov ecx, edx
and edx, esi
add edx, eax
shr ecx, 1
mov edi, 0x7f7f7f7f
and ecx, edi
add edx, ecx
mov eax, edx
and eax, ebx
xor edx, ebx
mov esi, dword [esp + 0x10]
mov ecx, edx
mov ebx, 0x1010101
and edx, ebx
add edx, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
and ecx, edi
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
mov dword [esi + edi*4], edx
mov edx, dword [esp + 0x28]
inc edi
mov ebx, edi
cmp eax, edi
jne 0x100d0f4b
mov eax, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x10], esi
add ecx, eax
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x14]
add ebx, eax
add edx, eax
mov dword [esp + 0x28], edx
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x60], eax
add dword [esp + 0x54], eax
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0xd0]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d0f1e
jmp case.0x100d13f1.2
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021aeb4]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
xor ecx, ecx
movss xmm0, dword [0x1020300c]
cmp dword [esp + 0x20], 0
jle 0x100d12be
mov edx, dword [esp + 0x40]
add edx, edi
xor esi, esi
movss xmm1, dword [edi + esi*4]
addss xmm1, dword [edx + esi*4]
mulss xmm1, xmm0
movss dword [edi + esi*4], xmm1
inc esi
cmp esi, eax
jl 0x100d12a6
add edi, dword [esp + 0x34]
inc ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d1297
jmp case.0x100d13f1.2
cmp ax, 7
mov ebx, dword [esp + 0x14]
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021af34]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x14], 0
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x10]
jle 0x100d1342
mov edx, dword [esp + 0x40]
add edx, ecx
xor esi, esi
mov edi, dword [ecx + esi*4]
mov ebx, dword [edx + esi*4]
mov ecx, ebx
and ecx, edi
xor ebx, edi
mov edi, ebx
and ebx, 0x10001
add ebx, ecx
shr edi, 1
and edi, 0x7fff7fff
add ebx, edi
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4], ebx
mov ecx, dword [esp + 0x10]
inc esi
cmp esi, eax
jl 0x100d1312
add ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d12ff
jmp case.0x100d13f1.2
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021ae34]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x20]
test eax, eax
mov ebx, dword [esp + 0x10]
jle 0x100d13c8
mov ecx, dword [esp + 0x40]
add ecx, ebx
xor edx, edx
movzx esi, word [ebx + edx*2]
movzx edi, word [ecx + edx*2]
mov ebx, edi
and ebx, esi
xor edi, esi
mov esi, edi
and edi, 0x821
add edi, ebx
mov ebx, dword [esp + 0x10]
shr esi, 1
and esi, 0x7bef
add edi, esi
mov word [ebx + edx*2], di
inc edx
cmp eax, edx
jne 0x100d1399
add ebx, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1385
jmp case.0x100d13f1.2
cmp ax, 7
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021aef4]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
xor eax, eax
movss xmm0, dword [0x1020300c]
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x100d1435
mov ecx, dword [esp + 0x40]
add ecx, edi
xor edx, edx
movss xmm1, dword [edi + edx*4]
addss xmm1, dword [ecx + edx*4]
mulss xmm1, xmm0
movss dword [edi + edx*4], xmm1
inc edx
cmp esi, edx
jne 0x100d141d
add edi, dword [esp + 0x34]
inc eax
cmp eax, dword [esp + 0x18]
jne 0x100d1411
jmp case.0x100d13f1.2
cmp ax, 7
mov ebx, dword [esp + 0x14]
ja case.0x100d13f1.2
movzx eax, ax
jmp dword [eax*4 + 0x1021af74]
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x20]
test eax, eax
mov ebx, dword [esp + 0x10]
jle 0x100d14b0
mov ecx, dword [esp + 0x40]
add ecx, ebx
xor edx, edx
mov esi, dword [ebx + edx*4]
mov edi, dword [ecx + edx*4]
mov ebx, edi
and ebx, esi
xor edi, esi
mov esi, edi
and edi, 0x10001
add edi, ebx
mov ebx, dword [esp + 0x10]
shr esi, 1
and esi, 0x7fff7fff
add edi, esi
mov dword [ebx + edx*4], edi
inc edx
cmp eax, edx
jne 0x100d1484
add ebx, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1470
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*2]
xor ecx, ecx
movaps xmm0, xmmword [0x1021a6e0]
mov edi, dword [esp + 0x10]
mov edx, edi
mov ebx, dword [esp + 0x20]
mov esi, ebx
test ebx, ebx
mov ebx, dword [esp + 0x40]
jle 0x100d1519
movaps xmm1, xmmword [edx]
addps xmm1, xmmword [edx + ebx]
movaps xmm2, xmmword [edx + ebx*2]
addps xmm2, xmmword [edx + eax]
addps xmm2, xmm1
mulps xmm2, xmm0
movaps xmmword [edx], xmm2
add edx, 0x10
dec esi
jne 0x100d14fb
add edi, dword [esp + 0x34]
mov dword [esp + 0x10], edi
inc ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d14e7
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax*2]
mov dword [esp + 0x14], ecx
lea ecx, [eax + eax*4]
mov dword [esp + 0x1c], ecx
lea edx, [eax + eax]
lea ecx, [edx + edx*2]
mov dword [esp + 0x30], ecx
lea ecx, [eax*8]
sub ecx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], 0
movaps xmm0, xmmword [0x1021a6d0]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edi, eax
test eax, eax
mov eax, dword [esp + 0x40]
jle 0x100d15c6
movaps xmm1, xmmword [ebx]
movaps xmm2, xmmword [ebx + eax*2]
movaps xmm3, xmmword [ebx + eax*4]
addps xmm1, xmmword [ebx + eax]
mov edx, dword [esp + 0x14]
addps xmm2, xmmword [ebx + edx]
movaps xmm4, xmmword [ebx + esi]
addps xmm2, xmm1
mov edx, dword [esp + 0x1c]
addps xmm3, xmmword [ebx + edx]
addps xmm4, xmmword [ebx + ecx]
addps xmm4, xmm3
addps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [ebx], xmm4
add ebx, 0x10
dec edi
jne 0x100d158a
mov edi, dword [esp + 0x34]
add dword [esp + 0x10], edi
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1578
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov ecx, dword [esp + 0x40]
lea eax, [ecx + ecx]
lea edx, [eax + eax*2]
mov dword [esp + 0x14], edx
lea edx, [ecx*8]
sub edx, ecx
mov dword [esp + 0x1c], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x24], eax
lea eax, [ecx*4]
lea eax, [eax + eax*2]
mov dword [esp + 0x30], eax
mov eax, ecx
shl eax, 4
sub eax, ecx
sub eax, ecx
mov dword [esp + 0x28], eax
movaps xmm0, xmmword [0x1021a6c0]
lea eax, [ecx + ecx*2]
lea edx, [ecx + ecx*4]
lea esi, [ecx + ecx*8]
mov dword [esp + 0x70], esi
lea esi, [ecx + edx*2]
mov dword [esp + 0x80], esi
mov dword [esp + 0x2c], eax
lea eax, [ecx + eax*4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x60], edx
lea eax, [edx + edx*2]
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], 0
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, edx
test edx, edx
mov edx, dword [esp + 0x50]
jle 0x100d170f
movaps xmm2, xmmword [eax]
movaps xmm3, xmmword [eax + esi*2]
movaps xmm4, xmmword [eax + esi*4]
mov edi, dword [esp + 0x14]
movaps xmm1, xmmword [eax + edi]
movaps xmm5, xmmword [eax + esi*8]
addps xmm2, xmmword [eax + esi]
mov edi, dword [esp + 0x2c]
addps xmm3, xmmword [eax + edi]
addps xmm3, xmm2
mov edi, dword [esp + 0x24]
movaps xmm2, xmmword [eax + edi]
mov edi, dword [esp + 0x60]
addps xmm4, xmmword [eax + edi]
mov edi, dword [esp + 0x1c]
addps xmm1, xmmword [eax + edi]
addps xmm1, xmm4
mov edi, dword [esp + 0x30]
movaps xmm4, xmmword [eax + edi]
addps xmm1, xmm3
mov edi, dword [esp + 0x28]
movaps xmm3, xmmword [eax + edi]
mov edi, dword [esp + 0x70]
addps xmm5, xmmword [eax + edi]
mov edi, dword [esp + 0x80]
addps xmm2, xmmword [eax + edi]
addps xmm4, xmmword [eax + ebx]
addps xmm3, xmmword [eax + edx]
addps xmm2, xmm5
addps xmm3, xmm4
addps xmm3, xmm2
addps xmm3, xmm1
mulps xmm3, xmm0
movaps xmmword [eax], xmm3
add eax, 0x10
dec ecx
jne 0x100d1684
mov eax, dword [esp + 0x34]
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, dword [esp + 0x18]
jne 0x100d166e
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
lea eax, [eax*4]
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ecx]
mov dword [esp + 0x1c], edx
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], 0
movss xmm0, dword [0x1021a6b8]
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x10]
jle 0x100d17ae
mov ecx, dword [esp + 0x40]
lea edi, [esi + ecx]
mov ecx, dword [esp + 0x1c]
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x24]
add ecx, esi
xor edx, edx
movss xmm1, dword [esi + edx*4]
addss xmm1, dword [edi + edx*4]
movss xmm2, dword [ebx + edx*4]
addss xmm2, dword [ecx + edx*4]
addss xmm2, xmm1
mulss xmm2, xmm0
movss dword [esi + edx*4], xmm2
inc edx
cmp edx, eax
jl 0x100d1788
add esi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d1767
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
lea eax, [eax*4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], 0
movss xmm0, dword [0x1021a6b4]
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
jle 0x100d187b
xor edx, edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ecx
movss xmm1, dword [ecx + edx*4]
mov ecx, dword [esp + 0x14]
movss xmm2, dword [ecx + edx*4]
movss xmm3, dword [edi + edx*4]
addss xmm1, dword [esi + edx*4]
addss xmm2, dword [ebx + edx*4]
mov ecx, dword [esp + 0x2c]
movss xmm4, dword [ecx + edx*4]
addss xmm2, xmm1
addss xmm3, dword [eax + edx*4]
mov esi, ebx
mov ebx, edi
mov edi, eax
mov ecx, dword [esp + 0x24]
addss xmm4, dword [ecx + edx*4]
mov ecx, dword [esp + 0x10]
mov edi, ebx
mov ebx, esi
mov esi, dword [esp + 0x1c]
addss xmm4, xmm3
addss xmm4, xmm2
mulss xmm4, xmm0
movss dword [ecx + edx*4], xmm4
inc edx
cmp edx, dword [esp + 0x40]
jl 0x100d1819
mov edx, dword [esp + 0x34]
add ecx, edx
mov dword [esp + 0x10], ecx
add esi, edx
mov dword [esp + 0x1c], esi
add dword [esp + 0x14], edx
add ebx, edx
mov dword [esp + 0x28], ebx
add edi, edx
mov dword [esp + 0x30], edi
add eax, edx
mov dword [esp + 0x38], eax
add dword [esp + 0x2c], edx
add dword [esp + 0x24], edx
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
cmp eax, dword [esp + 0x18]
jne 0x100d17f4
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
lea eax, [eax*4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x90], 0
movss xmm0, dword [0x1021a6b0]
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x14]
jle 0x100d19de
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
movss xmm2, dword [ebx + eax*4]
movss xmm3, dword [edi + eax*4]
mov edi, ebx
mov ebx, edx
mov edx, dword [esp + 0x30]
movss xmm4, dword [edx + eax*4]
mov edx, ebx
mov ebx, edi
mov edi, dword [esp + 0x14]
movss xmm1, dword [ecx + eax*4]
mov ecx, dword [esp + 0x50]
movss xmm5, dword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
addss xmm2, dword [ecx + eax*4]
addss xmm3, dword [edx + eax*4]
addss xmm3, xmm2
movss xmm2, dword [esi + eax*4]
mov ecx, dword [esp + 0x38]
addss xmm4, dword [ecx + eax*4]
mov ecx, dword [esp + 0x24]
addss xmm1, dword [ecx + eax*4]
addss xmm1, xmm4
mov ecx, dword [esp + 0x54]
movss xmm4, dword [ecx + eax*4]
addss xmm1, xmm3
mov ecx, dword [esp + 0x80]
movss xmm3, dword [ecx + eax*4]
mov esi, dword [esp + 0x5c]
addss xmm5, dword [esi + eax*4]
mov ecx, dword [esp + 0x60]
addss xmm2, dword [ecx + eax*4]
mov ecx, dword [esp + 0x70]
addss xmm4, dword [ecx + eax*4]
mov ecx, dword [esp + 0x58]
addss xmm3, dword [ecx + eax*4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
addss xmm2, xmm5
addss xmm3, xmm4
addss xmm3, xmm2
addss xmm3, xmm1
mulss xmm3, xmm0
movss dword [ebx + eax*4], xmm3
inc eax
cmp eax, dword [esp + 0x40]
jl 0x100d191b
mov eax, dword [esp + 0x34]
add ebx, eax
mov dword [esp + 0x10], ebx
add dword [esp + 0x1c], eax
add edi, eax
mov dword [esp + 0x14], edi
add edx, eax
mov dword [esp + 0x28], edx
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add ecx, eax
mov dword [esp + 0x2c], ecx
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add esi, eax
mov dword [esp + 0x3c], esi
add dword [esp + 0x60], eax
add dword [esp + 0x54], eax
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esp + 0x18]
jne 0x100d18ee
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
movaps xmm0, xmmword [0x1021a6e0]
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x100d1ab9
mov eax, dword [esp + 0x40]
lea esi, [edi + eax]
mov eax, dword [esp + 0x1c]
lea ecx, [edi + eax]
mov eax, dword [esp + 0x24]
lea ebx, [edi + eax]
xor eax, eax
movaps xmm1, xmmword [edi + eax*8]
addps xmm1, xmmword [esi + eax*8]
movaps xmm2, xmmword [ecx + eax*8]
addps xmm2, xmmword [ebx + eax*8]
addps xmm2, xmm1
mulps xmm2, xmm0
movaps xmmword [edi + eax*8], xmm2
add eax, 2
cmp eax, edx
jl 0x100d1a98
add edi, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1a7d
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
movaps xmm0, xmmword [0x1021a6d0]
mov esi, dword [esp + 0x20]
test esi, esi
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jle 0x100d1b60
xor ecx, ecx
mov dword [esp + 0x10], edi
movaps xmm1, xmmword [edi + ecx*8]
movaps xmm2, xmmword [ebx + ecx*8]
mov edi, ebx
mov ebx, esi
mov esi, dword [esp + 0x30]
movaps xmm3, xmmword [esi + ecx*8]
mov esi, dword [esp + 0x1c]
addps xmm1, xmmword [esi + ecx*8]
mov esi, dword [esp + 0x28]
addps xmm2, xmmword [esi + ecx*8]
movaps xmm4, xmmword [eax + ecx*8]
addps xmm2, xmm1
addps xmm3, xmmword [edx + ecx*8]
mov esi, edx
mov edx, eax
mov eax, dword [esp + 0x24]
addps xmm4, xmmword [eax + ecx*8]
mov eax, edx
mov edx, esi
mov esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x10]
addps xmm4, xmm3
addps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [edi + ecx*8], xmm4
add ecx, 2
cmp ecx, esi
jl 0x100d1b05
mov ecx, dword [esp + 0x34]
add edi, ecx
add dword [esp + 0x1c], ecx
add ebx, ecx
mov dword [esp + 0x14], ebx
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
add edx, ecx
mov dword [esp + 0x38], edx
add eax, ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1aeb
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
movaps xmm0, xmmword [0x1021a6c0]
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
jle 0x100d1c87
xor eax, eax
mov dword [esp + 0x10], edi
movaps xmm2, xmmword [edi + eax*8]
mov edi, dword [esp + 0x14]
movaps xmm3, xmmword [edi + eax*8]
mov edi, dword [esp + 0x30]
movaps xmm4, xmmword [edi + eax*8]
mov edi, dword [esp + 0x2c]
movaps xmm1, xmmword [edi + eax*8]
mov edi, dword [esp + 0x50]
movaps xmm5, xmmword [edi + eax*8]
mov edi, dword [esp + 0x1c]
addps xmm2, xmmword [edi + eax*8]
mov edi, dword [esp + 0x28]
addps xmm3, xmmword [edi + eax*8]
addps xmm3, xmm2
mov edi, dword [esp + 0x3c]
movaps xmm2, xmmword [edi + eax*8]
mov edi, dword [esp + 0x38]
addps xmm4, xmmword [edi + eax*8]
mov edi, dword [esp + 0x24]
addps xmm1, xmmword [edi + eax*8]
addps xmm1, xmm4
movaps xmm4, xmmword [esi + eax*8]
addps xmm1, xmm3
movaps xmm3, xmmword [edx + eax*8]
mov edi, dword [esp + 0x5c]
addps xmm5, xmmword [edi + eax*8]
addps xmm2, xmmword [ebx + eax*8]
addps xmm4, xmmword [ecx + eax*8]
mov edi, ebx
mov ebx, esi
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x58]
addps xmm3, xmmword [edx + eax*8]
mov edx, ecx
mov ecx, esi
mov esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x10]
addps xmm2, xmm5
addps xmm3, xmm4
addps xmm3, xmm2
addps xmm3, xmm1
mulps xmm3, xmm0
movaps xmmword [edi + eax*8], xmm3
add eax, 2
cmp eax, dword [esp + 0x20]
jl 0x100d1bde
mov eax, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add ebx, eax
mov dword [esp + 0x60], ebx
add esi, eax
mov dword [esp + 0x54], esi
add ecx, eax
mov dword [esp + 0x70], ecx
add edx, eax
mov dword [esp + 0x80], edx
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1bba
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x20]
test edx, edx
mov ecx, dword [esp + 0x10]
jle 0x100d1d58
mov eax, dword [esp + 0x40]
lea esi, [ecx + eax]
mov eax, dword [esp + 0x1c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x24]
lea ebx, [ecx + eax]
xor eax, eax
movdqa xmm0, xmmword [ecx + eax*8]
movdqa xmm1, xmmword [edi + eax*8]
pavgw xmm0, xmmword [esi + eax*8]
pavgw xmm1, xmmword [ebx + eax*8]
pavgw xmm1, xmm0
movdqa xmmword [ecx + eax*8], xmm1
add eax, 2
cmp eax, edx
jl 0x100d1d34
add ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1d15
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
mov edi, dword [esp + 0x20]
test edi, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
jle 0x100d1dfd
xor ecx, ecx
movdqa xmm0, xmmword [edx + ecx*8]
mov ebx, dword [esp + 0x14]
movdqa xmm1, xmmword [ebx + ecx*8]
mov ebx, edi
mov edi, dword [esp + 0x30]
movdqa xmm2, xmmword [edi + ecx*8]
movdqa xmm3, xmmword [eax + ecx*8]
mov edi, dword [esp + 0x1c]
pavgw xmm0, xmmword [edi + ecx*8]
mov edi, dword [esp + 0x28]
pavgw xmm1, xmmword [edi + ecx*8]
pavgw xmm2, xmmword [esi + ecx*8]
pavgw xmm1, xmm0
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x24]
pavgw xmm3, xmmword [eax + ecx*8]
mov eax, esi
mov esi, edi
mov edi, ebx
pavgw xmm3, xmm2
pavgw xmm3, xmm1
movdqa xmmword [edx + ecx*8], xmm3
add ecx, 2
cmp ecx, ebx
jl 0x100d1d9d
mov ecx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x10], edx
add dword [esp + 0x1c], ecx
add dword [esp + 0x14], ecx
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
add esi, ecx
mov dword [esp + 0x38], esi
add eax, ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1d87
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
jle 0x100d1f3c
xor eax, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], edx
movdqa xmm1, xmmword [edx + eax*8]
mov edx, dword [esp + 0x14]
movdqa xmm2, xmmword [edx + eax*8]
mov edx, edi
mov edi, dword [esp + 0x30]
movdqa xmm3, xmmword [edi + eax*8]
mov edi, edx
movdqa xmm0, xmmword [esi + eax*8]
mov esi, dword [esp + 0x50]
movdqa xmm4, xmmword [esi + eax*8]
movdqa xmm5, xmmword [ecx + eax*8]
movdqa xmm6, xmmword [ebx + eax*8]
mov ecx, dword [esp + 0x80]
movdqa xmm7, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x1c]
pavgw xmm1, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x28]
pavgw xmm2, xmmword [ecx + eax*8]
pavgw xmm3, xmmword [edx + eax*8]
pavgw xmm2, xmm1
mov edx, dword [esp + 0x24]
pavgw xmm0, xmmword [edx + eax*8]
pavgw xmm0, xmm3
mov edx, dword [esp + 0x5c]
pavgw xmm4, xmmword [edx + eax*8]
mov edx, dword [esp + 0x60]
pavgw xmm5, xmmword [edx + eax*8]
pavgw xmm0, xmm2
pavgw xmm5, xmm4
mov edx, dword [esp + 0x70]
pavgw xmm6, xmmword [edx + eax*8]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
pavgw xmm7, xmmword [esi + eax*8]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
pavgw xmm7, xmm6
pavgw xmm7, xmm5
pavgw xmm7, xmm0
movdqa xmmword [edx + eax*8], xmm7
add eax, 2
cmp eax, dword [esp + 0x20]
jl 0x100d1e7f
mov eax, dword [esp + 0x34]
add edx, eax
mov dword [esp + 0x10], edx
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add edi, eax
mov dword [esp + 0x38], edi
add esi, eax
mov dword [esp + 0x2c], esi
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
add dword [esp + 0x60], eax
add ebx, eax
mov dword [esp + 0x54], ebx
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1e52
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
movdqa xmm1, xmmword [0x1021a6a0]
mov esi, dword [esp + 0x20]
test esi, esi
mov ecx, dword [esp + 0x10]
movdqa xmm7, xmmword [0x1021a690]
jle 0x100d208d
mov eax, dword [esp + 0x40]
lea edx, [ecx + eax]
mov eax, dword [esp + 0x1c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x24]
lea ebx, [ecx + eax]
xor eax, eax
movdqa xmm3, xmmword [ecx + eax*2]
movdqa xmm4, xmmword [edx + eax*2]
movdqa xmm5, xmmword [edi + eax*2]
movdqa xmm2, xmmword [ebx + eax*2]
movdqa xmm6, xmm3
pand xmm6, xmm7
movdqa xmm7, xmm4
pand xmm7, xmmword [0x1021a690]
pavgb xmm7, xmm6
movdqa xmm6, xmm5
pand xmm6, xmmword [0x1021a690]
movdqa xmm0, xmm2
pand xmm0, xmmword [0x1021a690]
pavgb xmm0, xmm6
pavgb xmm0, xmm7
movdqa xmm7, xmmword [0x1021a690]
pand xmm3, xmm1
pand xmm4, xmm1
pavgw xmm4, xmm3
pand xmm5, xmm1
pand xmm2, xmm1
pavgw xmm2, xmm5
pavgw xmm2, xmm4
pand xmm0, xmm7
pand xmm2, xmm1
por xmm2, xmm0
movdqa xmmword [ecx + eax*2], xmm2
add eax, 8
cmp eax, esi
jl 0x100d2001
add ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d1fd6
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
movdqa xmm2, xmmword [0x1021a690]
jle 0x100d223b
xor eax, eax
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x10]
movdqa xmm0, xmmword [edi + eax*2]
movdqa xmmword [esp + 0x80], xmm0
mov edi, dword [esp + 0x1c]
movdqa xmm5, xmmword [edi + eax*2]
mov edi, edx
mov edx, ecx
mov ecx, esi
mov ebx, dword [esp + 0x14]
movdqa xmm4, xmmword [ebx + eax*2]
movdqa xmmword [esp + 0x60], xmm4
mov ebx, dword [esp + 0x24]
mov ecx, edx
mov edx, edi
mov edi, dword [esp + 0x28]
movdqa xmm3, xmmword [edi + eax*2]
movdqa xmm6, xmmword [edx + eax*2]
movdqa xmmword [esp + 0x40], xmm6
pand xmm0, xmm2
movdqa xmm1, xmm5
pand xmm1, xmm2
pavgb xmm1, xmm0
movdqa xmm0, xmm4
pand xmm0, xmm2
movdqa xmm2, xmm3
pand xmm2, xmmword [0x1021a690]
pavgb xmm2, xmm0
movdqa xmm4, xmmword [ecx + eax*2]
pavgb xmm2, xmm1
movdqa xmm0, xmm6
pand xmm0, xmmword [0x1021a690]
movdqa xmm6, xmm4
pand xmm6, xmmword [0x1021a690]
pavgb xmm6, xmm0
movdqa xmm7, xmmword [esi + eax*2]
movdqa xmmword [esp + 0x70], xmm7
pand xmm7, xmmword [0x1021a690]
movdqa xmm0, xmmword [ebx + eax*2]
movdqa xmm1, xmm0
pand xmm1, xmmword [0x1021a690]
pavgb xmm1, xmm7
pavgb xmm1, xmm6
movdqa xmm6, xmmword [0x1021a6a0]
pavgb xmm1, xmm2
movdqa xmm2, xmmword [0x1021a690]
movdqa xmm7, xmmword [esp + 0x80]
pand xmm7, xmm6
pand xmm5, xmm6
pavgw xmm5, xmm7
movdqa xmm7, xmmword [esp + 0x60]
pand xmm7, xmm6
pand xmm3, xmm6
pavgw xmm3, xmm7
pavgw xmm3, xmm5
movdqa xmm5, xmmword [esp + 0x40]
pand xmm5, xmm6
pand xmm4, xmm6
pavgw xmm4, xmm5
movdqa xmm5, xmmword [esp + 0x70]
pand xmm5, xmm6
pand xmm0, xmm6
pavgw xmm0, xmm5
pavgw xmm0, xmm4
pavgw xmm0, xmm3
pand xmm1, xmm2
pand xmm0, xmm6
por xmm0, xmm1
mov ebx, dword [esp + 0x10]
movdqa xmmword [ebx + eax*2], xmm0
add eax, 8
cmp eax, dword [esp + 0x20]
jl 0x100d20e9
mov eax, dword [esp + 0x34]
add dword [esp + 0x10], eax
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add edi, eax
mov dword [esp + 0x28], edi
add edx, eax
mov dword [esp + 0x30], edx
add ecx, eax
mov dword [esp + 0x38], ecx
add esi, eax
mov dword [esp + 0x2c], esi
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x18]
jne 0x100d20c0
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0xfc], 0
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
movdqa xmm2, xmmword [0x1021a690]
jle 0x100d257d
xor ecx, ecx
movdqa xmm0, xmmword [eax + ecx*2]
movdqa xmmword [esp + 0x40], xmm0
movdqa xmm1, xmmword [edi + ecx*2]
movdqa xmmword [esp + 0xe0], xmm1
mov ebx, dword [esp + 0x14]
movdqa xmm4, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0xb0], xmm4
movdqa xmm5, xmmword [edx + ecx*2]
movdqa xmmword [esp + 0xc0], xmm5
movdqa xmm3, xmmword [esi + ecx*2]
movdqa xmmword [esp + 0x90], xmm3
pand xmm0, xmm2
pand xmm1, xmm2
pavgb xmm1, xmm0
movdqa xmm0, xmm4
pand xmm0, xmm2
movdqa xmm4, xmm5
pand xmm4, xmm2
pavgb xmm4, xmm0
mov ebx, dword [esp + 0x38]
movdqa xmm5, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x100], xmm5
pavgb xmm4, xmm1
movdqa xmm0, xmm3
pand xmm0, xmm2
movdqa xmm1, xmm5
pand xmm1, xmm2
pavgb xmm1, xmm0
mov ebx, dword [esp + 0x2c]
movdqa xmm0, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0xa0], xmm0
pand xmm0, xmm2
mov ebx, dword [esp + 0x24]
movdqa xmm5, xmmword [ebx + ecx*2]
movdqa xmm3, xmm5
pand xmm3, xmm2
pavgb xmm3, xmm0
pavgb xmm3, xmm1
pavgb xmm3, xmm4
mov ebx, dword [esp + 0x50]
movdqa xmm0, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0xd0], xmm0
pand xmm0, xmm2
mov ebx, dword [esp + 0x5c]
movdqa xmm1, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x140], xmm1
pand xmm1, xmm2
pavgb xmm1, xmm0
mov ebx, dword [esp + 0x3c]
movdqa xmm0, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x110], xmm0
pand xmm0, xmm2
mov ebx, dword [esp + 0x60]
movdqa xmm7, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x120], xmm7
pand xmm7, xmm2
pavgb xmm7, xmm0
pavgb xmm7, xmm1
mov ebx, dword [esp + 0x54]
movdqa xmm0, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x160], xmm0
pand xmm0, xmm2
mov ebx, dword [esp + 0x70]
movdqa xmm6, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x130], xmm6
pand xmm6, xmm2
pavgb xmm6, xmm0
mov ebx, dword [esp + 0x80]
movdqa xmm2, xmmword [ebx + ecx*2]
movdqa xmmword [esp + 0x150], xmm2
pand xmm2, xmmword [0x1021a690]
mov ebx, dword [esp + 0x58]
movdqa xmm0, xmmword [ebx + ecx*2]
movdqa xmm1, xmm0
pand xmm1, xmmword [0x1021a690]
pavgb xmm1, xmm2
movdqa xmm2, xmmword [0x1021a690]
pavgb xmm1, xmm6
pavgb xmm1, xmm7
pavgb xmm1, xmm3
movdqa xmm3, xmmword [0x1021a6a0]
movdqa xmm7, xmmword [esp + 0x40]
pand xmm7, xmm3
movdqa xmm6, xmmword [esp + 0xe0]
pand xmm6, xmm3
pavgw xmm6, xmm7
movdqa xmm7, xmm6
movdqa xmm4, xmmword [esp + 0xb0]
pand xmm4, xmm3
movdqa xmm6, xmmword [esp + 0xc0]
pand xmm6, xmm3
pavgw xmm6, xmm4
pavgb xmm6, xmm7
movdqa xmm7, xmmword [esp + 0x90]
pand xmm7, xmm3
movdqa xmm4, xmmword [esp + 0x100]
pand xmm4, xmm3
pavgw xmm4, xmm7
movdqa xmm7, xmmword [esp + 0xa0]
pand xmm7, xmm3
pand xmm5, xmm3
pavgw xmm5, xmm7
pavgb xmm5, xmm4
pavgb xmm5, xmm6
movdqa xmm4, xmmword [esp + 0xd0]
pand xmm4, xmm3
movdqa xmm6, xmmword [esp + 0x140]
pand xmm6, xmm3
pavgw xmm6, xmm4
movdqa xmm7, xmmword [esp + 0x110]
pand xmm7, xmm3
movdqa xmm4, xmmword [esp + 0x120]
pand xmm4, xmm3
pavgw xmm4, xmm7
pavgb xmm4, xmm6
movdqa xmm7, xmmword [esp + 0x160]
pand xmm7, xmm3
movdqa xmm6, xmmword [esp + 0x130]
pand xmm6, xmm3
pavgw xmm6, xmm7
movdqa xmm7, xmmword [esp + 0x150]
pand xmm7, xmm3
pand xmm0, xmm3
pavgw xmm0, xmm7
pavgb xmm0, xmm6
pavgb xmm0, xmm4
pavgb xmm0, xmm5
pand xmm1, xmm2
pand xmm0, xmm3
por xmm0, xmm1
movdqa xmmword [eax + ecx*2], xmm0
add ecx, 8
cmp ecx, dword [esp + 0x20]
jl 0x100d22ba
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x10], eax
add edi, ecx
mov dword [esp + 0x1c], edi
add dword [esp + 0x14], ecx
add edx, ecx
mov dword [esp + 0x28], edx
add esi, ecx
mov dword [esp + 0x30], esi
add dword [esp + 0x38], ecx
add dword [esp + 0x2c], ecx
add dword [esp + 0x24], ecx
add dword [esp + 0x50], ecx
add dword [esp + 0x5c], ecx
add dword [esp + 0x3c], ecx
add dword [esp + 0x60], ecx
add dword [esp + 0x54], ecx
add dword [esp + 0x70], ecx
add dword [esp + 0x80], ecx
add dword [esp + 0x58], ecx
mov eax, dword [esp + 0xfc]
inc eax
mov dword [esp + 0xfc], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2295
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
movaps xmm0, xmmword [0x1021a6e0]
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x100d2656
mov eax, dword [esp + 0x40]
lea esi, [edi + eax]
mov eax, dword [esp + 0x1c]
lea ecx, [edi + eax]
mov eax, dword [esp + 0x24]
lea ebx, [edi + eax]
xor eax, eax
movaps xmm1, xmmword [edi + eax*4]
addps xmm1, xmmword [esi + eax*4]
movaps xmm2, xmmword [ecx + eax*4]
addps xmm2, xmmword [ebx + eax*4]
addps xmm2, xmm1
mulps xmm2, xmm0
movaps xmmword [edi + eax*4], xmm2
add eax, 4
cmp eax, edx
jl 0x100d2635
add edi, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d261a
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
movaps xmm0, xmmword [0x1021a6d0]
mov esi, dword [esp + 0x20]
test esi, esi
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jle 0x100d26fd
xor ecx, ecx
mov dword [esp + 0x10], edi
movaps xmm1, xmmword [edi + ecx*4]
movaps xmm2, xmmword [ebx + ecx*4]
mov edi, ebx
mov ebx, esi
mov esi, dword [esp + 0x30]
movaps xmm3, xmmword [esi + ecx*4]
mov esi, dword [esp + 0x1c]
addps xmm1, xmmword [esi + ecx*4]
mov esi, dword [esp + 0x28]
addps xmm2, xmmword [esi + ecx*4]
movaps xmm4, xmmword [eax + ecx*4]
addps xmm2, xmm1
addps xmm3, xmmword [edx + ecx*4]
mov esi, edx
mov edx, eax
mov eax, dword [esp + 0x24]
addps xmm4, xmmword [eax + ecx*4]
mov eax, edx
mov edx, esi
mov esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x10]
addps xmm4, xmm3
addps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [edi + ecx*4], xmm4
add ecx, 4
cmp ecx, esi
jl 0x100d26a2
mov ecx, dword [esp + 0x34]
add edi, ecx
add dword [esp + 0x1c], ecx
add ebx, ecx
mov dword [esp + 0x14], ebx
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
add edx, ecx
mov dword [esp + 0x38], edx
add eax, ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2688
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
movaps xmm0, xmmword [0x1021a6c0]
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
jle 0x100d2824
xor eax, eax
mov dword [esp + 0x10], edi
movaps xmm2, xmmword [edi + eax*4]
mov edi, dword [esp + 0x14]
movaps xmm3, xmmword [edi + eax*4]
mov edi, dword [esp + 0x30]
movaps xmm4, xmmword [edi + eax*4]
mov edi, dword [esp + 0x2c]
movaps xmm1, xmmword [edi + eax*4]
mov edi, dword [esp + 0x50]
movaps xmm5, xmmword [edi + eax*4]
mov edi, dword [esp + 0x1c]
addps xmm2, xmmword [edi + eax*4]
mov edi, dword [esp + 0x28]
addps xmm3, xmmword [edi + eax*4]
addps xmm3, xmm2
mov edi, dword [esp + 0x3c]
movaps xmm2, xmmword [edi + eax*4]
mov edi, dword [esp + 0x38]
addps xmm4, xmmword [edi + eax*4]
mov edi, dword [esp + 0x24]
addps xmm1, xmmword [edi + eax*4]
addps xmm1, xmm4
movaps xmm4, xmmword [esi + eax*4]
addps xmm1, xmm3
movaps xmm3, xmmword [edx + eax*4]
mov edi, dword [esp + 0x5c]
addps xmm5, xmmword [edi + eax*4]
addps xmm2, xmmword [ebx + eax*4]
addps xmm4, xmmword [ecx + eax*4]
mov edi, ebx
mov ebx, esi
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x58]
addps xmm3, xmmword [edx + eax*4]
mov edx, ecx
mov ecx, esi
mov esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x10]
addps xmm2, xmm5
addps xmm3, xmm4
addps xmm3, xmm2
addps xmm3, xmm1
mulps xmm3, xmm0
movaps xmmword [edi + eax*4], xmm3
add eax, 4
cmp eax, dword [esp + 0x20]
jl 0x100d277b
mov eax, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add ebx, eax
mov dword [esp + 0x60], ebx
add esi, eax
mov dword [esp + 0x54], esi
add ecx, eax
mov dword [esp + 0x70], ecx
add edx, eax
mov dword [esp + 0x80], edx
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2757
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x20]
test edx, edx
mov ecx, dword [esp + 0x10]
jle 0x100d28f5
mov eax, dword [esp + 0x40]
lea esi, [ecx + eax]
mov eax, dword [esp + 0x1c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x24]
lea ebx, [ecx + eax]
xor eax, eax
movdqa xmm0, xmmword [ecx + eax*4]
movdqa xmm1, xmmword [edi + eax*4]
pavgw xmm0, xmmword [esi + eax*4]
pavgw xmm1, xmmword [ebx + eax*4]
pavgw xmm1, xmm0
movdqa xmmword [ecx + eax*4], xmm1
add eax, 4
cmp eax, edx
jl 0x100d28d1
add ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x100d28b2
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
mov edi, dword [esp + 0x20]
test edi, edi
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
jle 0x100d299a
xor ecx, ecx
movdqa xmm0, xmmword [edx + ecx*4]
mov ebx, dword [esp + 0x14]
movdqa xmm1, xmmword [ebx + ecx*4]
mov ebx, edi
mov edi, dword [esp + 0x30]
movdqa xmm2, xmmword [edi + ecx*4]
movdqa xmm3, xmmword [eax + ecx*4]
mov edi, dword [esp + 0x1c]
pavgw xmm0, xmmword [edi + ecx*4]
mov edi, dword [esp + 0x28]
pavgw xmm1, xmmword [edi + ecx*4]
pavgw xmm2, xmmword [esi + ecx*4]
pavgw xmm1, xmm0
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x24]
pavgw xmm3, xmmword [eax + ecx*4]
mov eax, esi
mov esi, edi
mov edi, ebx
pavgw xmm3, xmm2
pavgw xmm3, xmm1
movdqa xmmword [edx + ecx*4], xmm3
add ecx, 4
cmp ecx, ebx
jl 0x100d293a
mov ecx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x10], edx
add dword [esp + 0x1c], ecx
add dword [esp + 0x14], ecx
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
add esi, ecx
mov dword [esp + 0x38], esi
add eax, ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2924
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
jle 0x100d2ad9
xor eax, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], edx
movdqa xmm1, xmmword [edx + eax*4]
mov edx, dword [esp + 0x14]
movdqa xmm2, xmmword [edx + eax*4]
mov edx, edi
mov edi, dword [esp + 0x30]
movdqa xmm3, xmmword [edi + eax*4]
mov edi, edx
movdqa xmm0, xmmword [esi + eax*4]
mov esi, dword [esp + 0x50]
movdqa xmm4, xmmword [esi + eax*4]
movdqa xmm5, xmmword [ecx + eax*4]
movdqa xmm6, xmmword [ebx + eax*4]
mov ecx, dword [esp + 0x80]
movdqa xmm7, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
pavgw xmm1, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x28]
pavgw xmm2, xmmword [ecx + eax*4]
pavgw xmm3, xmmword [edx + eax*4]
pavgw xmm2, xmm1
mov edx, dword [esp + 0x24]
pavgw xmm0, xmmword [edx + eax*4]
pavgw xmm0, xmm3
mov edx, dword [esp + 0x5c]
pavgw xmm4, xmmword [edx + eax*4]
mov edx, dword [esp + 0x60]
pavgw xmm5, xmmword [edx + eax*4]
pavgw xmm0, xmm2
pavgw xmm5, xmm4
mov edx, dword [esp + 0x70]
pavgw xmm6, xmmword [edx + eax*4]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
pavgw xmm7, xmmword [esi + eax*4]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
pavgw xmm7, xmm6
pavgw xmm7, xmm5
pavgw xmm7, xmm0
movdqa xmmword [edx + eax*4], xmm7
add eax, 4
cmp eax, dword [esp + 0x20]
jl 0x100d2a1c
mov eax, dword [esp + 0x34]
add edx, eax
mov dword [esp + 0x10], edx
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add edi, eax
mov dword [esp + 0x38], edi
add esi, eax
mov dword [esp + 0x2c], esi
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add ecx, eax
mov dword [esp + 0x3c], ecx
add dword [esp + 0x60], eax
add ebx, eax
mov dword [esp + 0x54], ebx
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d29ef
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ecx]
mov dword [esp + 0x1c], edx
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], 0
movss xmm0, dword [0x1021a6b8]
cmp dword [esp + 0x20], 0
jle 0x100d2bb8
mov ecx, dword [esp + 0x40]
lea esi, [edi + ecx]
mov ecx, dword [esp + 0x1c]
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x24]
add ecx, edi
xor edx, edx
movss xmm1, dword [edi + edx*4]
addss xmm1, dword [esi + edx*4]
movss xmm2, dword [ebx + edx*4]
addss xmm2, dword [ecx + edx*4]
addss xmm2, xmm1
mulss xmm2, xmm0
movss dword [edi + edx*4], xmm2
inc edx
cmp edx, eax
jl 0x100d2b92
add edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d2b75
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], 0
movss xmm0, dword [0x1021a6b4]
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
jle 0x100d2c76
xor edx, edx
mov dword [esp + 0x10], edi
movss xmm1, dword [edi + edx*4]
mov edi, dword [esp + 0x14]
movss xmm2, dword [edi + edx*4]
movss xmm3, dword [esi + edx*4]
mov edi, dword [esp + 0x1c]
addss xmm1, dword [edi + edx*4]
addss xmm2, dword [eax + edx*4]
movss xmm4, dword [ecx + edx*4]
addss xmm2, xmm1
addss xmm3, dword [ebx + edx*4]
mov edi, eax
mov eax, esi
mov esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x24]
addss xmm4, dword [ecx + edx*4]
mov ecx, ebx
mov ebx, esi
mov esi, eax
mov eax, edi
mov edi, dword [esp + 0x10]
addss xmm4, xmm3
addss xmm4, xmm2
mulss xmm4, xmm0
movss dword [edi + edx*4], xmm4
inc edx
cmp edx, dword [esp + 0x40]
jl 0x100d2c12
mov edx, dword [esp + 0x34]
add edi, edx
add dword [esp + 0x1c], edx
add dword [esp + 0x14], edx
add eax, edx
mov dword [esp + 0x28], eax
add esi, edx
mov dword [esp + 0x30], esi
add ebx, edx
mov dword [esp + 0x38], ebx
add ecx, edx
mov dword [esp + 0x2c], ecx
add dword [esp + 0x24], edx
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2bf5
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x90], 0
movss xmm0, dword [0x1021a6b0]
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x80]
jle 0x100d2dc4
xor eax, eax
mov dword [esp + 0x10], edi
movss xmm2, dword [edi + eax*4]
mov edi, dword [esp + 0x14]
movss xmm3, dword [edi + eax*4]
mov edi, dword [esp + 0x30]
movss xmm4, dword [edi + eax*4]
mov edi, dword [esp + 0x2c]
movss xmm1, dword [edi + eax*4]
mov edi, dword [esp + 0x50]
movss xmm5, dword [edi + eax*4]
mov edi, dword [esp + 0x1c]
addss xmm2, dword [edi + eax*4]
mov edi, dword [esp + 0x28]
addss xmm3, dword [edi + eax*4]
addss xmm3, xmm2
mov edi, dword [esp + 0x3c]
movss xmm2, dword [edi + eax*4]
mov edi, dword [esp + 0x38]
addss xmm4, dword [edi + eax*4]
mov edi, dword [esp + 0x24]
addss xmm1, dword [edi + eax*4]
addss xmm1, xmm4
movss xmm4, dword [esi + eax*4]
addss xmm1, xmm3
movss xmm3, dword [ebx + eax*4]
mov edi, dword [esp + 0x5c]
addss xmm5, dword [edi + eax*4]
addss xmm2, dword [ecx + eax*4]
addss xmm4, dword [edx + eax*4]
mov edi, ecx
mov ecx, esi
mov esi, edx
mov edx, ebx
mov ebx, dword [esp + 0x58]
addss xmm3, dword [ebx + eax*4]
mov ebx, edx
mov edx, esi
mov esi, ecx
mov ecx, edi
mov edi, dword [esp + 0x10]
addss xmm2, xmm5
addss xmm3, xmm4
addss xmm3, xmm2
addss xmm3, xmm1
mulss xmm3, xmm0
movss dword [edi + eax*4], xmm3
inc eax
cmp eax, dword [esp + 0x40]
jl 0x100d2d04
mov eax, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add ecx, eax
mov dword [esp + 0x60], ecx
add esi, eax
mov dword [esp + 0x54], esi
add edx, eax
mov dword [esp + 0x70], edx
add ebx, eax
mov dword [esp + 0x80], ebx
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2ce0
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], 0
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x10]
mov edi, 0x10001
jle 0x100d2f0d
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
add eax, edx
mov dword [esp + 0x24], eax
xor eax, eax
mov esi, dword [edx + eax*4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + eax*4]
mov ebx, edx
and ebx, esi
xor edx, esi
mov esi, edx
and edx, edi
add edx, ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [edi + eax*4]
shr esi, 1
mov edi, 0x7fff7fff
and esi, edi
add edx, esi
mov esi, ebx
and esi, ecx
xor ebx, ecx
mov edi, ebx
mov ecx, 0x10001
and ebx, ecx
add ebx, esi
shr edi, 1
mov esi, 0x7fff7fff
and edi, esi
add ebx, edi
mov edi, 0x10001
mov esi, ebx
and esi, edx
xor ebx, edx
mov edx, ebx
and ebx, edi
add ebx, esi
mov esi, 0x7fff7fff
mov ecx, dword [esp + 0x30]
shr edx, 1
and edx, esi
add ebx, edx
mov edx, dword [esp + 0x10]
mov dword [edx + eax*4], ebx
mov edx, dword [esp + 0x10]
inc eax
cmp eax, ecx
jl 0x100d2e92
add edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2e5e
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
jle 0x100d30aa
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edx
mov ecx, dword [esi + edi*4]
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + edi*4]
mov eax, dword [ebx + edi*4]
mov dword [esp + 0x60], eax
mov eax, edi
mov edi, dword [esp + 0x28]
mov ebx, dword [edi + eax*4]
mov edi, edx
and edi, ecx
xor edx, ecx
mov ecx, edx
mov esi, 0x10001
and edx, esi
mov esi, 0x10001
add edx, edi
mov edi, dword [esp + 0x30]
mov edi, dword [edi + eax*4]
mov dword [esp + 0x70], edi
mov edi, eax
mov dword [esp + 0x40], eax
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edx, ecx
mov ecx, ebx
mov eax, dword [esp + 0x60]
and ecx, eax
xor ebx, eax
mov eax, ebx
and ebx, esi
add ebx, ecx
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx + edi*4]
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add ebx, eax
mov edi, esi
mov eax, dword [esp + 0x70]
and edi, eax
xor esi, eax
mov ecx, esi
mov eax, 0x10001
and esi, eax
add esi, edi
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x70], eax
mov eax, edi
shr ecx, 1
mov edi, 0x7fff7fff
and ecx, edi
add esi, ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + eax*4]
mov eax, ecx
mov edi, dword [esp + 0x70]
and eax, edi
mov dword [esp + 0x60], eax
xor ecx, edi
mov eax, ecx
mov edi, 0x10001
and ecx, edi
add ecx, dword [esp + 0x60]
shr eax, 1
mov edi, 0x7fff7fff
and eax, edi
add ecx, eax
mov eax, ebx
and eax, edx
xor ebx, edx
mov edx, ebx
mov edi, 0x10001
and ebx, edi
add ebx, eax
shr edx, 1
mov eax, 0x7fff7fff
and edx, eax
add ebx, edx
mov eax, ecx
and eax, esi
xor ecx, esi
mov edx, ecx
and ecx, edi
mov edi, 0x10001
add ecx, eax
shr edx, 1
mov eax, 0x7fff7fff
and edx, eax
add ecx, edx
mov eax, ecx
and eax, ebx
xor ecx, ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edx, ecx
and ecx, edi
add ecx, eax
mov eax, 0x7fff7fff
shr edx, 1
and edx, eax
add ecx, edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov dword [esi + eax*4], ecx
mov ecx, dword [esp + 0x80]
inc eax
mov edi, eax
cmp eax, ecx
jl 0x100d2f6a
mov eax, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x10], esi
add edx, eax
mov dword [esp + 0x1c], edx
add ebx, eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x18]
jne 0x100d2f4d
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x110], 0
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov edi, ebx
jle 0x100d33f3
xor ebx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + ebx*4]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [edi + ebx*4]
mov dword [esp + 0xe0], ecx
mov ecx, dword [edx + ebx*4]
mov dword [esp + 0x40], ecx
mov edi, ebx
mov edx, eax
and edx, esi
xor eax, esi
mov ecx, eax
mov esi, 0x10001
and eax, esi
mov ebx, 0x10001
add eax, edx
mov edx, dword [esp + 0x30]
mov edx, dword [edx + edi*4]
shr ecx, 1
mov esi, 0x7fff7fff
and ecx, esi
add eax, ecx
mov dword [esp + 0xc0], eax
mov esi, dword [esp + 0x40]
mov eax, esi
mov ecx, dword [esp + 0xe0]
and eax, ecx
xor esi, ecx
mov ecx, esi
and esi, ebx
add esi, eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + edi*4]
shr ecx, 1
mov ebx, 0x7fff7fff
and ecx, ebx
mov ebx, 0x7fff7fff
add esi, ecx
mov dword [esp + 0x40], esi
mov esi, eax
and eax, edx
xor esi, edx
mov ecx, esi
mov edx, 0x10001
and esi, edx
add esi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + edi*4]
shr ecx, 1
and ecx, ebx
add esi, ecx
mov dword [esp + 0xe0], esi
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + edi*4]
mov ecx, ebx
and ecx, eax
xor ebx, eax
mov eax, ebx
and ebx, edx
mov edx, 0x10001
add ebx, ecx
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add ebx, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + edi*4]
mov ecx, dword [esp + 0x5c]
mov esi, dword [ecx + edi*4]
mov ecx, esi
and ecx, eax
xor esi, eax
mov eax, esi
and esi, edx
add esi, ecx
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add esi, eax
mov dword [esp + 0x100], esi
mov eax, dword [esp + 0x3c]
mov esi, edi
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x60]
mov edi, dword [eax + edi*4]
mov edx, edi
and edx, ecx
xor edi, ecx
mov ecx, edi
mov eax, 0x10001
and edi, eax
add edi, edx
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edi, ecx
mov eax, dword [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x90], esi
mov eax, dword [eax + esi*4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
mov esi, dword [eax + esi*4]
mov edx, esi
mov eax, dword [esp + 0xb0]
and edx, eax
xor esi, eax
mov ecx, esi
mov eax, 0x10001
and esi, eax
add esi, edx
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add esi, ecx
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax + ecx*4]
mov esi, edx
mov eax, dword [esp + 0xa0]
and esi, eax
xor edx, eax
mov eax, edx
mov ecx, 0x10001
and edx, ecx
add edx, esi
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add edx, eax
mov ecx, dword [esp + 0x40]
mov eax, ecx
and eax, dword [esp + 0xc0]
mov dword [esp + 0xa0], eax
xor ecx, dword [esp + 0xc0]
mov esi, ecx
mov eax, 0x10001
and ecx, eax
add ecx, dword [esp + 0xa0]
shr esi, 1
mov eax, 0x7fff7fff
and esi, eax
add ecx, esi
mov dword [esp + 0x40], ecx
mov esi, ebx
mov ecx, dword [esp + 0xe0]
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov eax, 0x10001
and ebx, eax
add ebx, esi
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add ebx, ecx
mov esi, edi
mov eax, dword [esp + 0x100]
and esi, eax
xor edi, eax
mov ecx, edi
mov eax, 0x10001
and edi, eax
add edi, esi
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edi, ecx
mov eax, edx
mov ecx, dword [esp + 0xb0]
and eax, ecx
xor edx, ecx
mov ecx, edx
mov esi, 0x10001
and edx, esi
add edx, eax
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x40]
and eax, ecx
xor ebx, ecx
mov ecx, ebx
and ebx, esi
mov esi, 0x10001
add ebx, eax
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add ebx, ecx
mov eax, edx
and eax, edi
xor edx, edi
mov ecx, edx
and edx, esi
add edx, eax
shr ecx, 1
mov edi, 0x7fff7fff
and ecx, edi
add edx, ecx
mov eax, edx
and eax, ebx
xor edx, ebx
mov esi, dword [esp + 0x10]
mov ecx, edx
mov ebx, 0x10001
and edx, ebx
add edx, eax
mov eax, dword [esp + 0xd0]
shr ecx, 1
and ecx, edi
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
mov dword [esi + edi*4], edx
mov edx, dword [esp + 0x28]
inc edi
mov ebx, edi
cmp edi, eax
mov edi, dword [esp + 0x14]
jl 0x100d3132
mov eax, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x10], esi
add ecx, eax
mov dword [esp + 0x1c], ecx
add edi, eax
mov ebx, edi
add edx, eax
mov dword [esp + 0x28], edx
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x60], eax
add dword [esp + 0x54], eax
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x110]
inc eax
mov dword [esp + 0x110], eax
cmp eax, dword [esp + 0x18]
jne 0x100d310b
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*2]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
jle 0x100d34fe
movzx eax, word [edx]
mov esi, dword [esp + 0x40]
movzx ecx, word [edx + esi]
movzx ebx, word [edx + esi*2]
mov edi, ecx
and edi, eax
xor ecx, eax
mov eax, ecx
mov esi, 0x821
and ecx, esi
add ecx, edi
mov edi, dword [esp + 0x1c]
movzx edi, word [edx + edi]
shr eax, 1
mov esi, 0x7bef
and eax, esi
add ecx, eax
mov eax, edi
and eax, ebx
xor edi, ebx
mov esi, edi
mov ebx, 0x821
and edi, ebx
add edi, eax
shr esi, 1
mov ebx, 0x7bef
and esi, ebx
add edi, esi
mov eax, edi
and eax, ecx
xor edi, ecx
mov ecx, edi
mov esi, 0x821
and edi, esi
add edi, eax
shr ecx, 1
and ecx, ebx
add edi, ecx
mov word [edx], di
add edx, 2
dec dword [esp + 0x14]
jne 0x100d348c
mov eax, dword [esp + 0x34]
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x18]
jne 0x100d347c
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jle 0x100d36a0
xor ebx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
mov edx, ebx
movzx ecx, word [eax + ebx*2]
movzx ebx, word [edi + ebx*2]
mov esi, edx
mov edx, dword [esp + 0x14]
movzx eax, word [edx + esi*2]
mov dword [esp + 0x60], eax
mov eax, esi
mov esi, dword [esp + 0x28]
movzx edi, word [esi + eax*2]
mov esi, ebx
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov edx, 0x821
and ebx, edx
mov edx, 0x821
add ebx, esi
mov esi, dword [esp + 0x30]
movzx esi, word [esi + eax*2]
mov dword [esp + 0x70], esi
mov esi, eax
mov dword [esp + 0x40], eax
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add ebx, ecx
mov ecx, edi
mov eax, dword [esp + 0x60]
and ecx, eax
xor edi, eax
mov eax, edi
and edi, edx
add edi, ecx
mov ecx, dword [esp + 0x38]
movzx edx, word [ecx + esi*2]
shr eax, 1
mov ecx, 0x7bef
and eax, ecx
add edi, eax
mov esi, edx
mov eax, dword [esp + 0x70]
and esi, eax
xor edx, eax
mov ecx, edx
mov eax, 0x821
and edx, eax
add edx, esi
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x70], eax
mov eax, esi
shr ecx, 1
mov esi, 0x7bef
and ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + eax*2]
mov eax, ecx
mov esi, dword [esp + 0x70]
and eax, esi
mov dword [esp + 0x60], eax
xor ecx, esi
mov eax, ecx
mov esi, 0x821
and ecx, esi
add ecx, dword [esp + 0x60]
shr eax, 1
mov esi, 0x7bef
and eax, esi
add ecx, eax
mov eax, edi
and eax, ebx
xor edi, ebx
mov esi, edi
mov ebx, 0x821
and edi, ebx
add edi, eax
shr esi, 1
mov eax, 0x7bef
and esi, eax
add edi, esi
mov eax, ecx
and eax, edx
xor ecx, edx
mov edx, ecx
and ecx, ebx
mov esi, 0x821
add ecx, eax
shr edx, 1
mov eax, 0x7bef
and edx, eax
add ecx, edx
mov eax, ecx
and eax, edi
xor ecx, edi
mov edi, dword [esp + 0x1c]
mov edx, ecx
and ecx, esi
add ecx, eax
mov eax, dword [esp + 0x10]
mov esi, 0x7bef
shr edx, 1
and edx, esi
add ecx, edx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x40]
mov word [eax + esi*2], cx
mov ecx, dword [esp + 0x20]
inc esi
mov ebx, esi
cmp ecx, esi
jne 0x100d3556
mov ecx, eax
mov eax, dword [esp + 0x34]
add ecx, eax
mov dword [esp + 0x10], ecx
add edi, eax
mov dword [esp + 0x1c], edi
add edx, eax
mov dword [esp + 0x14], edx
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3534
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0x20]
test eax, eax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
jle 0x100d39f2
xor ebx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
movzx eax, word [esi + ebx*2]
movzx esi, word [ecx + ebx*2]
movzx ecx, word [edi + ebx*2]
movzx edx, word [edx + ebx*2]
mov dword [esp + 0x40], edx
mov edi, ebx
mov ebx, esi
mov edx, esi
and edx, eax
xor ebx, eax
mov eax, ebx
mov esi, 0x821
and ebx, esi
add ebx, edx
mov edx, dword [esp + 0x30]
movzx edx, word [edx + edi*2]
shr eax, 1
mov esi, 0x7bef
and eax, esi
add ebx, eax
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x40]
mov eax, ebx
and eax, ecx
xor ebx, ecx
mov ecx, ebx
mov esi, 0x821
and ebx, esi
add ebx, eax
mov eax, dword [esp + 0x38]
movzx eax, word [eax + edi*2]
shr ecx, 1
mov esi, 0x7bef
and ecx, esi
add ebx, ecx
mov dword [esp + 0x40], ebx
mov ebx, eax
and eax, edx
xor ebx, edx
mov ecx, ebx
mov edx, 0x821
and ebx, edx
mov edx, 0x821
add ebx, eax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + edi*2]
shr ecx, 1
mov esi, 0x7bef
and ecx, esi
mov esi, 0x7bef
add ebx, ecx
mov dword [esp + 0xe0], ebx
mov ecx, dword [esp + 0x24]
movzx ebx, word [ecx + edi*2]
mov ecx, ebx
and ecx, eax
xor ebx, eax
mov eax, ebx
and ebx, edx
add ebx, ecx
shr eax, 1
and eax, esi
add ebx, eax
mov eax, dword [esp + 0x50]
movzx eax, word [eax + edi*2]
mov ecx, dword [esp + 0x5c]
movzx esi, word [ecx + edi*2]
mov ecx, esi
and ecx, eax
xor esi, eax
mov eax, esi
and esi, edx
add esi, ecx
shr eax, 1
mov ecx, 0x7bef
and eax, ecx
add esi, eax
mov dword [esp + 0x100], esi
mov eax, dword [esp + 0x3c]
mov esi, edi
movzx ecx, word [eax + edi*2]
mov eax, dword [esp + 0x60]
movzx edi, word [eax + edi*2]
mov edx, edi
and edx, ecx
xor edi, ecx
mov ecx, edi
mov eax, 0x821
and edi, eax
add edi, edx
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add edi, ecx
mov eax, dword [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x90], esi
movzx eax, word [eax + esi*2]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
movzx esi, word [eax + esi*2]
mov edx, esi
mov eax, dword [esp + 0xb0]
and edx, eax
xor esi, eax
mov ecx, esi
mov eax, 0x821
and esi, eax
add esi, edx
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add esi, ecx
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x58]
movzx edx, word [eax + ecx*2]
mov esi, edx
mov eax, dword [esp + 0xa0]
and esi, eax
xor edx, eax
mov eax, edx
mov ecx, 0x821
and edx, ecx
add edx, esi
shr eax, 1
mov ecx, 0x7bef
and eax, ecx
add edx, eax
mov ecx, dword [esp + 0x40]
mov eax, ecx
and eax, dword [esp + 0xc0]
mov dword [esp + 0xa0], eax
xor ecx, dword [esp + 0xc0]
mov esi, ecx
mov eax, 0x821
and ecx, eax
add ecx, dword [esp + 0xa0]
shr esi, 1
mov eax, 0x7bef
and esi, eax
add ecx, esi
mov dword [esp + 0x40], ecx
mov esi, ebx
mov ecx, dword [esp + 0xe0]
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov eax, 0x821
and ebx, eax
add ebx, esi
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add ebx, ecx
mov esi, edi
mov eax, dword [esp + 0x100]
and esi, eax
xor edi, eax
mov ecx, edi
mov eax, 0x821
and edi, eax
add edi, esi
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add edi, ecx
mov eax, edx
mov ecx, dword [esp + 0xb0]
and eax, ecx
xor edx, ecx
mov ecx, edx
mov esi, 0x821
and edx, esi
mov esi, 0x821
add edx, eax
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x40]
and eax, ecx
xor ebx, ecx
mov ecx, ebx
and ebx, esi
mov esi, 0x821
add ebx, eax
shr ecx, 1
mov eax, 0x7bef
and ecx, eax
add ebx, ecx
mov eax, edx
and eax, edi
xor edx, edi
mov ecx, edx
and edx, esi
add edx, eax
shr ecx, 1
mov edi, 0x7bef
and ecx, edi
add edx, ecx
mov eax, edx
and eax, ebx
xor edx, ebx
mov esi, dword [esp + 0x10]
mov ecx, edx
mov ebx, 0x821
and edx, ebx
add edx, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
and ecx, edi
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
mov word [esi + edi*2], dx
mov edx, dword [esp + 0x28]
inc edi
mov ebx, edi
cmp eax, edi
mov edi, dword [esp + 0x14]
jne 0x100d372a
mov eax, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x10], esi
add ecx, eax
mov dword [esp + 0x1c], ecx
add edi, eax
mov dword [esp + 0x14], edi
add edx, eax
mov dword [esp + 0x28], edx
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x60], eax
add dword [esp + 0x54], eax
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0xd0]
inc eax
mov dword [esp + 0xd0], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3700
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*2]
xor ecx, ecx
movss xmm0, dword [0x1021a6b8]
mov edx, edi
mov ebx, dword [esp + 0x20]
mov esi, ebx
test ebx, ebx
mov ebx, dword [esp + 0x40]
jle 0x100d3ab0
movss xmm1, dword [edx]
addss xmm1, dword [edx + ebx]
movss xmm2, dword [edx + ebx*2]
addss xmm2, dword [edx + eax]
addss xmm2, xmm1
mulss xmm2, xmm0
movss dword [edx], xmm2
add edx, 4
dec esi
jne 0x100d3a8b
add edi, dword [esp + 0x34]
inc ecx
cmp ecx, dword [esp + 0x18]
jne 0x100d3a7b
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
movss xmm0, dword [0x1021a6b4]
mov esi, dword [esp + 0x20]
test esi, esi
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jle 0x100d3b5b
xor ecx, ecx
mov dword [esp + 0x10], edi
movss xmm1, dword [edi + ecx*4]
movss xmm2, dword [ebx + ecx*4]
mov edi, ebx
mov ebx, esi
mov esi, dword [esp + 0x30]
movss xmm3, dword [esi + ecx*4]
mov esi, dword [esp + 0x1c]
addss xmm1, dword [esi + ecx*4]
mov esi, dword [esp + 0x28]
addss xmm2, dword [esi + ecx*4]
movss xmm4, dword [eax + ecx*4]
addss xmm2, xmm1
addss xmm3, dword [edx + ecx*4]
mov esi, edx
mov edx, eax
mov eax, dword [esp + 0x24]
addss xmm4, dword [eax + ecx*4]
mov eax, edx
mov edx, esi
mov esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x10]
addss xmm4, xmm3
addss xmm4, xmm2
mulss xmm4, xmm0
movss dword [edi + ecx*4], xmm4
inc ecx
cmp esi, ecx
jne 0x100d3af5
mov ecx, dword [esp + 0x34]
add edi, ecx
add dword [esp + 0x1c], ecx
add ebx, ecx
mov dword [esp + 0x14], ebx
add dword [esp + 0x28], ecx
add dword [esp + 0x30], ecx
add edx, ecx
mov dword [esp + 0x38], edx
add eax, ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3adb
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x40], 0
movss xmm0, dword [0x1021a6b0]
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
jle 0x100d3c9a
xor eax, eax
mov dword [esp + 0x10], edi
movss xmm2, dword [edi + eax*4]
mov edi, dword [esp + 0x14]
movss xmm3, dword [edi + eax*4]
mov edi, dword [esp + 0x30]
movss xmm4, dword [edi + eax*4]
mov edi, dword [esp + 0x2c]
movss xmm1, dword [edi + eax*4]
mov edi, dword [esp + 0x50]
movss xmm5, dword [edi + eax*4]
mov edi, dword [esp + 0x1c]
addss xmm2, dword [edi + eax*4]
mov edi, dword [esp + 0x28]
addss xmm3, dword [edi + eax*4]
addss xmm3, xmm2
mov edi, dword [esp + 0x3c]
movss xmm2, dword [edi + eax*4]
mov edi, dword [esp + 0x38]
addss xmm4, dword [edi + eax*4]
mov edi, dword [esp + 0x24]
addss xmm1, dword [edi + eax*4]
addss xmm1, xmm4
movss xmm4, dword [esi + eax*4]
addss xmm1, xmm3
movss xmm3, dword [edx + eax*4]
mov edi, dword [esp + 0x5c]
addss xmm5, dword [edi + eax*4]
addss xmm2, dword [ebx + eax*4]
addss xmm4, dword [ecx + eax*4]
mov edi, ebx
mov ebx, esi
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x58]
addss xmm3, dword [edx + eax*4]
mov edx, ecx
mov ecx, esi
mov esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x10]
addss xmm2, xmm5
addss xmm3, xmm4
addss xmm3, xmm2
addss xmm3, xmm1
mulss xmm3, xmm0
movss dword [edi + eax*4], xmm3
inc eax
cmp dword [esp + 0x20], eax
jne 0x100d3bda
mov eax, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add ebx, eax
mov dword [esp + 0x60], ebx
add esi, eax
mov dword [esp + 0x54], esi
add ecx, eax
mov dword [esp + 0x70], ecx
add edx, eax
mov dword [esp + 0x80], edx
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3bb6
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*2]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
jle 0x100d3d9a
mov eax, dword [edx]
mov esi, dword [esp + 0x40]
mov ecx, dword [edx + esi]
mov ebx, dword [edx + esi*2]
mov edi, ecx
and edi, eax
xor ecx, eax
mov eax, ecx
mov esi, 0x10001
and ecx, esi
add ecx, edi
mov edi, dword [esp + 0x1c]
mov edi, dword [edx + edi]
shr eax, 1
mov esi, 0x7fff7fff
and eax, esi
add ecx, eax
mov eax, edi
and eax, ebx
xor edi, ebx
mov esi, edi
mov ebx, 0x10001
and edi, ebx
add edi, eax
shr esi, 1
mov ebx, 0x7fff7fff
and esi, ebx
add edi, esi
mov eax, edi
and eax, ecx
xor edi, ecx
mov ecx, edi
mov esi, 0x10001
and edi, esi
add edi, eax
shr ecx, 1
and ecx, ebx
add edi, ecx
mov dword [edx], edi
add edx, 4
dec dword [esp + 0x14]
jne 0x100d3d2d
mov eax, dword [esp + 0x34]
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3d1d
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jle 0x100d3f2d
xor edx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov ecx, dword [eax + edx*4]
mov ebx, dword [edi + edx*4]
mov esi, edx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
mov dword [esp + 0x60], eax
mov eax, esi
mov esi, dword [esp + 0x28]
mov edi, dword [esi + eax*4]
mov esi, ebx
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov edx, 0x10001
and ebx, edx
mov edx, 0x10001
add ebx, esi
mov esi, dword [esp + 0x30]
mov esi, dword [esi + eax*4]
mov dword [esp + 0x70], esi
mov esi, eax
mov dword [esp + 0x40], eax
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add ebx, ecx
mov ecx, edi
mov eax, dword [esp + 0x60]
and ecx, eax
xor edi, eax
mov eax, edi
and edi, edx
add edi, ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + esi*4]
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add edi, eax
mov esi, edx
mov eax, dword [esp + 0x70]
and esi, eax
xor edx, eax
mov ecx, edx
mov eax, 0x10001
and edx, eax
add edx, esi
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x70], eax
mov eax, esi
shr ecx, 1
mov esi, 0x7fff7fff
and ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + eax*4]
mov eax, ecx
mov esi, dword [esp + 0x70]
and eax, esi
mov dword [esp + 0x60], eax
xor ecx, esi
mov eax, ecx
mov esi, 0x10001
and ecx, esi
add ecx, dword [esp + 0x60]
shr eax, 1
mov esi, 0x7fff7fff
and eax, esi
add ecx, eax
mov eax, edi
and eax, ebx
xor edi, ebx
mov esi, edi
mov ebx, 0x10001
and edi, ebx
add edi, eax
shr esi, 1
mov eax, 0x7fff7fff
and esi, eax
add edi, esi
mov eax, ecx
and eax, edx
xor ecx, edx
mov edx, ecx
and ecx, ebx
mov esi, 0x10001
add ecx, eax
shr edx, 1
mov eax, 0x7fff7fff
and edx, eax
add ecx, edx
mov eax, ecx
and eax, edi
xor ecx, edi
mov edi, dword [esp + 0x1c]
mov edx, ecx
and ecx, esi
add ecx, eax
mov eax, dword [esp + 0x10]
mov esi, 0x7fff7fff
shr edx, 1
and edx, esi
add ecx, edx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x40]
mov dword [eax + esi*4], ecx
mov ecx, dword [esp + 0x20]
inc esi
mov edx, esi
cmp ecx, esi
jne 0x100d3dee
mov ecx, eax
mov eax, dword [esp + 0x34]
add ecx, eax
mov dword [esp + 0x10], ecx
add edi, eax
mov dword [esp + 0x1c], edi
add ebx, eax
add dword [esp + 0x28], eax
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3dd0
jmp case.0x100d13f1.2
cmp dword [esp + 0x18], 0
jle case.0x100d13f1.2
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0x20]
test eax, eax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov edi, ebx
jle 0x100d4263
xor ebx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + ebx*4]
mov esi, dword [ecx + ebx*4]
mov ecx, dword [edi + ebx*4]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x40], edx
mov edi, ebx
mov ebx, esi
mov edx, esi
and edx, eax
xor ebx, eax
mov eax, ebx
mov esi, 0x10001
and ebx, esi
add ebx, edx
mov edx, dword [esp + 0x30]
mov edx, dword [edx + edi*4]
shr eax, 1
mov esi, 0x7fff7fff
and eax, esi
add ebx, eax
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x40]
mov eax, ebx
and eax, ecx
xor ebx, ecx
mov ecx, ebx
mov esi, 0x10001
and ebx, esi
add ebx, eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + edi*4]
shr ecx, 1
mov esi, 0x7fff7fff
and ecx, esi
add ebx, ecx
mov dword [esp + 0x40], ebx
mov ebx, eax
and eax, edx
xor ebx, edx
mov ecx, ebx
mov edx, 0x10001
and ebx, edx
mov edx, 0x10001
add ebx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + edi*4]
shr ecx, 1
mov esi, 0x7fff7fff
and ecx, esi
mov esi, 0x7fff7fff
add ebx, ecx
mov dword [esp + 0xe0], ebx
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + edi*4]
mov ecx, ebx
and ecx, eax
xor ebx, eax
mov eax, ebx
and ebx, edx
add ebx, ecx
shr eax, 1
and eax, esi
add ebx, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + edi*4]
mov ecx, dword [esp + 0x5c]
mov esi, dword [ecx + edi*4]
mov ecx, esi
and ecx, eax
xor esi, eax
mov eax, esi
and esi, edx
add esi, ecx
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add esi, eax
mov dword [esp + 0x100], esi
mov eax, dword [esp + 0x3c]
mov esi, edi
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x60]
mov edi, dword [eax + edi*4]
mov edx, edi
and edx, ecx
xor edi, ecx
mov ecx, edi
mov eax, 0x10001
and edi, eax
add edi, edx
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edi, ecx
mov eax, dword [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x90], esi
mov eax, dword [eax + esi*4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
mov esi, dword [eax + esi*4]
mov edx, esi
mov eax, dword [esp + 0xb0]
and edx, eax
xor esi, eax
mov ecx, esi
mov eax, 0x10001
and esi, eax
add esi, edx
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add esi, ecx
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax + ecx*4]
mov esi, edx
mov eax, dword [esp + 0xa0]
and esi, eax
xor edx, eax
mov eax, edx
mov ecx, 0x10001
and edx, ecx
add edx, esi
shr eax, 1
mov ecx, 0x7fff7fff
and eax, ecx
add edx, eax
mov ecx, dword [esp + 0x40]
mov eax, ecx
and eax, dword [esp + 0xc0]
mov dword [esp + 0xa0], eax
xor ecx, dword [esp + 0xc0]
mov esi, ecx
mov eax, 0x10001
and ecx, eax
add ecx, dword [esp + 0xa0]
shr esi, 1
mov eax, 0x7fff7fff
and esi, eax
add ecx, esi
mov dword [esp + 0x40], ecx
mov esi, ebx
mov ecx, dword [esp + 0xe0]
and esi, ecx
xor ebx, ecx
mov ecx, ebx
mov eax, 0x10001
and ebx, eax
add ebx, esi
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add ebx, ecx
mov esi, edi
mov eax, dword [esp + 0x100]
and esi, eax
xor edi, eax
mov ecx, edi
mov eax, 0x10001
and edi, eax
add edi, esi
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edi, ecx
mov eax, edx
mov ecx, dword [esp + 0xb0]
and eax, ecx
xor edx, ecx
mov ecx, edx
mov esi, 0x10001
and edx, esi
add edx, eax
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x40]
and eax, ecx
xor ebx, ecx
mov ecx, ebx
and ebx, esi
mov esi, 0x10001
add ebx, eax
shr ecx, 1
mov eax, 0x7fff7fff
and ecx, eax
add ebx, ecx
mov eax, edx
and eax, edi
xor edx, edi
mov ecx, edx
and edx, esi
add edx, eax
shr ecx, 1
mov edi, 0x7fff7fff
and ecx, edi
add edx, ecx
mov eax, edx
and eax, ebx
xor edx, ebx
mov esi, dword [esp + 0x10]
mov ecx, edx
mov ebx, 0x10001
and edx, ebx
add edx, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
and ecx, edi
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
mov dword [esi + edi*4], edx
mov edx, dword [esp + 0x28]
inc edi
mov ebx, edi
cmp eax, edi
mov edi, dword [esp + 0x14]
jne 0x100d3fb1
mov eax, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x10], esi
add ecx, eax
mov dword [esp + 0x1c], ecx
add edi, eax
mov ebx, edi
add edx, eax
mov dword [esp + 0x28], edx
add dword [esp + 0x30], eax
add dword [esp + 0x38], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x24], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x60], eax
add dword [esp + 0x54], eax
add dword [esp + 0x70], eax
add dword [esp + 0x80], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0xd0]
inc eax
mov dword [esp + 0xd0], eax
cmp eax, dword [esp + 0x18]
jne 0x100d3f89
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret