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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x10], eax
call fcn.1027a3c0
cmp byte [edi + 0x10], 0
mov ebx, eax
mov ecx, 0x18
mov eax, 0xc
cmovne eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x6c], eax
xor edx, edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x44], eax
test eax, eax
jle 0x10278e39
xor eax, eax
mov dword [esp + 0x18], 0xbf800000
mov dword [esp + 0x1c], 0xbf800000
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], 0xbf800000
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], 0xbf800000
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], 0xbf800000
mov dword [esp + 0x58], eax
nop dword [eax + eax]
mov ecx, dword [ecx]
inc edx
add eax, ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x28], eax
mov eax, edx
cdq
idiv dword [esp + 0x44]
xor eax, eax
imul edx, edx, 0x2c
add edx, ecx
mov dword [esp + 0x38], edx
cmp dword [edx], eax
setne al
add eax, 9
add eax, dword [ebx]
cmp eax, 0x10000
jle 0x102780a3
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x68]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 4]
inc eax
mov dword [esp + 0x10], ecx
cdq
mov ecx, eax
mov dword [esp + 0x34], edx
mov eax, dword [ebx + 8]
cdq
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
cmp eax, edx
jl 0x10277f98
jg 0x10277f91
cmp ecx, dword [esp + 0x14]
jbe 0x10277f98
mov byte [esp + 0xf], 1
jmp 0x10277f9d
mov byte [esp + 0xf], 0
mov edx, eax
mov dword [esp + 0x2c], ecx
mov eax, ecx
mov ecx, edx
shld ecx, eax, 1
add eax, eax
add dword [esp + 0x2c], eax
adc edx, ecx
cmp dword [esp + 0x30], edx
jl 0x10277fd4
jg 0x10277fc5
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x2c]
jbe 0x10277fd4
mov al, byte [ebx + 0xc]
test al, 1
je 0x10277fd4
test al, 2
jne 0x10277fd4
mov al, 1
jmp 0x10277fd6
xor al, al
cmp byte [esp + 0xf], 0
jne 0x10277fe5
test al, al
je 0x10278086
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
add eax, 1
adc ecx, 0
shrd eax, ecx, 1
sar ecx, 1
add eax, dword [esp + 0x20]
adc ecx, dword [esp + 0x34]
add eax, 7
adc ecx, 0
and eax, 0xfffffff8
cmp eax, dword [esp + 0x14]
jne 0x10278016
cmp ecx, dword [esp + 0x30]
je 0x10278086
cmp ecx, 0xffffffff
jg 0x1027802b
jl 0x10278024
cmp eax, 0x80000001
jae 0x1027802b
mov eax, 0x80000001
jmp 0x1027803d
test ecx, ecx
jl 0x1027803d
jg 0x10278038
cmp eax, 0x7fffffff
jbe 0x1027803d
mov eax, 0x7fffffff
push 8
push eax
mov dword [ebx + 8], eax
call fcn.10061340
mov ecx, dword [ebx + 4]
add esp, 8
shl ecx, 3
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x10278065
push ecx
push dword [ebx]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, byte [ebx + 0xc]
test al, 1
je 0x10278079
push dword [ebx]
call sym.skottie.dll_void___cdecl_sk_free_void__
mov al, byte [ebx + 0xc]
add esp, 4
mov ecx, dword [esp + 0x20]
and al, 0xfd
or al, 1
mov dword [ebx], ecx
mov byte [ebx + 0xc], al
mov ecx, dword [ebx + 4]
lea eax, [ecx + 1]
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov dword [eax + ecx*8], 0
mov dword [eax + ecx*8 + 4], 0
lea ebx, [eax + ecx*8]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
movss xmm2, dword [ecx + eax*8 + 4]
movss xmm3, dword [ecx + eax*8 + 8]
mov ecx, dword [esi]
movss dword [esp + 0x74], xmm2
mov eax, dword [esp + 0x74]
movss dword [esp + 0x78], xmm3
mov dword [ecx], eax
mov eax, dword [esp + 0x78]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x10278104
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0x7c]
mov dword [ecx], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
add dword [esi], 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
mov eax, dword [eax]
movss xmm1, dword [edx + eax*8 + 0x14]
movss xmm0, dword [edx + eax*8 + 0x18]
addss xmm1, xmm2
mov edx, dword [esp + 0x38]
addss xmm0, xmm3
movss dword [esp + 0x84], xmm1
mov eax, dword [esp + 0x84]
mov dword [ecx], eax
movss dword [esp + 0x88], xmm0
mov eax, dword [esp + 0x88]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x102781a6
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0x8c]
movaps xmm1, xmm2
mov dword [ecx], eax
mov eax, dword [esp + 0x90]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
add dword [esi], 8
addss xmm1, dword [edx + 0x24]
movss xmm0, dword [edx + 0x28]
mov ecx, dword [esi]
addss xmm0, xmm3
movss dword [esp + 0x94], xmm1
mov eax, dword [esp + 0x94]
mov dword [ecx], eax
movss dword [esp + 0x98], xmm0
mov eax, dword [esp + 0x98]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x1027823a
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0x9c]
mov dword [ecx], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
add dword [esi], 8
addss xmm2, dword [edx + 0x14]
movss xmm0, dword [edx + 0x18]
mov ecx, dword [esi]
addss xmm0, xmm3
movss dword [esp + 0xa4], xmm2
mov eax, dword [esp + 0xa4]
mov dword [ecx], eax
movss dword [esp + 0xa8], xmm0
mov eax, dword [esp + 0xa8]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x102782cb
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0xac]
mov dword [ecx], eax
mov eax, dword [esp + 0xb0]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
add dword [esi], 8
mov ecx, dword [ebx + 4]
movzx eax, word [ebx]
mov word [edx + ecx*2], ax
movzx ecx, word [ebx]
mov eax, dword [ebx + 4]
add cx, 2
mov word [edx + eax*2 + 2], cx
movzx ecx, word [ebx]
mov eax, dword [ebx + 4]
inc cx
mov word [edx + eax*2 + 4], cx
mov ecx, dword [ebx + 4]
movzx eax, word [ebx]
mov word [edx + ecx*2 + 6], ax
movzx ecx, word [ebx]
mov eax, dword [ebx + 4]
add cx, 3
mov word [edx + eax*2 + 8], cx
mov eax, dword [ebx + 4]
movzx ecx, word [ebx]
add cx, 2
mov word [edx + eax*2 + 0xa], cx
mov eax, ebx
mov edx, dword [esp + 0x38]
add dword [eax], 4
add dword [ebx + 4], 6
cmp dword [edx], 0
movss xmm0, dword [edx + 4]
jne 0x10278747
mov eax, dword [esp + 0x28]
push 0
mov dword [esp + 0xb8], 0
mov ecx, dword [eax]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + ecx*8 + 8]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edx + 8]
push eax
push dword [esp + 0x48]
movss dword [esp + 0x64], xmm0
call fcn.1003aa80
add esp, 0x10
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov ecx, dword [esi]
mov edx, dword [esp + 0x3c]
cvtsd2ss xmm0, xmm0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
movss dword [esp + 0xb8], xmm0
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x1027840f
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xb8]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [eax], ecx
mov dword [eax + 4], edx
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x10278490
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0xbc]
mov dword [ecx], eax
mov eax, dword [esp + 0xc0]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [eax], ecx
mov dword [eax + 4], edx
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x1027850d
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0xc4]
mov dword [ecx], eax
mov eax, dword [esp + 0xc8]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0xbf800000
mov dword [eax], ecx
mov dword [eax + 4], edx
add dword [esi], 8
mov edx, dword [esp + 0x38]
movss xmm1, dword [esp + 0x48]
mov ecx, dword [esi]
addss xmm1, dword [edx + 0x14]
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xcc], xmm1
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
movss dword [esp + 0xd0], xmm0
mov eax, dword [esp + 0xd0]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x102785bc
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0xd4]
mov dword [ecx], eax
mov eax, dword [esp + 0xd8]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0xbf800000
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
add dword [esi], 8
movss xmm1, dword [esp + 0x50]
addss xmm1, dword [edx + 0x14]
movss xmm0, dword [edx + 0x18]
mov ecx, dword [esi]
addss xmm0, dword [esp + 0x54]
movss dword [esp + 0xdc], xmm1
mov eax, dword [esp + 0xdc]
mov dword [ecx], eax
movss dword [esp + 0xe0], xmm0
mov eax, dword [esp + 0xe0]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x1027866b
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0xe4]
mov edx, ebx
mov dword [ecx], eax
mov eax, dword [esp + 0xe8]
mov dword [ecx + 4], eax
add dword [esi], 8
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
add dword [esi], 8
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 3
mov word [edi + eax*2], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
inc cx
mov word [edi + eax*2 + 2], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 2
mov word [edi + eax*2 + 4], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 4
mov word [edi + eax*2 + 6], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 3
mov word [edi + eax*2 + 8], cx
mov eax, dword [ebx + 4]
movzx ecx, word [edx]
add cx, 2
mov word [edi + eax*2 + 0xa], cx
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x40]
add eax, 6
cmp dword [esp + 0x44], 3
mov dword [esp + 0x20], eax
mov dword [ebx + 4], eax
jl 0x1027873f
mov ax, word [edx]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov word [ecx + edi*2], ax
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 2
mov edi, dword [esp + 0x10]
mov word [edi + eax*2 + 2], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
inc cx
mov word [edi + eax*2 + 4], cx
add dword [ebx + 4], 3
mov edi, dword [esp + 0x40]
add dword [edx], 5
jmp 0x10278e1c
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
movss xmm3, dword [edx + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
movss xmm2, dword [ecx + eax*8 + 4]
movss dword [esp + 0x11c], xmm2
movss xmm1, dword [ecx + eax*8 + 8]
mov eax, dword [edx + 0xc]
movss dword [esp + 0x124], xmm0
movss xmm0, dword [edx + 8]
movss dword [esp + 0x128], xmm0
movss xmm0, dword [edx + 0x14]
mov ecx, dword [esp + 0x30]
mulss xmm3, xmm1
mov dword [esp + 0x12c], eax
mov eax, dword [edx + 0x10]
mulss xmm0, xmm2
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x3c]
movss dword [esp + 0x120], xmm1
movss xmm1, dword [edx + 0x1c]
addss xmm3, xmm0
mulss xmm1, dword [esp + 0x12c]
movss xmm0, dword [edx + 0x20]
mulss xmm0, dword [esp + 0x130]
movss xmm4, dword [eax + 4]
movss dword [esp + 0x14], xmm3
movss xmm3, dword [eax]
addss xmm1, xmm0
mov eax, dword [eax]
movaps xmm0, xmm4
mulss xmm0, dword [edx + 0x20]
mulss xmm4, dword [edx + 0x18]
movss dword [esp + 0x20], xmm1
movaps xmm1, xmm3
mulss xmm1, dword [edx + 0x1c]
mulss xmm3, dword [edx + 0x14]
mov dword [ecx], eax
movss xmm2, dword [esp + 0x20]
addss xmm1, xmm0
mov eax, dword [esp + 0x3c]
movaps xmm0, xmm2
addss xmm3, xmm4
movss xmm4, dword [esp + 0x14]
mov eax, dword [eax + 4]
subss xmm0, xmm1
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmm4
subss xmm0, xmm3
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
movss dword [esp + 0x20], xmm0
je 0x10278879
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov eax, dword [esp + 0x20]
add ecx, 8
mov dword [esi], ecx
mov dword [esp + 0x20], 0
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
movss xmm1, dword [esp + 0x11c]
movss xmm0, dword [esp + 0x120]
mulss xmm1, dword [edx + 0x1c]
mov eax, dword [esp + 0x11c]
mulss xmm0, dword [edx + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x120]
mov dword [ecx + 4], eax
add dword [esi], 8
addss xmm1, xmm0
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
subss xmm2, xmm1
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
movss dword [esp + 0x14], xmm2
je 0x1027890d
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov eax, dword [esp + 0x20]
add ecx, 8
mov dword [esi], ecx
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
movss xmm1, dword [esp + 0x130]
movss xmm0, dword [edx + 0x14]
mulss xmm1, dword [edx + 0x18]
mov eax, dword [esp + 0x12c]
mulss xmm0, dword [esp + 0x12c]
mov dword [ecx], eax
mov eax, dword [esp + 0x130]
mov dword [ecx + 4], eax
add dword [esi], 8
addss xmm1, xmm0
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
subss xmm4, xmm1
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
movss dword [esp + 0x20], xmm4
je 0x102789a1
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov eax, dword [esp + 0x20]
add ecx, 8
mov dword [esi], ecx
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
add dword [esi], 4
movss xmm1, dword [esp + 0x11c]
addss xmm1, dword [edx + 0x14]
movss xmm0, dword [edx + 0x18]
mov ecx, dword [esi]
addss xmm0, dword [esp + 0x120]
movss dword [esp + 0xec], xmm1
mov eax, dword [esp + 0xec]
mov dword [ecx], eax
movss dword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf0]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x10278a31
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
lea eax, [ecx + 8]
mov dword [esi], eax
mov dword [eax], 0xf58637bc
add dword [esi], 4
mov eax, dword [esi]
mov dword [eax], 0xf58637bc
add dword [esi], 4
movss xmm1, dword [edx + 0x1c]
addss xmm1, dword [esp + 0x12c]
movss xmm0, dword [edx + 0x20]
mov ecx, dword [esi]
addss xmm0, dword [esp + 0x130]
movss dword [esp + 0xf4], xmm1
mov eax, dword [esp + 0xf4]
mov dword [ecx], eax
movss dword [esp + 0xf8], xmm0
mov eax, dword [esp + 0xf8]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x10278ac1
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
lea eax, [ecx + 8]
mov dword [esi], eax
lea ecx, [esp + 0x60]
mov dword [eax], 0xf58637bc
add dword [esi], 4
mov eax, dword [esi]
mov dword [eax], 0xf58637bc
movss xmm1, dword [edx + 0x1c]
movss xmm0, dword [edx + 0x18]
addss xmm1, dword [edx + 0x14]
addss xmm0, dword [edx + 0x20]
add dword [esi], 4
movss dword [esp + 0x60], xmm1
movss dword [esp + 0x64], xmm0
call fcn.1003ae60
movss xmm1, dword [esp + 0x124]
addss xmm1, dword [esp + 0x60]
movss xmm0, dword [esp + 0x128]
mov ecx, dword [esi]
addss xmm0, dword [esp + 0x64]
movss dword [esp + 0xfc], xmm1
mov eax, dword [esp + 0xfc]
mov dword [ecx], eax
movss dword [esp + 0x100], xmm0
mov eax, dword [esp + 0x100]
mov dword [ecx + 4], eax
add dword [esi], 8
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
mov dword [esi], ecx
cmp byte [edi + 0x10], 0
je 0x10278b7c
mov eax, dword [edi + 4]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 8]
mov dword [ecx], eax
add dword [esi], 4
mov ecx, dword [esi]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi]
add ecx, 4
lea eax, [ecx + 8]
mov dword [esi], eax
lea ecx, [esp + 0x104]
mov dword [eax], 0xf58637bc
add dword [esi], 4
mov eax, dword [esi]
mov dword [eax], 0xf58637bc
lea eax, [esp + 0x11c]
add dword [esi], 4
push eax
call fcn.102293f0
movss xmm4, dword [esp + 0x104]
movss xmm5, dword [esp + 0x108]
movaps xmm0, xmm4
mov eax, dword [esp + 0x30]
movaps xmm1, xmm5
movss xmm2, dword [esp + 0x10c]
movss xmm6, dword [esp + 0x110]
movss xmm7, dword [esp + 0x114]
mulss xmm1, dword [eax + 4]
mov ecx, dword [esp + 0x6c]
mulss xmm0, dword [eax]
add ecx, eax
mov edx, dword [ebp + 0x20]
movss xmm3, dword [esp + 0x118]
addss xmm1, xmm0
movaps xmm0, xmm6
addss xmm1, xmm2
movss dword [ecx], xmm1
movaps xmm1, xmm7
mulss xmm1, dword [eax + 4]
mulss xmm0, dword [eax]
add eax, edx
addss xmm1, xmm0
movaps xmm0, xmm5
addss xmm1, xmm3
movss dword [ecx + 4], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [eax]
add ecx, edx
mulss xmm0, dword [eax + 4]
addss xmm1, xmm0
movaps xmm0, xmm7
addss xmm1, xmm2
movss dword [ecx], xmm1
movaps xmm1, xmm6
mulss xmm1, dword [eax]
mulss xmm0, dword [eax + 4]
add eax, edx
addss xmm1, xmm0
movaps xmm0, xmm5
addss xmm1, xmm3
movss dword [ecx + 4], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [eax]
add ecx, edx
mulss xmm0, dword [eax + 4]
addss xmm1, xmm0
movaps xmm0, xmm7
addss xmm1, xmm2
movss dword [ecx], xmm1
movaps xmm1, xmm6
mulss xmm1, dword [eax]
mulss xmm0, dword [eax + 4]
add eax, edx
addss xmm1, xmm0
movaps xmm0, xmm5
addss xmm1, xmm3
movss dword [ecx + 4], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [eax]
add ecx, edx
mulss xmm0, dword [eax + 4]
addss xmm1, xmm0
movaps xmm0, xmm7
addss xmm1, xmm2
movss dword [ecx], xmm1
movaps xmm1, xmm6
mulss xmm1, dword [eax]
mulss xmm0, dword [eax + 4]
addss xmm1, xmm0
add eax, edx
mov edi, dword [esp + 0x10]
addss xmm1, xmm3
movaps xmm0, xmm5
movss dword [ecx + 4], xmm1
add ecx, edx
mulss xmm0, dword [eax + 4]
movaps xmm1, xmm4
mulss xmm1, dword [eax]
addss xmm1, xmm0
movaps xmm0, xmm7
addss xmm1, xmm2
movss dword [ecx], xmm1
movaps xmm1, xmm6
mulss xmm1, dword [eax]
mulss xmm0, dword [eax + 4]
addss xmm1, xmm0
addss xmm1, xmm3
movss dword [ecx + 4], xmm1
mulss xmm5, dword [eax + edx + 4]
mulss xmm4, dword [eax + edx]
addss xmm5, xmm4
addss xmm5, xmm2
movss dword [ecx + edx], xmm5
mulss xmm7, dword [eax + edx + 4]
mulss xmm6, dword [eax + edx]
addss xmm7, xmm6
addss xmm7, xmm3
movss dword [ecx + edx + 4], xmm7
mov edx, ebx
mov eax, dword [ebx + 4]
movzx ecx, word [edx]
add cx, 3
mov word [edi + eax*2], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
inc cx
mov word [edi + eax*2 + 2], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 2
mov word [edi + eax*2 + 4], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 4
mov word [edi + eax*2 + 6], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 3
mov word [edi + eax*2 + 8], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 2
mov word [edi + eax*2 + 0xa], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 5
mov word [edi + eax*2 + 0xc], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 3
mov word [edi + eax*2 + 0xe], cx
mov eax, dword [ebx + 4]
movzx ecx, word [edx]
add cx, 4
mov word [edi + eax*2 + 0x10], cx
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x40]
add eax, 9
cmp dword [esp + 0x44], 3
mov dword [esp + 0x20], eax
mov dword [ebx + 4], eax
jl 0x10278e19
mov ax, word [edx]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov word [ecx + edi*2], ax
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
add cx, 2
mov edi, dword [esp + 0x10]
mov word [edi + eax*2 + 2], cx
movzx ecx, word [edx]
mov eax, dword [ebx + 4]
inc cx
mov word [edi + eax*2 + 4], cx
add dword [ebx + 4], 3
mov edi, dword [esp + 0x40]
add dword [edx], 6
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x70]
add eax, 0x2c
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
cmp edx, dword [esp + 0x44]
jl 0x10277f20
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret