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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x204
movzx eax, word [ecx + 0x16]
mov edx, 0x80
mov dword [esp + 4], ecx
push ebx
push esi
push edi
cmp ax, dx
jb 0x10135b58
movzx eax, word [ecx + 0x14]
cmp ax, dx
jb 0x10135b58
mov esi, dword [ecx + 0x188]
xor eax, eax
mov ecx, 4
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], ecx
nop
mov ebx, ecx
and eax, 7
add eax, eax
and ebx, 0x1c
mov ecx, esi
mov dword [esp + 0x50], eax
xor edi, edi
mov dword [esp + 0x54], ebx
and ecx, 3
mov dword [esp + 0x48], ecx
nop dword [eax]
mov edx, edi
and edx, 1
mov ecx, edx
or ecx, eax
mov eax, esi
add ecx, ecx
shr eax, cl
and eax, 3
cmp dword [esp + 0x48], eax
jne 0x10133bb9
lea ecx, [edx + edx]
mov eax, esi
or ecx, ebx
shr eax, 4
mov edx, esi
shr edx, cl
xor edx, eax
test dl, 3
jne 0x10133bb9
mov ecx, dword [esp + 0x50]
lea ebx, [edi - 1]
and ebx, 1
mov edx, esi
or ecx, ebx
mov eax, esi
add ecx, ecx
shr eax, 2
shr edx, cl
xor edx, eax
test dl, 3
jne 0x10133bb5
lea ecx, [ebx + ebx]
mov edx, esi
mov ebx, dword [esp + 0x54]
mov eax, esi
or ecx, ebx
shr eax, 6
shr edx, cl
xor edx, eax
test dl, 3
jne 0x10133bb9
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
add edi, 2
cmp edi, 8
jle 0x10133b10
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
add ecx, 8
add eax, 2
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], eax
cmp ecx, 0x24
jle 0x10133af0
test edx, edx
jne 0x10133bc1
lea eax, [edx + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0x2c], edx
jmp 0x10133b7c
mov edx, dword [esp + 0x10]
xor edi, edi
push 8
xor esi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x54], esi
movzx ecx, word [edx + 0x16]
mov eax, ecx
shr eax, 1
mov dword [esp + 0x80], eax
movzx eax, word [edx + 0x14]
mov ebx, eax
inc eax
shr ebx, 1
mov dword [esp + 0x8c], ebx
lea ebx, [ecx + 1]
shr ebx, 1
mov dword [esp + 0x60], ebx
xor ebx, ebx
shr eax, 1
push ecx
mov ecx, edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], ebx
call fcn.1012fe40
mov dword [esp + 0x74], eax
xor edx, edx
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x16]
shl ecx, 2
test ecx, ecx
je 0x10133c48
mov ecx, dword [esp + 0x74]
mov ebx, eax
xor eax, eax
mov word [ecx + edx*2], ax
inc edx
movzx eax, word [ebx + 0x16]
shl eax, 2
cmp edx, eax
jl 0x10133c32
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x58], esi
jbe 0x10133eb0
mov ebx, dword [esp + 0x10]
mov edx, 1
movzx eax, word [ebx + 0x1e]
movzx ecx, word [ebx + 0x492bc]
mov edi, dword [ebx + 0x188]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x7c]
sar edx, cl
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5c]
lea eax, [eax*2 - 2]
mov dword [esp + 0x40], ecx
sar eax, cl
mov dword [esp + 0x78], eax
lea eax, [edx*2 - 2]
mov dword [esp + 0x3c], edi
sar eax, cl
xor ebx, ebx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], eax
mov eax, ebx
mov esi, ebx
mov ebx, dword [esp + 0x10]
and eax, 7
sar esi, cl
mov ecx, dword [esp + 0x10]
lea edx, [eax*4]
mov dword [esp + 0x30], edx
movzx eax, word [ecx + 0x1e]
mov ecx, edx
imul esi, eax
mov eax, edi
shr eax, cl
mov ecx, dword [ebx + 8]
and eax, 3
lea eax, [eax + esi*4]
lea eax, [ecx + eax*2]
mov ecx, edx
mov dword [esp + 0x14], eax
or ecx, 2
mov eax, dword [esp + 0x54]
mov edx, edi
add eax, esi
shr edx, cl
and edx, 3
lea eax, [edx + eax*4]
mov edx, ebx
mov ebx, dword [esp + 0x24]
inc ebx
mov edi, ebx
mov ecx, dword [edx + 8]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, ebx
and eax, 7
sar edi, cl
lea esi, [eax*4]
movzx eax, word [edx + 0x1e]
imul edi, eax
mov ecx, esi
mov eax, dword [esp + 0x3c]
or esi, 2
shr eax, cl
mov ecx, dword [edx + 8]
and eax, 3
mov edx, dword [esp + 0x3c]
lea eax, [eax + edi*4]
lea eax, [ecx + eax*2]
mov ecx, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
shr edx, cl
add eax, edi
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 8]
lea edi, [ecx + eax*2]
movzx eax, word [edx + 0x14]
mov dword [esp + 0x20], edi
cmp ebx, eax
jne 0x10133d7e
mov edi, dword [esp + 0x74]
mov ebx, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
mov edx, dword [edx + 0x188]
mov ebx, dword [esp + 0x10]
sar esi, cl
imul esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
shr edx, cl
mov ecx, dword [ebx + 8]
and edx, 3
lea eax, [edx + esi*4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x78]
add eax, esi
lea eax, [edx + eax*4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x90]
add eax, esi
mov esi, dword [esp + 0x50]
lea eax, [edx + eax*4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
movzx edx, word [eax]
cmp word [esp + 0x38], dx
jbe 0x10133df1
mov edx, dword [esp + 0x38]
movzx edx, dx
movzx ecx, word [ecx]
mov word [esp + 0x38], dx
mov edx, dword [esp + 0x28]
cmp dx, cx
jbe 0x10133e05
movzx ecx, dx
mov edx, dword [esp + 0x2c]
mov word [esp + 0x28], cx
movzx ecx, word [ebx]
cmp dx, cx
jbe 0x10133e19
movzx ecx, dx
mov dx, cx
movzx ecx, word [edi]
mov dword [esp + 0x2c], edx
cmp si, cx
jbe 0x10133e2b
movzx ecx, si
mov si, cx
cmp eax, dword [esp + 0x30]
jae 0x10133e4f
movups xmm0, xmmword [esp + 0x14]
movaps xmm1, xmmword [0x102aec20]
paddd xmm1, xmm0
movups xmmword [esp + 0x14], xmm1
mov edi, dword [esp + 0x20]
jmp 0x10133dd4
cmp eax, dword [esp + 0x44]
jbe 0x10133e7c
cmp eax, dword [esp + 0x60]
jae 0x10133e7c
lea ecx, [esp + 0x34]
add eax, 0x10
add ebx, 0x10
mov dword [esp + 0x14], eax
mov edi, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edi
jmp 0x10133de0
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
add ebx, 2
sub dword [esp + 0x4c], 1
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x24], ebx
jne 0x10133cb1
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
cmp bx, di
jbe 0x10133eb2
movzx ecx, bx
jmp 0x10133eb5
xor edx, edx
movzx ecx, di
movzx eax, dx
cmp dx, si
ja 0x10133ec0
movzx eax, si
cmp cx, ax
jbe 0x10133ed4
cmp bx, di
jbe 0x10133ecf
movzx eax, bx
jmp 0x10133edf
movzx eax, di
jmp 0x10133edf
movzx eax, dx
cmp dx, si
ja 0x10133edf
movzx eax, si
mov dx, ax
mov dword [esp + 0x24], eax
test dx, dx
je 0x10135b4f
movzx eax, dx
mov ecx, 0xf
mov dword [esp + 0x60], ecx
cmp eax, 0x100
jb 0x10133f0e
mov ecx, 7
shr eax, 8
mov dword [esp + 0x60], ecx
cmp eax, 0x10
jb 0x10133f1d
shr eax, 4
sub ecx, 4
mov dword [esp + 0x60], ecx
cmp eax, 4
jb 0x10133f2c
shr eax, 2
sub ecx, 2
mov dword [esp + 0x60], ecx
cmp eax, 2
jb 0x10133f36
dec ecx
mov dword [esp + 0x60], ecx
mov ebx, dword [esp + 0x58]
mov eax, 1
shl eax, cl
shl dx, cl
mov word [esp + 0x80], dx
movd xmm0, eax
pshufd xmm0, xmm0, 0
movaps xmmword [esp + 0x1c0], xmm0
test ebx, ebx
je 0x1013415c
xor esi, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x24], esi
nop
mov ebx, dword [esp + 0x10]
mov eax, esi
and eax, 7
shl eax, 2
mov dword [esp + 0x40], eax
movzx ecx, word [ebx + 0x492bc]
mov edi, dword [ebx + 8]
mov edx, dword [ebx + 0x188]
mov eax, edx
movzx ebx, word [ebx + 0x1e]
sar esi, cl
mov ecx, dword [esp + 0x40]
shr eax, cl
and eax, 3
imul esi, ebx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x10]
movzx ecx, word [ebx + 0x492bc]
lea eax, [eax + esi*4]
lea eax, [edi + eax*2]
mov dword [esp + 0x14], eax
mov eax, 1
sar eax, cl
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
or ecx, 2
add eax, esi
shr edx, cl
and edx, 3
mov ecx, ebx
lea eax, [edx + eax*4]
movzx ecx, word [ecx + 0x492bc]
lea eax, [edi + eax*2]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], eax
inc edi
mov eax, edi
mov esi, edi
and eax, 7
sar esi, cl
imul esi, dword [esp + 0x48]
lea edx, [eax*4]
mov eax, ebx
mov ecx, edx
or edx, 2
mov eax, dword [eax + 0x188]
shr eax, cl
mov ecx, ebx
and eax, 3
mov ebx, dword [ecx + 8]
mov ecx, edx
lea eax, [eax + esi*4]
lea eax, [ebx + eax*2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x188]
mov eax, dword [esp + 0x30]
shr edx, cl
add eax, esi
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
lea eax, [ebx + eax*2]
mov dword [esp + 0x20], eax
movzx eax, word [edx + 0x14]
cmp edi, eax
jne 0x1013405f
mov eax, dword [esp + 0x74]
mov ebx, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
movzx ecx, word [edx + 0x492bc]
mov edi, dword [esp + 0x24]
movzx eax, word [edx + 0x1e]
mov esi, dword [edx + 0x188]
mov edx, dword [edx + 8]
mov ebx, dword [esp + 0x10]
sar edi, cl
mov ecx, dword [esp + 0x40]
imul edi, eax
shr esi, cl
mov ecx, dword [esp + 0x7c]
and esi, 3
lea eax, [esi + edi*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x48], eax
lea eax, [ecx*2 - 2]
movzx ecx, word [ebx + 0x492bc]
mov ebx, dword [esp + 0x5c]
sar eax, cl
add eax, edi
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x30], eax
lea eax, [ebx*2 - 2]
sar eax, cl
add eax, edi
mov edi, dword [esp + 0x48]
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
movzx ecx, word [esp + 0x60]
shl word [eax], cl
movzx ecx, word [esp + 0x60]
shl word [esi], cl
mov esi, dword [esp + 0x60]
mov cx, si
shl word [ebx], cl
shl word [edx], cl
cmp eax, dword [esp + 0x30]
jae 0x1013411a
movups xmm0, xmmword [esp + 0x14]
movaps xmm1, xmmword [0x102aec20]
paddd xmm1, xmm0
movups xmmword [esp + 0x14], xmm1
jmp 0x101340d0
cmp eax, edi
jbe 0x10134142
cmp eax, dword [esp + 0x78]
jae 0x10134142
lea esi, [esp + 0x34]
add eax, 0x10
add ebx, 0x10
mov dword [esp + 0x14], eax
mov edx, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
jmp 0x101340e0
mov esi, dword [esp + 0x24]
add esi, 2
sub dword [esp + 0x54], 1
mov dword [esp + 0x24], esi
jne 0x10133f70
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x10]
xor esi, esi
movzx ecx, word [edi + 0x16]
movzx eax, word [edi + 0x14]
imul ecx, eax
push 2
push ecx
mov ecx, edi
call fcn.1012fe40
movzx ecx, word [edi + 0x16]
mov dword [esp + esi + 0xc8], eax
movzx eax, word [edi + 0x14]
imul ecx, eax
push 2
push ecx
mov ecx, edi
call fcn.1012fe40
mov dword [esp + esi + 0xb8], eax
add esi, 4
cmp esi, 0x10
jl 0x10134162
movaps xmm0, xmmword [0x102aebe0]
mov ecx, edi
mov esi, dword [esp + 0xc8]
push 1
push esi
movups xmmword [esp + 0x138], xmm0
push 4
movaps xmm0, xmmword [0x102aebf0]
push dword [edi + 8]
movups xmmword [esp + 0xe8], xmm0
push 0
movaps xmm0, xmmword [0x102aec00]
movups xmmword [esp + 0x28], xmm0
call fcn.10136d70
push 1
push esi
push 1
push esi
push 1
mov ecx, edi
call fcn.10135ea0
push 1
push dword [esp + 0xd0]
lea eax, [esp + 0x138]
mov ecx, edi
push 1
push esi
push eax
call fcn.10137650
push 1
push dword [esp + 0xd4]
lea eax, [esp + 0xe0]
mov ecx, edi
push 1
push esi
push eax
call fcn.10137650
push 1
push dword [esp + 0xd8]
lea eax, [esp + 0x1c]
mov ecx, edi
push 1
push esi
push eax
call fcn.10137650
mov edx, dword [edi + 0x188]
mov ecx, edx
movaps xmm0, xmmword [0x102aeca0]
mov eax, edx
shr ecx, 6
and eax, 3
and ecx, 3
movups xmmword [esp + 0x14], xmm0
mov al, byte [eax + edi + 0x1d4]
movaps xmm0, xmmword [0x102aecb0]
movups xmmword [esp + 0xd8], xmm0
cmp al, byte [ecx + edi + 0x1d4]
jne 0x10134286
mov esi, 1
jmp 0x101342ac
mov ecx, edx
xor esi, esi
shr edx, 2
and edx, 3
shr ecx, 4
and ecx, 3
mov al, byte [edx + edi + 0x1d4]
mov edx, 2
cmp al, byte [ecx + edi + 0x1d4]
cmove esi, edx
movss xmm2, dword [0x103d7fbc]
xor edx, edx
xor ecx, ecx
nop dword [eax + eax]
mov eax, esi
sub eax, 0
je 0x1013439c
sub eax, 1
je 0x10134335
sub eax, 1
jne 0x101343d5
movss xmm1, dword [esp + edx + 0xd8]
movaps xmm0, xmm2
divss xmm0, xmm1
movss dword [esp + ecx + 0xf8], xmm1
cvttss2si eax, xmm0
movss dword [esp + ecx + 0xf4], xmm1
movaps xmm0, xmm2
movss xmm1, dword [esp + edx + 0x14]
divss xmm0, xmm1
mov dword [esp + ecx + 0x188], eax
mov dword [esp + ecx + 0x184], eax
movss dword [esp + ecx + 0xfc], xmm1
movss dword [esp + ecx + 0xf0], xmm1
cvttss2si eax, xmm0
jmp 0x101343c7
movss xmm1, dword [esp + edx + 0xd8]
movaps xmm0, xmm2
divss xmm0, xmm1
movss dword [esp + ecx + 0xfc], xmm1
cvttss2si eax, xmm0
movss dword [esp + ecx + 0xf0], xmm1
movaps xmm0, xmm2
movss xmm1, dword [esp + edx + 0x14]
divss xmm0, xmm1
mov dword [esp + ecx + 0x18c], eax
mov dword [esp + ecx + 0x180], eax
movss dword [esp + ecx + 0xf8], xmm1
cvttss2si eax, xmm0
movss dword [esp + ecx + 0xf4], xmm1
mov dword [esp + ecx + 0x188], eax
mov dword [esp + ecx + 0x184], eax
jmp 0x101343d5
movss xmm1, dword [esp + edx + 0x14]
movaps xmm0, xmm2
shufps xmm1, xmm1, 0
divss xmm0, xmm1
movups xmmword [esp + ecx + 0xf0], xmm1
cvttss2si eax, xmm0
mov dword [esp + ecx + 0x188], eax
mov dword [esp + ecx + 0x184], eax
mov dword [esp + ecx + 0x180], eax
mov dword [esp + ecx + 0x18c], eax
add edx, 4
add ecx, 0x10
cmp edx, 0x10
jl 0x101342c0
test ebx, ebx
je 0x101349cc
xor esi, esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], esi
nop word [eax + eax]
movzx ecx, word [edi + 0x492bc]
lea eax, [esi + 1]
mov dword [esp + 0x28], eax
mov edx, dword [edi + 8]
movzx edi, word [edi + 0x1e]
movd xmm0, esi
pshufd xmm5, xmm0, 0
movd xmm0, eax
mov eax, esi
and eax, 7
sar esi, cl
mov dword [esp + 0x40], ecx
imul esi, edi
pshufd xmm6, xmm0, 0
lea ebx, [eax*4]
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov dword [esp + 0x54], ebx
mov ebx, 1
mov eax, dword [eax + 0x188]
shr eax, cl
mov ecx, dword [esp + 0x40]
and eax, 3
sar ebx, cl
mov ecx, dword [esp + 0x54]
or ecx, 2
lea eax, [eax + esi*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x188]
lea eax, [esi + ebx]
shr edx, cl
mov esi, dword [esp + 0x28]
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 8]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, esi
and eax, 7
sar esi, cl
imul esi, edi
lea edx, [eax*4]
mov eax, dword [esp + 0x10]
mov ecx, edx
or edx, 2
mov eax, dword [eax + 0x188]
shr eax, cl
mov ecx, dword [esp + 0x10]
and eax, 3
mov edi, dword [ecx + 8]
lea eax, [eax + esi*4]
mov ecx, edx
lea eax, [edi + eax*2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x188]
lea eax, [esi + ebx]
shr edx, cl
mov ecx, dword [esp + 0x28]
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
lea ebx, [edi + eax*2]
mov dword [esp + 0x20], ebx
movzx eax, word [edx + 0x14]
cmp ecx, eax
jne 0x10134508
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
movzx eax, word [edx + 0x1e]
xor edi, edi
mov ebx, dword [esp + 0x40]
xor edx, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], edx
xor esi, esi
cmp dword [0x1058f0d4], 2
jl 0x101345a0
movaps xmm1, xmmword [0x103d80a0]
pcmpgtd xmm1, xmmword [0x103d80c0]
cwde
movaps xmm2, xmm1
pandn xmm2, xmm6
movd xmm4, ebx
pand xmm1, xmm5
por xmm2, xmm1
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pmovzxwd xmm0, xmm0
psrad xmm2, xmm4
pmulld xmm2, xmm0
movaps xmm0, xmmword [0x103d8090]
pand xmm0, xmmword [0x103d80c0]
psrad xmm0, xmm4
paddd xmm2, xmm0
movd xmm0, dword [esp + edi + 0xc8]
pshufd xmm0, xmm0, 0
paddd xmm2, xmm2
paddd xmm0, xmm2
movups xmmword [esp + edi*4 + 0x140], xmm0
jmp 0x101345fd
mov edi, dword [esp + edi + 0xc8]
mov dword [esp + 0x48], edi
lea edi, [esp + 0x140]
movzx eax, ax
add edi, edx
mov dword [esp + 0x30], eax
nop dword [eax + eax]
cmp esi, 2
lea edi, [edi + 4]
mov edx, ecx
mov ecx, ebx
cmovl edx, dword [esp + 0x38]
sar edx, cl
imul edx, eax
mov eax, esi
and eax, 1
inc esi
sar eax, cl
mov ecx, dword [esp + 0x28]
add edx, eax
mov eax, dword [esp + 0x48]
lea eax, [eax + edx*2]
mov dword [edi - 4], eax
mov eax, dword [esp + 0x30]
cmp esi, 4
jl 0x101345c0
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
xor esi, esi
cmp dword [0x1058f0d4], 2
jl 0x10134681
movaps xmm1, xmmword [0x103d80a0]
pcmpgtd xmm1, xmmword [0x103d80c0]
cwde
movaps xmm2, xmm1
pandn xmm2, xmm6
movd xmm4, ebx
pand xmm1, xmm5
por xmm2, xmm1
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pmovzxwd xmm0, xmm0
psrad xmm2, xmm4
pmulld xmm2, xmm0
movaps xmm0, xmmword [0x103d8090]
pand xmm0, xmmword [0x103d80c0]
psrad xmm0, xmm4
paddd xmm2, xmm0
movd xmm0, dword [esp + edi + 0xb8]
pshufd xmm0, xmm0, 0
paddd xmm2, xmm2
paddd xmm0, xmm2
movups xmmword [esp + edi*4 + 0x1d0], xmm0
jmp 0x101346d9
mov edi, dword [esp + edi + 0xb8]
mov dword [esp + 0x48], edi
lea edi, [esp + 0x1d0]
movzx eax, ax
add edi, edx
mov dword [esp + 0x30], eax
nop dword [eax]
cmp esi, 2
lea edi, [edi + 4]
mov edx, ecx
mov ecx, ebx
cmovl edx, dword [esp + 0x38]
sar edx, cl
imul edx, eax
mov eax, esi
and eax, 1
inc esi
sar eax, cl
mov ecx, dword [esp + 0x28]
add edx, eax
mov eax, dword [esp + 0x48]
lea eax, [eax + edx*2]
mov dword [edi - 4], eax
mov eax, dword [esp + 0x30]
cmp esi, 4
jl 0x101346a0
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 0x14]
mov edx, dword [esp + 0x24]
cmp ecx, eax
jne 0x10134709
mov eax, dword [esp + 0x74]
mov dword [esp + edx + 0x14c], eax
mov dword [esp + edx + 0x148], eax
mov dword [esp + edx + 0x1dc], eax
mov dword [esp + edx + 0x1d8], eax
mov eax, dword [esp + 0x44]
add edi, 4
add edx, 0x10
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], edx
cmp edi, 0x10
jl 0x10134520
mov edx, dword [esp + 0x10]
mov ecx, ebx
mov edi, dword [esp + 0x38]
sar edi, cl
mov ecx, dword [esp + 0x54]
movzx eax, word [edx + 0x1e]
mov esi, dword [edx + 0x188]
mov edx, dword [edx + 8]
imul edi, eax
shr esi, cl
mov ecx, dword [esp + 0x7c]
and esi, 3
lea eax, [esi + edi*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x30], eax
lea eax, [ecx*2 - 2]
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0x5c]
add eax, edi
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x48], eax
lea eax, [ecx*2 - 2]
mov ecx, ebx
sar eax, cl
add eax, edi
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x78], eax
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
movzx eax, word [ebx]
xor edx, edx
mov ebx, dword [0x1058f0d4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x18]
movzx eax, word [eax]
mov dword [esp + 0x9c], eax
movzx eax, word [edi]
mov edi, 0xffff
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax]
mov dword [esp + 0xa4], eax
movups xmm1, xmmword [esp + 0x98]
nop word [eax + eax]
mov eax, dword [esp + edx + 0x140]
movaps xmm0, xmm1
xor ecx, ecx
movzx eax, word [eax]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + edx + 0x144]
movzx eax, word [eax]
mov dword [esp + 0xac], eax
mov eax, dword [esp + edx + 0x148]
movzx eax, word [eax]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + edx + 0x14c]
movzx eax, word [eax]
mov dword [esp + 0xb4], eax
movups xmm1, xmmword [esp + 0xa8]
psubd xmm0, xmm1
movups xmmword [esp + 0x64], xmm0
movups xmmword [esp + 0x98], xmm1
cmp ebx, 2
jl 0x10134853
pmulld xmm0, xmm0
movups xmmword [esp + 0x64], xmm0
jmp 0x10134864
mov eax, dword [esp + ecx*4 + 0x64]
imul eax, eax
mov dword [esp + ecx*4 + 0x64], eax
inc ecx
cmp ecx, 4
jl 0x10134853
xor esi, esi
nop word [eax + eax]
mov eax, dword [esp + esi*4 + 0x64]
cmp eax, dword [esp + edx + 0x180]
jge 0x101348a1
mov ecx, dword [esp + edx + 0x1d0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + edx + 0xf0]
cvttss2si eax, xmm0
mov dword [esp + esi*4 + 0x64], eax
mov word [ecx], ax
jmp 0x101348ab
mov eax, dword [esp + edx + 0x1d0]
mov word [eax], di
inc esi
add edx, 4
cmp esi, 4
jl 0x10134870
cmp edx, 0x40
jl 0x101347e0
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x48]
jae 0x1013492c
movups xmm0, xmmword [esp + 0x14]
lea eax, [esp + 0x140]
mov ecx, 4
movaps xmm1, xmmword [0x102aec20]
paddd xmm1, xmm0
movups xmmword [esp + 0x14], xmm1
movaps xmm1, xmmword [0x10294530]
lea eax, [eax + 0x10]
movups xmm0, xmmword [eax - 0x10]
paddd xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x101348f3
lea eax, [esp + 0x1d0]
mov ecx, 4
lea eax, [eax + 0x10]
movups xmm0, xmmword [eax - 0x10]
paddd xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x10134913
jmp 0x10134789
cmp ebx, dword [esp + 0x30]
jbe 0x101349ae
cmp ebx, dword [esp + 0x78]
jae 0x101349ae
lea eax, [esp + 0x34]
add ebx, 0x10
add edi, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov ecx, 4
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x140]
mov dword [esp + 0x1c], edi
add dword [eax], 4
lea edx, [esp + 0x34]
add dword [eax + 8], 4
lea eax, [eax + 0x10]
mov dword [eax - 0xc], edx
mov dword [eax - 4], edx
sub ecx, 1
jne 0x10134962
lea eax, [esp + 0x1d0]
mov ecx, 4
nop word [eax + eax]
add dword [eax], 4
lea edx, [esp + 0x34]
add dword [eax + 8], 4
lea eax, [eax + 0x10]
mov dword [eax - 0xc], edx
mov dword [eax - 4], edx
sub ecx, 1
jne 0x10134990
jmp 0x10134791
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
add esi, 2
sub dword [esp + 0x2c], 1
mov dword [esp + 0x38], esi
jne 0x10134400
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xa8], 0x20
xor esi, esi
mov dword [esp + 0xac], 0x20
mov dword [esp + 0xb0], 0
mov dword [esp + 0x98], 0x38
mov dword [esp + 0x9c], 0x38
mov dword [esp + 0xa0], 0
mov dword [esp + 0x64], 0x5a
mov dword [esp + 0x68], 0x5a
mov dword [esp + 0x6c], 0
mov dword [esp + 0x14], 0x68
mov dword [esp + 0x18], 0x68
mov dword [esp + 0x1c], 0
mov eax, dword [esp + esi*4 + 0xb8]
mov ecx, edi
push 1
push eax
push 1
push eax
push 0
call fcn.10136d70
inc esi
cmp esi, 4
jl 0x10134a40
mov eax, dword [esp + 0xb8]
mov ecx, edi
push 1
push eax
push 1
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.10137650
mov eax, dword [esp + 0xbc]
mov ecx, edi
push 1
push eax
push 1
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.10137650
mov eax, dword [esp + 0xc0]
mov ecx, edi
push 1
push eax
push 1
push eax
lea eax, [esp + 0x74]
push eax
call fcn.10137650
mov eax, dword [esp + 0xc4]
mov ecx, edi
push 1
push eax
push 1
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10137650
push 0x10
push ebx
mov ecx, edi
call fcn.1012fe40
mov ecx, dword [esp + 0x10]
mov edi, eax
push 0x10
push ebx
mov dword [esp + 0x48], edi
call fcn.1012fe40
mov ecx, dword [esp + 0x10]
mov esi, eax
push 0x10
push dword [esp + 0x60]
mov dword [esp + 0x5c], esi
call fcn.1012fe40
mov ecx, dword [esp + 0x10]
mov ebx, eax
push 0x10
push dword [esp + 0x60]
mov dword [esp + 0x2c], ebx
call fcn.1012fe40
mov edx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x38], edx
test eax, eax
je 0x10134b6a
lea edx, [esi + 0xc]
sub esi, edi
lea ecx, [edi + 4]
mov dword [edx - 0xc], 0
lea edx, [edx + 0x10]
mov dword [ecx - 4], 0
lea ecx, [ecx + 0x10]
mov dword [esi + ecx - 0x10], 0
mov dword [ecx - 0x10], 0
mov dword [edx - 0x14], 0
mov dword [ecx - 0xc], 0
mov dword [edx - 0x10], 0
mov dword [ecx - 8], 0
sub eax, 1
jne 0x10134b22
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x10134bc4
mov esi, edx
lea ecx, [edx + 0xc]
lea eax, [ebx + 4]
sub esi, ebx
mov edx, edi
nop
mov dword [ecx - 0xc], 0
lea ecx, [ecx + 0x10]
mov dword [eax - 4], 0
lea eax, [eax + 0x10]
mov dword [esi + eax - 0x10], 0
mov dword [eax - 0x10], 0
mov dword [ecx - 0x14], 0
mov dword [eax - 0xc], 0
mov dword [ecx - 0x10], 0
mov dword [eax - 8], 0
sub edx, 1
jne 0x10134b80
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x188]
mov eax, ecx
and eax, 3
movss xmm2, dword [edx + eax*4 + 0x72c]
mov eax, ecx
shr eax, 2
and eax, 3
movss dword [esp + 0x14], xmm2
movss xmm1, dword [edx + eax*4 + 0x72c]
mov eax, ecx
shr eax, 4
maxss xmm2, xmm1
shr ecx, 6
and eax, 3
and ecx, 3
movss dword [esp + 0x18], xmm1
movss xmm3, dword [edx + eax*4 + 0x72c]
movss xmm0, dword [edx + ecx*4 + 0x72c]
movss dword [esp + 0x1c], xmm3
maxss xmm3, xmm0
movss dword [esp + 0x20], xmm0
comiss xmm2, xmm3
ja 0x10134c35
movaps xmm2, xmm3
movzx eax, word [esp + 0x80]
mov ecx, edx
mulss xmm2, dword [0x103d7e30]
mov dword [esp + 0xe8], eax
push 4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 0x40000
subss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [esp + 0xf4], eax
call fcn.1012fe40
cvtdq2ps xmm1, xmmword [esp + 0x1c0]
lea ebx, [esp + 0x14]
mov dword [esp + 0x48], eax
mov esi, eax
sub ebx, eax
mov edi, 4
movups xmm0, xmmword [esp + 0x14]
movss xmm5, dword [0x103d7f20]
movsd xmm6, qword [0x103d7dd0]
movsd xmm7, qword [0x103d7de0]
mulps xmm1, xmm0
movups xmmword [esp + 0x14], xmm1
nop
movss xmm4, dword [ebx + esi]
xor edx, edx
movaps xmm3, xmm4
xor ecx, ecx
mulss xmm3, xmm4
mov eax, esi
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm3, xmm2
jbe 0x10134cd6
mov dword [eax], 0x3f800000
jmp 0x10134d16
movaps xmm0, xmm4
movd xmm1, ecx
mulss xmm0, xmm5
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm4
comiss xmm0, xmm1
jbe 0x10134d10
cvtps2pd xmm1, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
mulsd xmm1, xmm6
divsd xmm1, xmm0
movaps xmm0, xmm7
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
jmp 0x10134d16
mov dword [eax], 0
add ecx, 5
inc edx
add eax, 0x10
cmp ecx, 0x50000
jl 0x10134cc2
add esi, 4
sub edi, 1
jne 0x10134cb0
mov esi, dword [esp + 0x58]
test esi, esi
je 0x10135545
mov ecx, dword [esp + 0x40]
xor ebx, ebx
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x84], eax
lea eax, [ecx + 8]
mov dword [esp + 0x78], eax
mov eax, edx
sub eax, ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], eax
mov dword [esp + 0x30], esi
nop word [eax + eax]
mov esi, dword [esp + 0x10]
lea eax, [ebx + 1]
mov dword [esp + 0x28], eax
movd xmm0, ebx
pshufd xmm5, xmm0, 0
movzx ecx, word [esi + 0x492bc]
mov edx, dword [esi + 8]
movzx edi, word [esi + 0x1e]
mov esi, ebx
movd xmm0, eax
mov eax, ebx
and eax, 7
sar esi, cl
shl eax, 2
mov ebx, 1
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x2c]
imul esi, edi
mov eax, dword [eax + 0x188]
shr eax, cl
mov ecx, dword [esp + 0x44]
and eax, 3
sar ebx, cl
mov ecx, dword [esp + 0x2c]
or ecx, 2
pshufd xmm6, xmm0, 0
lea eax, [eax + esi*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x188]
lea eax, [ebx + esi]
shr edx, cl
mov esi, dword [esp + 0x28]
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 8]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, esi
and eax, 7
sar esi, cl
imul esi, edi
lea edx, [eax*4]
mov eax, dword [esp + 0x10]
mov ecx, edx
or edx, 2
mov eax, dword [eax + 0x188]
shr eax, cl
mov ecx, dword [esp + 0x10]
and eax, 3
mov edi, dword [ecx + 8]
lea eax, [eax + esi*4]
mov ecx, edx
lea eax, [edi + eax*2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x188]
lea eax, [ebx + esi]
shr edx, cl
mov ecx, dword [esp + 0x28]
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
lea ebx, [edi + eax*2]
mov dword [esp + 0x20], ebx
movzx eax, word [edx + 0x14]
cmp ecx, eax
jne 0x10134e8c
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
movzx eax, word [edx + 0x1e]
xor edi, edi
mov ebx, dword [esp + 0x44]
xor edx, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edx
nop dword [eax]
nop dword [eax + eax]
xor esi, esi
cmp dword [0x1058f0d4], 2
jl 0x10134f34
movaps xmm1, xmmword [0x103d80a0]
movaps xmm2, xmm5
pcmpgtd xmm1, xmmword [0x103d80c0]
cwde
pand xmm2, xmm1
pandn xmm1, xmm6
movd xmm4, ebx
por xmm2, xmm1
psrad xmm2, xmm4
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pmovzxwd xmm0, xmm0
pmulld xmm2, xmm0
movaps xmm0, xmmword [0x103d8090]
pand xmm0, xmmword [0x103d80c0]
psrad xmm0, xmm4
paddd xmm2, xmm0
movd xmm0, dword [esp + edi + 0xc8]
pshufd xmm0, xmm0, 0
paddd xmm2, xmm2
paddd xmm0, xmm2
movups xmmword [esp + edi*4 + 0x140], xmm0
jmp 0x10134f95
mov edi, dword [esp + edi + 0xc8]
mov dword [esp + 0x44], edi
lea edi, [esp + 0x140]
movzx eax, ax
add edi, edx
mov dword [esp + 0x8c], eax
cmp esi, 2
lea edi, [edi + 4]
mov edx, ecx
mov ecx, ebx
cmovl edx, dword [esp + 0x80]
sar edx, cl
imul edx, eax
mov eax, esi
and eax, 1
inc esi
sar eax, cl
mov ecx, dword [esp + 0x28]
add edx, eax
mov eax, dword [esp + 0x44]
lea eax, [eax + edx*2]
mov dword [edi - 4], eax
mov eax, dword [esp + 0x8c]
cmp esi, 4
jl 0x10134f52
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
xor esi, esi
cmp dword [0x1058f0d4], 2
jl 0x1013501d
movaps xmm1, xmmword [0x103d80a0]
movaps xmm2, xmm5
pcmpgtd xmm1, xmmword [0x103d80c0]
cwde
pand xmm2, xmm1
pandn xmm1, xmm6
movd xmm4, ebx
por xmm2, xmm1
psrad xmm2, xmm4
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pmovzxwd xmm0, xmm0
pmulld xmm2, xmm0
movaps xmm0, xmmword [0x103d8090]
pand xmm0, xmmword [0x103d80c0]
psrad xmm0, xmm4
paddd xmm2, xmm0
movd xmm0, dword [esp + edi + 0xb8]
pshufd xmm0, xmm0, 0
paddd xmm2, xmm2
paddd xmm0, xmm2
movups xmmword [esp + edi*4 + 0xf0], xmm0
jmp 0x1013507f
mov edi, dword [esp + edi + 0xb8]
mov dword [esp + 0x8c], edi
lea edi, [esp + 0xf0]
movzx eax, ax
add edi, edx
mov dword [esp + 0x44], eax
nop dword [eax + eax]
cmp esi, 2
lea edi, [edi + 4]
mov edx, ecx
mov ecx, ebx
cmovl edx, dword [esp + 0x80]
sar edx, cl
imul edx, eax
mov eax, esi
and eax, 1
inc esi
sar eax, cl
mov ecx, dword [esp + 0x28]
add edx, eax
mov eax, dword [esp + 0x8c]
lea eax, [eax + edx*2]
mov dword [edi - 4], eax
mov eax, dword [esp + 0x44]
cmp esi, 4
jl 0x10135040
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 0x14]
mov edx, dword [esp + 0x3c]
cmp ecx, eax
jne 0x101350af
mov eax, dword [esp + 0x74]
mov dword [esp + edx + 0x14c], eax
mov dword [esp + edx + 0x148], eax
mov dword [esp + edx + 0xfc], eax
mov dword [esp + edx + 0xf8], eax
mov eax, dword [esp + 0x50]
add edi, 4
add edx, 0x10
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edx
cmp edi, 0x10
jl 0x10134eb0
mov edx, dword [esp + 0x10]
mov ecx, ebx
mov edi, dword [esp + 0x80]
sar edi, cl
mov ecx, dword [esp + 0x2c]
movzx eax, word [edx + 0x1e]
mov esi, dword [edx + 0x188]
mov edx, dword [edx + 8]
imul edi, eax
shr esi, cl
mov ecx, dword [esp + 0x7c]
and esi, 3
lea eax, [esi + edi*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x50], eax
lea eax, [ecx*2 - 2]
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0x5c]
add eax, edi
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x8c], eax
lea eax, [ecx*2 - 2]
mov ecx, ebx
mov ebx, dword [esp + 0x1c]
sar eax, cl
add eax, edi
mov edi, dword [esp + 0x38]
add edi, 0xc
lea eax, [esi + eax*4]
mov esi, dword [esp + 0x24]
lea eax, [edx + eax*2]
add esi, 8
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x14]
xorps xmm6, xmm6
mov dword [esp + 0x2c], edi
xorps xmm4, xmm4
mov edi, dword [esp + 0x48]
xor ecx, ecx
movzx eax, word [edx]
movd xmm0, eax
mov eax, dword [esp + 0x18]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax]
movss dword [esp + 0x64], xmm0
movd xmm0, eax
movzx eax, word [ebx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x68], xmm0
movd xmm0, eax
mov eax, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax]
movss dword [esp + 0x6c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x70], xmm0
movups xmm2, xmmword [esp + 0x64]
nop dword [eax + eax]
mov eax, dword [esp + ecx + 0x140]
movaps xmm1, xmm2
movzx eax, word [eax]
movd xmm0, eax
mov eax, dword [esp + ecx + 0x144]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax]
movss dword [esp + 0x98], xmm0
movd xmm0, eax
mov eax, dword [esp + ecx + 0x148]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax]
movss dword [esp + 0x9c], xmm0
movd xmm0, eax
mov eax, dword [esp + ecx + 0x14c]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax]
movss dword [esp + 0xa0], xmm0
movd xmm0, eax
mov eax, dword [esp + ecx + 0xf0]
cvtdq2ps xmm0, xmm0
movzx eax, word [eax]
add eax, eax
movss dword [esp + 0xa4], xmm0
movups xmm2, xmmword [esp + 0x98]
movss xmm0, dword [edi + eax*8]
mov eax, dword [esp + ecx + 0xf4]
subps xmm1, xmm2
movss dword [esp + 0xa8], xmm0
movups xmmword [esp + 0x64], xmm2
movzx eax, word [eax]
add eax, eax
movss xmm0, dword [edi + eax*8 + 4]
mov eax, dword [esp + ecx + 0xf8]
movss dword [esp + 0xac], xmm0
movzx eax, word [eax]
add eax, eax
movss xmm0, dword [edi + eax*8 + 8]
mov eax, dword [esp + ecx + 0xfc]
add ecx, 0x10
movss dword [esp + 0xb0], xmm0
movzx eax, word [eax]
add eax, eax
movss xmm0, dword [edi + eax*8 + 0xc]
movss dword [esp + 0xb4], xmm0
movups xmm0, xmmword [esp + 0xa8]
addps xmm4, xmm0
mulps xmm0, xmm1
addps xmm6, xmm0
cmp ecx, 0x40
jl 0x101351b0
mov eax, dword [esp + 0x78]
mulps xmm4, xmm4
mov ecx, dword [esp + 0x90]
movups xmmword [esp + 0x130], xmm6
mov edx, dword [esp + 0x94]
movss xmm0, dword [eax - 8]
movups xmm1, xmmword [esp + 0x130]
mov edi, dword [esp + 0x2c]
movaps xmm5, xmm4
mov ebx, dword [esp + 0x1c]
mulss xmm5, xmm6
movaps xmm7, xmm4
shufps xmm7, xmm4, 0x55
movaps xmm3, xmm7
addss xmm0, xmm5
movups xmmword [esp + 0xd8], xmm4
movss dword [eax - 8], xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
movaps xmm6, xmm4
mulss xmm3, xmm0
movss xmm0, dword [eax - 4]
shufps xmm6, xmm4, 0xaa
addss xmm0, xmm3
movaps xmm2, xmm6
movss dword [eax - 4], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
mulss xmm2, xmm0
movss xmm0, dword [eax]
addss xmm0, xmm2
movss dword [eax], xmm0
movups xmm0, xmmword [esp + 0xd8]
shufps xmm4, xmm0, 0xff
movss xmm0, dword [eax + 4]
movaps xmm1, xmm4
mulss xmm1, dword [esp + 0x13c]
addss xmm0, xmm1
movss dword [eax + 4], xmm0
movss xmm0, dword [esp + 0xd8]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
movaps xmm0, xmm7
addss xmm0, dword [ecx + 4]
movss dword [ecx + 4], xmm0
movaps xmm0, xmm6
addss xmm0, dword [eax + edx]
movss dword [eax + edx], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ecx + 0xc]
mov edx, dword [esp + 0x84]
movss dword [ecx + 0xc], xmm0
movss xmm0, dword [esi - 8]
addss xmm1, dword [esi + 4]
addss xmm0, xmm5
movss dword [esi + 4], xmm1
movss dword [esi - 8], xmm0
movss xmm0, dword [esi - 4]
addss xmm0, xmm3
movss dword [esi - 4], xmm0
movss xmm0, dword [esi]
addss xmm0, xmm2
movss dword [esi], xmm0
movups xmm0, xmmword [esp + 0xd8]
addss xmm6, dword [esi + edx]
addss xmm0, dword [edi - 0xc]
addss xmm7, dword [edi - 8]
addss xmm4, dword [edi]
movss dword [esi + edx], xmm6
mov edx, dword [esp + 0x14]
movss dword [edi - 0xc], xmm0
movss dword [edi - 8], xmm7
movss dword [edi], xmm4
cmp edx, dword [esp + 0x8c]
jae 0x10135483
movups xmm0, xmmword [esp + 0x14]
lea eax, [esp + 0x140]
mov ecx, 4
movaps xmm1, xmmword [0x102aec20]
paddd xmm1, xmm0
movups xmmword [esp + 0x14], xmm1
movaps xmm1, xmmword [0x10294530]
nop
lea eax, [eax + 0x10]
movups xmm0, xmmword [eax - 0x10]
paddd xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x10135440
lea eax, [esp + 0xf0]
mov ecx, 4
lea eax, [eax + 0x10]
movups xmm0, xmmword [eax - 0x10]
paddd xmm0, xmm1
movups xmmword [eax - 0x10], xmm0
sub ecx, 1
jne 0x10135460
mov ebx, dword [esp + 0x1c]
add esi, 0x10
add edi, 0x10
jmp 0x10135147
cmp edx, dword [esp + 0x50]
jbe 0x10135514
cmp edx, dword [esp + 0x4c]
jae 0x10135514
lea eax, [esp + 0x34]
add edx, 0x10
add ebx, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov ecx, 4
mov dword [esp + 0x14], edx
lea eax, [esp + 0x140]
mov dword [esp + 0x1c], ebx
nop dword [eax]
add dword [eax], 4
lea edi, [esp + 0x34]
add dword [eax + 8], 4
lea eax, [eax + 0x10]
mov dword [eax - 0xc], edi
mov dword [eax - 4], edi
sub ecx, 1
jne 0x101354c0
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0xf0]
mov ecx, 4
nop dword [eax]
add dword [eax], 4
lea edx, [esp + 0x34]
add dword [eax + 8], 4
lea eax, [eax + 0x10]
mov dword [eax - 0xc], edx
mov dword [eax - 4], edx
sub ecx, 1
jne 0x101354f0
add esi, 0x10
add edi, 0x10
jmp 0x10135147
mov ebx, dword [esp + 0x80]
add ecx, 0x10
add ebx, 2
mov dword [esp + 0x90], ecx
add eax, 0x10
mov dword [esp + 0x80], ebx
sub dword [esp + 0x30], 1
mov dword [esp + 0x78], eax
jne 0x10134d80
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
push 0x10
push esi
call fcn.1012fe40
mov ecx, dword [esp + 0x10]
mov ebx, eax
push 0x10
push dword [esp + 0x60]
mov dword [esp + 0x38], ebx
call fcn.1012fe40
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x58]
xorps xmm6, xmm6
mov dword [esp + 0x4c], edi
movups xmmword [esp + 0x14], xmm0
movss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x18]
movss xmm5, dword [esp + 0x14]
test eax, eax
je 0x1013562c
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x40]
lea edx, [esi + 0xc]
sub esi, eax
lea ecx, [eax + 4]
mov eax, dword [esp + 0x58]
nop
movss xmm3, dword [edx - 0xc]
comiss xmm3, xmm6
jbe 0x101355cc
movss xmm0, dword [ecx - 4]
divss xmm0, xmm3
movss dword [ecx - 4], xmm0
addss xmm5, xmm0
movss xmm3, dword [ecx + esi]
comiss xmm3, xmm6
jbe 0x101355e6
movss xmm0, dword [ecx]
divss xmm0, xmm3
movss dword [ecx], xmm0
addss xmm4, xmm0
movss xmm3, dword [edx - 4]
comiss xmm3, xmm6
jbe 0x10135602
movss xmm0, dword [ecx + 4]
divss xmm0, xmm3
movss dword [ecx + 4], xmm0
addss xmm2, xmm0
movss xmm3, dword [edx]
comiss xmm3, xmm6
jbe 0x1013561d
movss xmm0, dword [ecx + 8]
divss xmm0, xmm3
movss dword [ecx + 8], xmm0
addss xmm1, xmm0
add ecx, 0x10
add edx, 0x10
sub eax, 1
jne 0x101355b0
mov eax, dword [esp + 0x58]
movd xmm0, dword [esp + 0x88]
cvtdq2ps xmm0, xmm0
divss xmm5, xmm0
divss xmm4, xmm0
movd xmm0, eax
movss dword [esp + 0x64], xmm5
movss dword [esp + 0x68], xmm4
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
divss xmm1, xmm0
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x70], xmm1
test eax, eax
je 0x101356a5
mov esi, dword [esp + 0x40]
mov ecx, ebx
sub esi, ebx
mov edi, eax
nop word [eax + eax]
xor edx, edx
movss xmm0, dword [esi + ecx]
subss xmm0, dword [esp + edx*4 + 0x64]
inc edx
cvttss2si eax, xmm0
mov dword [ecx], eax
add ecx, 4
cmp edx, 4
jl 0x10135682
sub edi, 1
jne 0x10135680
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x5c]
xorps xmm0, xmm0
movups xmmword [esp + 0x14], xmm0
movss xmm3, dword [esp + 0x20]
movss xmm4, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x18]
movss xmm5, dword [esp + 0x14]
test edx, edx
je 0x10135761
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
lea ecx, [esi + 0xc]
sub esi, edx
lea eax, [edx + 4]
mov edx, dword [esp + 0x5c]
movss xmm1, dword [ecx - 0xc]
comiss xmm1, xmm6
jbe 0x10135701
movss xmm0, dword [eax - 4]
divss xmm0, xmm1
movss dword [eax - 4], xmm0
addss xmm5, xmm0
movss xmm1, dword [eax + esi]
comiss xmm1, xmm6
jbe 0x1013571b
movss xmm0, dword [eax]
divss xmm0, xmm1
movss dword [eax], xmm0
addss xmm2, xmm0
movss xmm1, dword [ecx - 4]
comiss xmm1, xmm6
jbe 0x10135737
movss xmm0, dword [eax + 4]
divss xmm0, xmm1
movss dword [eax + 4], xmm0
addss xmm4, xmm0
movss xmm1, dword [ecx]
comiss xmm1, xmm6
jbe 0x10135752
movss xmm0, dword [eax + 8]
divss xmm0, xmm1
movss dword [eax + 8], xmm0
addss xmm3, xmm0
add eax, 0x10
add ecx, 0x10
sub edx, 1
jne 0x101356e5
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm5, xmm0
divss xmm2, xmm0
movd xmm0, edx
movss dword [esp + 0x64], xmm5
movss dword [esp + 0x68], xmm2
cvtdq2ps xmm0, xmm0
divss xmm4, xmm0
divss xmm3, xmm0
movss dword [esp + 0x6c], xmm4
movss dword [esp + 0x70], xmm3
test edx, edx
je 0x101357df
mov eax, dword [esp + 0x24]
mov ebx, edx
mov esi, dword [esp + 0x38]
mov ecx, eax
sub esi, eax
sub edi, eax
nop
xor edx, edx
movss xmm0, dword [ecx + esi]
comiss xmm0, xmm6
jbe 0x101357cd
movss xmm0, dword [ecx]
subss xmm0, dword [esp + edx*4 + 0x64]
cvttss2si eax, xmm0
mov dword [edi + ecx], eax
inc edx
add ecx, 4
cmp edx, 4
jl 0x101357b2
sub ebx, 1
jne 0x101357b0
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x58], 0
jbe 0x10135ac2
xor esi, esi
lea eax, [ebx + 8]
mov dword [esp + 0x28], esi
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x10]
mov eax, esi
and eax, 7
shl eax, 2
mov dword [esp + 0x2c], eax
movzx ecx, word [ebx + 0x492bc]
mov edi, dword [ebx + 8]
mov edx, dword [ebx + 0x188]
mov eax, edx
movzx ebx, word [ebx + 0x1e]
sar esi, cl
mov ecx, dword [esp + 0x2c]
shr eax, cl
and eax, 3
imul esi, ebx
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x10]
movzx ecx, word [ebx + 0x492bc]
lea eax, [eax + esi*4]
lea eax, [edi + eax*2]
mov dword [esp + 0x14], eax
mov eax, 1
sar eax, cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x84], eax
or ecx, 2
add eax, esi
shr edx, cl
and edx, 3
mov ecx, ebx
lea eax, [edx + eax*4]
movzx ecx, word [ecx + 0x492bc]
lea eax, [edi + eax*2]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x18], eax
inc edi
mov eax, edi
mov esi, edi
and eax, 7
sar esi, cl
imul esi, dword [esp + 0x88]
lea edx, [eax*4]
mov eax, ebx
mov ecx, edx
or edx, 2
mov eax, dword [eax + 0x188]
shr eax, cl
mov ecx, ebx
and eax, 3
mov ebx, dword [ecx + 8]
mov ecx, edx
lea eax, [eax + esi*4]
lea eax, [ebx + eax*2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x188]
mov eax, dword [esp + 0x84]
shr edx, cl
add eax, esi
and edx, 3
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x20], ebx
movzx eax, word [edx + 0x14]
cmp edi, eax
jne 0x101358f0
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
movzx ebx, word [edx + 0x492bc]
mov edi, dword [esp + 0x28]
mov ecx, ebx
movzx eax, word [edx + 0x1e]
mov esi, dword [edx + 0x188]
mov edx, dword [edx + 8]
sar edi, cl
mov ecx, dword [esp + 0x2c]
imul edi, eax
shr esi, cl
mov ecx, dword [esp + 0x7c]
and esi, 3
lea eax, [esi + edi*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x84], eax
lea eax, [ecx*2 - 2]
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0x5c]
add eax, edi
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x88], eax
lea eax, [ecx*2 - 2]
mov ecx, ebx
mov ebx, dword [esp + 0x14]
sar eax, cl
add eax, edi
mov edi, dword [esp + 0x1c]
lea eax, [esi + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x4c]
add eax, 8
mov dword [esp + 0x3c], eax
movzx eax, word [ebx]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
movzx edx, word [edi]
sub eax, dword [ebx - 8]
movzx ecx, word [ecx]
movzx esi, word [esi]
sub ecx, dword [ebx - 4]
sub edx, dword [ebx]
sub esi, dword [ebx + 4]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0xe8]
sub eax, dword [ebx - 8]
mov dword [esp + 0x64], eax
mov eax, ebx
mov ebx, dword [esp + 0xec]
sub edx, dword [eax]
sub ecx, dword [eax - 4]
sub esi, dword [eax + 4]
mov dword [esp + 0x6c], edx
xor edx, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], esi
nop dword [eax + eax]
mov eax, dword [esp + edx + 0x14]
movzx eax, word [eax]
cmp eax, ebx
jl 0x101359e7
mov cl, byte [esp + 0x60]
shr eax, cl
mov dword [esp + edx + 0x64], eax
jmp 0x10135a09
mov eax, dword [esp + edx + 0x64]
cmp eax, edi
jle 0x101359f5
mov dword [esp + edx + 0x64], edi
jmp 0x10135a01
test eax, eax
jns 0x10135a01
mov dword [esp + edx + 0x64], 0
mov ecx, dword [esp + 0x60]
sar dword [esp + edx + 0x64], cl
add edx, 4
cmp edx, 0x10
jl 0x101359d0
mov ebx, dword [esp + 0x14]
movzx eax, word [esp + 0x64]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov word [ebx], ax
movzx eax, word [esp + 0x68]
mov word [ecx], ax
movzx eax, word [esp + 0x6c]
mov ecx, dword [esp + 0x20]
mov word [edi], ax
movzx eax, word [esp + 0x70]
mov word [ecx], ax
cmp ebx, dword [esp + 0x88]
jae 0x10135a71
movups xmm0, xmmword [esp + 0x14]
add dword [esp + 0x3c], 0x10
movaps xmm1, xmmword [0x102aec20]
paddd xmm1, xmm0
movups xmmword [esp + 0x14], xmm1
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
jmp 0x10135974
cmp ebx, dword [esp + 0x84]
jbe 0x10135aa7
cmp ebx, dword [esp + 0x94]
jae 0x10135aa7
add ebx, 0x10
lea eax, [esp + 0x34]
add edi, 0x10
mov dword [esp + 0x14], ebx
add dword [esp + 0x3c], 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
jmp 0x10135974
mov esi, dword [esp + 0x28]
add dword [esp + 0x50], 0x10
add esi, 2
sub dword [esp + 0x58], 1
mov dword [esp + 0x28], esi
jne 0x101357f7
push dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + 0x4c]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + 0x48]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + 0x40]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + 0x54]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + 0x24]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + 0x38]
mov ecx, ebx
call fcn.1012fed0
xor esi, esi
nop word [eax + eax]
push dword [esp + esi + 0xc8]
mov ecx, ebx
call fcn.1012fed0
push dword [esp + esi + 0xb8]
mov ecx, ebx
call fcn.1012fed0
add esi, 4
cmp esi, 0x10
jl 0x10135b20
push dword [esp + 0x74]
mov ecx, ebx
call fcn.1012fed0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret