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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e393c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa08
mov eax, dword [0x64e2c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 8]
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x63c], esi
mov dword [ebp - 0x514], esi
call fcn.004819d0
lea ecx, [ebp - 0xa10]
mov dword [ebp - 4], 0
call fcn.00482b90
lea ecx, [ebp - 0x104]
call fcn.0047ed30
lea ecx, [ebp - 0xec]
call fcn.0047ed30
lea eax, [ebp - 0x489]
mov byte [ebp - 4], 2
push eax
lea eax, [ebx + 0xc]
push eax
lea ecx, [ebp - 0x134]
call fcn.00472ef0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0048a2e0
add esp, 8
push 0x5fd640
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.004a5b80
test eax, eax
jne 0x48aed3
push str.Reading_binary_glTF
push 0x655680
call fcn.00438a00
push eax
call fcn.00438ca0
add esp, 0xc
lea ecx, [ebp - 0x134]
call fcn.004a5a40
push eax
lea ecx, [ebp - 0x164]
call fcn.0042f3a0
push 1
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0xa10]
call fcn.004906d0
lea ecx, [ebp - 0x164]
jmp 0x48af35
push str.Reading_ASCII_glTF
push 0x655680
call fcn.00438a00
push eax
call fcn.00438ca0
add esp, 0xc
lea ecx, [ebp - 0x134]
call fcn.004a5a40
push eax
lea ecx, [ebp - 0x14c]
call fcn.0042f3a0
push 1
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0xa10]
call fcn.00490340
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 4
mov byte [ebp - 0x489], al
call fcn.0042f9a0
cmp dword [ebp - 0xdc], 0
je 0x48af66
lea ecx, [ebp - 0xec]
call fcn.004a5a40
push eax
push str.Warn:__s_n
call fcn.00419560
add esp, 8
cmp dword [ebp - 0xf4], 0
je 0x48af88
lea ecx, [ebp - 0x104]
call fcn.004a5a40
push eax
push str.Err:__s_n
call fcn.00419560
add esp, 8
cmp byte [ebp - 0x489], 0
jne 0x48afe9
push str.Failed_to_parse_glTF_n
call fcn.00419560
add esp, 4
mov dword [esi], 0
lea ecx, [ebp - 0x8c]
mov dword [esi + 4], 0
call fcn.0042f9a0
lea ecx, [ebp - 0x134]
call fcn.0042f9a0
lea ecx, [ebp - 0xec]
call fcn.0042f9a0
lea ecx, [ebp - 0x104]
call fcn.0042f9a0
lea ecx, [ebp - 0x410]
call fcn.00485b90
mov eax, esi
jmp 0x490316
lea ecx, [ebp - 0x8c]
call fcn.0042f9a0
lea ecx, [ebp - 0x134]
call fcn.0042f9a0
lea ecx, [ebp - 0xec]
call fcn.0042f9a0
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0
call fcn.0042f9a0
lea eax, [ebp - 0x4d8]
push eax
call fcn.0047bdb0
add esp, 4
mov esi, dword [ebp - 0x4d8]
lea eax, [ebp - 0x410]
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 7
mov dword [ebp - 0x494], eax
call fcn.004ac330
push eax
lea ecx, [esi + 0x24]
call fcn.004aacd0
mov esi, dword [ebp - 0x4d8]
mov dword [ebp - 0x4a4], 0
lea ecx, [esi + 0x24]
call fcn.004ac2f0
test eax, eax
je 0x48b290
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x49c], edx
mov edi, dword [ebp - 0x3e0]
mov esi, dword [esi + 0x24]
add edi, edx
add esi, ecx
push edi
mov ecx, esi
call fcn.0046d200
lea eax, [edi + 0x24]
push eax
lea ecx, [esi + 0x18]
call fcn.0046d200
movsd xmm0, qword [edi + 0x40]
lea ecx, [ebp - 0x494]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x30], xmm0
mov al, byte [edi + 0x48]
mov byte [esi + 0x34], al
lea eax, [ebp - 0x458]
push dword [edi + 0x60]
push eax
call fcn.00488ba0
push eax
lea ecx, [esi + 0x38]
call fcn.00486b60
lea ecx, [ebp - 0x458]
call fcn.0042f9a0
mov eax, dword [edi + 0x54]
mov ecx, dword [edi + 0x50]
sub eax, ecx
sar eax, 3
cmp eax, 4
jne 0x48b12d
movsd xmm0, qword [ecx]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x50], xmm0
movsd xmm0, qword [ecx + 8]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x54], xmm0
mov eax, dword [edi + 0x50]
movsd xmm0, qword [eax + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x58], xmm0
mov eax, dword [edi + 0x50]
movsd xmm0, qword [eax + 0x18]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x5c], xmm0
push dword [edi + 0x100]
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x494]
call fcn.00488ba0
push eax
lea ecx, [esi + 0x60]
call fcn.00486b60
lea ecx, [ebp - 0x440]
call fcn.0042f9a0
movsd xmm0, qword [edi + 0xf0]
lea eax, [ebp - 0x428]
cvtpd2ps xmm0, xmm0
lea ecx, [ebp - 0x494]
movss dword [esi + 0x78], xmm0
movsd xmm0, qword [edi + 0xf8]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x7c], xmm0
push dword [edi + 0x348]
push eax
call fcn.00488ba0
push eax
lea ecx, [esi + 0x80]
call fcn.00486b60
lea ecx, [ebp - 0x428]
call fcn.0042f9a0
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, ecx
sar eax, 3
cmp eax, 3
jne 0x48b1ef
movsd xmm0, qword [ecx]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x98], xmm0
movsd xmm0, qword [ecx + 8]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x9c], xmm0
mov eax, dword [edi + 0x18]
movsd xmm0, qword [eax + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esi + 0xa0], xmm0
push dword [edi + 0x218]
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x494]
call fcn.00488ba0
push eax
lea ecx, [esi + 0xa4]
call fcn.00486b60
lea ecx, [ebp - 0x488]
call fcn.0042f9a0
push dword [edi + 0x2b0]
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x494]
call fcn.00488ba0
push eax
lea ecx, [esi + 0xbc]
call fcn.00486b60
lea ecx, [ebp - 0x470]
call fcn.0042f9a0
mov esi, dword [ebp - 0x4d8]
mov edi, dword [ebp - 0x4a4]
add dword [ebp - 0x49c], 0x470
inc edi
add dword [ebp - 0x4b8], 0xd4
lea ecx, [esi + 0x24]
mov dword [ebp - 0x4a4], edi
call fcn.004ac2f0
mov ecx, dword [ebp - 0x4b8]
mov edx, dword [ebp - 0x49c]
cmp edi, eax
jb 0x48b082
lea ecx, [esi + 0x24]
call fcn.004ac2f0
test eax, eax
jne 0x48b2ac
push 1
lea ecx, [esi + 0x24]
call fcn.004aacd0
mov esi, dword [ebp - 0x4d8]
lea ecx, [ebp - 0x3c8]
call fcn.004ac390
push eax
mov ecx, esi
call fcn.004aad70
mov esi, dword [ebp - 0x4d8]
mov ecx, esi
mov dword [ebp - 0x4b8], 0
call fcn.004ac310
test eax, eax
je 0x48b984
xor edi, edi
xor eax, eax
mov dword [ebp - 0x4a4], edi
mov dword [ebp - 0x49c], eax
nop
mov esi, dword [esi]
add esi, eax
mov eax, dword [ebp - 0x3c8]
add eax, 4
mov dword [ebp - 0x4bc], esi
add eax, edi
mov ecx, esi
push eax
call fcn.0046d200
mov eax, dword [ebp - 0x3c8]
lea ecx, [esi + 0x18]
add eax, 0x24
add eax, edi
push eax
call fcn.00486c70
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
mov dword [ebp - 0x4b4], eax
cmp edx, eax
je 0x48b35e
mov esi, dword [ebp - 0x4b8]
mov edi, eax
nop dword [eax]
imul ecx, dword [edx], 0x118
add edx, 4
mov eax, dword [ebp - 0x4d8]
add ecx, dword [eax]
mov dword [ecx + 0x24], esi
cmp edx, edi
jne 0x48b340
mov edi, dword [ebp - 0x4a4]
lea ecx, [ebp - 0x6c0]
call fcn.00434e40
lea ecx, [ebp - 0x770]
call fcn.00434e40
lea ecx, [ebp - 0x7b0]
call fcn.00434e40
mov esi, dword [ebp - 0x3c8]
movaps xmm4, xmmword [0x5f7de0]
movaps xmmword [ebp - 0x4d0], xmm4
mov eax, dword [esi + edi + 0x40]
mov ecx, dword [esi + edi + 0x3c]
sub eax, ecx
cmp eax, 8
jb 0x48b44c
movsd xmm0, qword [ecx + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x490], xmm0
movsd xmm0, qword [ecx + 8]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ecx]
lea ecx, [ebp - 0x8e0]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x4a4], xmm0
call fcn.00434e40
movss xmm1, dword [ebp - 0x4b4]
xorps xmm2, xmm2
movss xmm0, dword [ebp - 0x490]
movss xmm3, dword [ebp - 0x4a4]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
unpcklps xmm1, xmm0
xorps xmm0, xmm0
unpcklps xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x4d0]
movups xmmword [ebp - 0x8e0], xmm3
movups xmmword [ebp - 0x8d0], xmm2
movups xmmword [ebp - 0x8c0], xmm1
movups xmmword [ebp - 0x8b0], xmm0
movups xmmword [ebp - 0x6c0], xmm3
movups xmmword [ebp - 0x6b0], xmm2
movups xmmword [ebp - 0x6a0], xmm1
movups xmmword [ebp - 0x690], xmm0
mov eax, dword [esi + edi + 0x34]
mov ecx, dword [esi + edi + 0x30]
sub eax, ecx
cmp eax, 8
jb 0x48b593
movsd xmm3, qword [ecx + 0x18]
sub esp, 0x10
movsd xmm2, qword [ecx + 0x10]
movsd xmm0, qword [ecx + 8]
movsd xmm1, qword [ecx]
lea ecx, [ebp - 0x4fc]
cvtpd2ps xmm3, xmm3
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm1, xmm1
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.004822f0
lea ecx, [ebp - 0x920]
call fcn.00434e40
movups xmm4, xmmword [ebp - 0x4fc]
movaps xmm5, xmmword [0x5f7ee0]
movaps xmm3, xmm4
addps xmm3, xmm4
movaps xmm2, xmm3
movaps xmm1, xmm3
mulps xmm2, xmm4
shufps xmm1, xmm3, 0xe6
shufps xmm3, xmm3, 0xc9
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc1
andps xmm0, xmmword [0x5f7e00]
subps xmm5, xmm0
shufps xmm2, xmm2, 0xda
andps xmm2, xmmword [0x5f7e00]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xd0
shufps xmm4, xmm4, 0xff
mulps xmm4, xmm3
mulps xmm1, xmm0
subps xmm5, xmm2
movaps xmm2, xmm4
addps xmm2, xmm1
movaps xmm3, xmm5
subps xmm1, xmm4
movaps xmm4, xmm5
movaps xmm0, xmm2
shufps xmm0, xmm1, 0x49
shufps xmm2, xmm1, 0xa0
movaps xmm1, xmmword [ebp - 0x4d0]
shufps xmm0, xmm0, 0x78
shufps xmm2, xmm2, 0x88
shufps xmm3, xmm0, 0x4c
shufps xmm3, xmm3, 0x78
shufps xmm4, xmm0, 0xed
shufps xmm4, xmm4, 0x72
shufps xmm2, xmm5, 0xe4
movaps xmmword [ebp - 0x5c0], xmm3
movups xmmword [ebp - 0x920], xmm3
movaps xmmword [ebp - 0x5f0], xmm4
movups xmmword [ebp - 0x910], xmm4
movaps xmmword [ebp - 0x600], xmm2
movups xmmword [ebp - 0x900], xmm2
movups xmmword [ebp - 0x8f0], xmm1
movups xmmword [ebp - 0x770], xmm3
movups xmmword [ebp - 0x760], xmm4
movups xmmword [ebp - 0x750], xmm2
movups xmmword [ebp - 0x740], xmm1
jmp 0x48b5cb
movups xmm0, xmmword [ebp - 0x740]
movaps xmmword [ebp - 0x4d0], xmm0
movups xmm0, xmmword [ebp - 0x750]
movaps xmmword [ebp - 0x600], xmm0
movups xmm0, xmmword [ebp - 0x760]
movaps xmmword [ebp - 0x5f0], xmm0
movups xmm0, xmmword [ebp - 0x770]
movaps xmmword [ebp - 0x5c0], xmm0
mov eax, dword [esi + edi + 0x4c]
mov ecx, dword [esi + edi + 0x48]
sub eax, ecx
cmp eax, 8
jb 0x48b6af
movsd xmm0, qword [ecx + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x4a4], xmm0
movsd xmm0, qword [ecx + 8]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ecx]
lea ecx, [ebp - 0x960]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x490], xmm0
call fcn.00434e40
movups xmm4, xmmword [0x5f7ec0]
movups xmm5, xmmword [0x5f7dd0]
movups xmm6, xmmword [0x5f7ed0]
movss xmm2, dword [0x5eeaf4]
movss xmm0, dword [ebp - 0x4a4]
movss xmm1, dword [ebp - 0x4b4]
movss xmm3, dword [ebp - 0x490]
unpcklps xmm3, xmm0
unpcklps xmm1, xmm2
unpcklps xmm3, xmm1
movaps xmmword [ebp - 0x680], xmm4
movups xmmword [ebp - 0x960], xmm4
movaps xmmword [ebp - 0x510], xmm5
movups xmmword [ebp - 0x950], xmm5
movaps xmmword [ebp - 0x5e0], xmm6
movups xmmword [ebp - 0x940], xmm6
movaps xmmword [ebp - 0x5b0], xmm3
movups xmmword [ebp - 0x930], xmm3
movups xmmword [ebp - 0x7b0], xmm4
movups xmmword [ebp - 0x7a0], xmm5
movups xmmword [ebp - 0x790], xmm6
movups xmmword [ebp - 0x780], xmm3
jmp 0x48b6e7
movups xmm0, xmmword [ebp - 0x780]
movaps xmmword [ebp - 0x5b0], xmm0
movups xmm0, xmmword [ebp - 0x790]
movaps xmmword [ebp - 0x5e0], xmm0
movups xmm0, xmmword [ebp - 0x7a0]
movaps xmmword [ebp - 0x510], xmm0
movups xmm0, xmmword [ebp - 0x7b0]
movaps xmmword [ebp - 0x680], xmm0
mov eax, dword [esi + edi + 0x58]
mov edx, dword [esi + edi + 0x54]
sub eax, edx
cmp eax, 8
jb 0x48b798
mov eax, 0x18
lea ecx, [ebp - 0x6bc]
nop word [eax + eax]
movsd xmm0, qword [eax + edx - 0x18]
lea ecx, [ecx + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0x24], xmm0
movsd xmm0, qword [eax + edx - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0x20], xmm0
movsd xmm0, qword [eax + edx - 8]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0x1c], xmm0
movsd xmm0, qword [eax + edx]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0x18], xmm0
movsd xmm0, qword [eax + edx + 8]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0x14], xmm0
movsd xmm0, qword [eax + edx + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0x10], xmm0
movsd xmm0, qword [eax + edx + 0x18]
cvtpd2ps xmm0, xmm0
movss dword [ecx - 0xc], xmm0
movsd xmm0, qword [eax + edx + 0x20]
add eax, 0x40
cvtpd2ps xmm0, xmm0
movss dword [ecx - 8], xmm0
cmp eax, 0x98
jl 0x48b710
movaps xmm4, xmmword [ebp - 0x5c0]
lea ecx, [ebp - 0x9a0]
movups xmm0, xmmword [ebp - 0x6c0]
movups xmm1, xmmword [ebp - 0x6b0]
movups xmm2, xmmword [ebp - 0x6a0]
movups xmm3, xmmword [ebp - 0x690]
movaps xmmword [ebp - 0x9a0], xmm4
movaps xmm4, xmmword [ebp - 0x5f0]
movaps xmmword [ebp - 0x990], xmm4
movaps xmm4, xmmword [ebp - 0x600]
movaps xmmword [ebp - 0x980], xmm4
movaps xmm4, xmmword [ebp - 0x4d0]
movaps xmmword [ebp - 0x970], xmm4
call fcn.004a3080
lea ecx, [ebp - 0x9e0]
movaps xmmword [ebp - 0x600], xmm3
movaps xmmword [ebp - 0x5f0], xmm2
movaps xmmword [ebp - 0x5c0], xmm1
movaps xmmword [ebp - 0x4d0], xmm0
call fcn.00434e40
movaps xmm4, xmmword [ebp - 0x680]
lea ecx, [ebp - 0x730]
movaps xmm0, xmmword [ebp - 0x4d0]
movaps xmm1, xmmword [ebp - 0x5c0]
movaps xmm2, xmmword [ebp - 0x5f0]
movaps xmm3, xmmword [ebp - 0x600]
movaps xmmword [ebp - 0x730], xmm4
movaps xmm4, xmmword [ebp - 0x510]
movaps xmmword [ebp - 0x720], xmm4
movaps xmm4, xmmword [ebp - 0x5e0]
movaps xmmword [ebp - 0x710], xmm4
movaps xmm4, xmmword [ebp - 0x5b0]
movups xmmword [ebp - 0x9e0], xmm0
movups xmmword [ebp - 0x9d0], xmm1
movups xmmword [ebp - 0x9c0], xmm2
movups xmmword [ebp - 0x9b0], xmm3
movaps xmmword [ebp - 0x700], xmm4
call fcn.004a3080
lea ecx, [ebp - 0x7f0]
movaps xmmword [ebp - 0x5c0], xmm3
movaps xmmword [ebp - 0x4d0], xmm2
movaps xmmword [ebp - 0x5e0], xmm1
movups xmmword [ebp - 0x5b0], xmm0
call fcn.00434e40
movaps xmm0, xmmword [ebp - 0x5e0]
movups xmm1, xmmword [ebp - 0x5b0]
mov ecx, dword [ebp - 0x4bc]
movups xmmword [ebp - 0x7e0], xmm0
lea eax, [ecx + 0x2c]
movaps xmm0, xmmword [ebp - 0x4d0]
movups xmmword [ebp - 0x7d0], xmm0
push eax
movaps xmm0, xmmword [ebp - 0x5c0]
movups xmmword [ebp - 0x7c0], xmm0
movups xmmword [ebp - 0x7f0], xmm1
movups xmmword [eax], xmm1
movups xmm0, xmmword [ebp - 0x7e0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x7d0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x7c0]
movups xmmword [eax + 0x30], xmm0
call fcn.00492ed0
mov eax, dword [ebp - 0x3c8]
add esp, 4
cmp dword [eax + edi + 0x20], 0
jl 0x48b942
mov byte [ecx + 0xec], 1
mov esi, dword [ebp - 0x4b8]
add edi, 0xf8
mov ecx, dword [ebp - 0x4d8]
inc esi
add dword [ebp - 0x49c], 0x118
mov dword [ebp - 0x4b8], esi
mov dword [ebp - 0x4a4], edi
call fcn.004ac310
cmp esi, eax
mov esi, dword [ebp - 0x4d8]
mov eax, dword [ebp - 0x49c]
jb 0x48b2f0
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x4a4], ecx
cmp edi, ecx
je 0x48b9bc
nop word [eax + eax]
lea ecx, [esi + 0xc]
push edi
call fcn.004aa860
add edi, 4
cmp edi, dword [ebp - 0x4a4]
je 0x48b9bc
mov esi, dword [ebp - 0x4d8]
jmp 0x48b9a0
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x508], eax
lea ecx, [ebp - 0x1d8]
lea eax, [ebp - 0x4d8]
mov dword [ebp - 0x504], eax
lea eax, [ebp - 0x508]
push eax
call fcn.00472ec0
mov ecx, dword [ebp - 0x4d8]
mov byte [ebp - 4], 8
mov edi, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
cmp esi, edi
je 0x48ba25
nop word [eax + eax]
imul eax, dword [esi], 0x118
push 0
add eax, dword [ecx]
lea ecx, [ebp - 0x1d8]
push eax
call fcn.00488c10
add esi, 4
cmp esi, edi
je 0x48ba25
mov ecx, dword [ebp - 0x4d8]
jmp 0x48ba00
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 7
call fcn.00483450
lea ecx, [ebp - 0x3a4]
call fcn.004ac370
test eax, eax
je 0x48bd31
mov ecx, dword [ebp - 0x4d8]
mov eax, dword [ebp - 0x3a4]
add eax, 0x20
push eax
lea ecx, [ecx + 0x18]
call fcn.00486c70
mov eax, dword [ebp - 0x3a4]
lea ecx, [ebp - 0x88]
push dword [eax + 0x18]
lea eax, [ebp - 0x410]
push eax
call fcn.004802f0
mov edx, dword [ebp - 0x3a4]
xor ecx, ecx
mov dword [ebp - 0x4a4], ecx
mov eax, dword [edx + 0x24]
sub eax, dword [edx + 0x20]
sar eax, 2
test eax, eax
je 0x48bbdd
mov dword [ebp - 0x4b8], ecx
nop
mov eax, dword [edx + 0x20]
imul edi, dword [eax + ecx*4], 0x118
mov eax, dword [ebp - 0x4d8]
add edi, dword [eax]
mov dword [ebp - 0x4b4], edi
mov dword [edi + 0x28], ecx
lea ecx, [ebp - 0x6c0]
call fcn.00434e40
mov edi, dword [ebp - 0x4b8]
xor esi, esi
nop
lea eax, [edi + esi]
push eax
lea ecx, [ebp - 0x88]
call fcn.0048a460
fstp dword [ebp + esi*4 - 0x6c0]
inc esi
cmp esi, 0x10
jl 0x48bad0
lea eax, [ebp - 0x6c0]
push eax
call fcn.00492ed0
mov edi, dword [ebp - 0x4b4]
lea ecx, [ebp - 0x830]
movups xmm0, xmmword [ebp - 0x6c0]
add esp, 4
movups xmmword [edi + 0xac], xmm0
movups xmm0, xmmword [ebp - 0x6b0]
movups xmmword [edi + 0xbc], xmm0
movups xmm0, xmmword [ebp - 0x6a0]
movups xmmword [edi + 0xcc], xmm0
movups xmm0, xmmword [ebp - 0x690]
movups xmmword [edi + 0xdc], xmm0
call fcn.00434e40
movups xmm0, xmmword [ebp - 0x6c0]
lea ecx, [ebp - 0x500]
movups xmm1, xmmword [ebp - 0x6b0]
movups xmm2, xmmword [ebp - 0x6a0]
movups xmm3, xmmword [ebp - 0x690]
call fcn.004373c0
mov ecx, dword [ebp - 0x4a4]
movups xmmword [ebp - 0x830], xmm0
add dword [ebp - 0x4b8], 0x10
inc ecx
movups xmmword [ebp - 0x820], xmm1
mov dword [ebp - 0x4a4], ecx
movups xmmword [ebp - 0x810], xmm2
movups xmmword [ebp - 0x800], xmm3
movups xmmword [edi + 0x6c], xmm0
movups xmm0, xmmword [ebp - 0x820]
movups xmmword [edi + 0x7c], xmm0
movups xmm0, xmmword [ebp - 0x810]
movups xmmword [edi + 0x8c], xmm0
movups xmm0, xmmword [ebp - 0x800]
movups xmmword [edi + 0x9c], xmm0
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx + 0x24]
sub eax, dword [edx + 0x20]
sar eax, 2
cmp ecx, eax
jb 0x48baa0
mov esi, dword [ebp - 0x4d8]
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + 0x18]
mov dword [ebp - 0x4a4], eax
cmp edi, eax
je 0x48bd37
nop word [eax + eax]
mov ecx, dword [esi]
imul esi, dword [edi], 0x118
add esi, ecx
mov eax, dword [esi + 0x24]
movups xmm0, xmmword [esi + 0x6c]
test eax, eax
js 0x48bcf8
movups xmm1, xmmword [esi + 0x7c]
movups xmm2, xmmword [esi + 0x8c]
movups xmm3, xmmword [esi + 0x9c]
imul eax, eax, 0x118
add eax, ecx
lea ecx, [ebp - 0x730]
movups xmm7, xmmword [eax + 0xac]
movups xmm6, xmmword [eax + 0xbc]
movups xmm5, xmmword [eax + 0xcc]
movups xmm4, xmmword [eax + 0xdc]
movaps xmmword [ebp - 0x730], xmm7
movaps xmmword [ebp - 0x720], xmm6
movaps xmmword [ebp - 0x710], xmm5
movaps xmmword [ebp - 0x700], xmm4
call fcn.004a3080
lea ecx, [ebp - 0x870]
movaps xmmword [ebp - 0x4d0], xmm3
movaps xmmword [ebp - 0x5e0], xmm2
movaps xmmword [ebp - 0x5b0], xmm1
movups xmmword [ebp - 0x500], xmm0
call fcn.00434e40
movaps xmm0, xmmword [ebp - 0x5b0]
movups xmm1, xmmword [ebp - 0x500]
movups xmmword [ebp - 0x860], xmm0
movaps xmm0, xmmword [ebp - 0x5e0]
movups xmmword [ebp - 0x850], xmm0
movaps xmm0, xmmword [ebp - 0x4d0]
movups xmmword [ebp - 0x840], xmm0
movups xmmword [ebp - 0x870], xmm1
movups xmmword [esi + 0x2c], xmm1
movups xmm0, xmmword [ebp - 0x860]
movups xmmword [esi + 0x3c], xmm0
movups xmm0, xmmword [ebp - 0x850]
movups xmmword [esi + 0x4c], xmm0
movups xmm0, xmmword [ebp - 0x840]
jmp 0x48bd16
movups xmmword [esi + 0x2c], xmm0
movups xmm0, xmmword [esi + 0x7c]
movups xmmword [esi + 0x3c], xmm0
movups xmm0, xmmword [esi + 0x8c]
movups xmmword [esi + 0x4c], xmm0
movups xmm0, xmmword [esi + 0x9c]
add edi, 4
movups xmmword [esi + 0x5c], xmm0
mov esi, dword [ebp - 0x4d8]
cmp edi, dword [ebp - 0x4a4]
jne 0x48bc00
jmp 0x48bd37
mov esi, dword [ebp - 0x4d8]
mov ecx, dword [esi + 4]
mov eax, 0xea0ea0eb
mov edi, dword [esi]
sub ecx, edi
imul ecx
mov dword [ebp - 0x4a4], 0
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48e844
xor edx, edx
imul eax, edx, 0xf8
imul ecx, edx, 0x118
add eax, dword [ebp - 0x3c8]
add ecx, edi
mov dword [ebp - 0x4b0], ecx
mov eax, dword [eax + 0x20]
test eax, eax
js 0x48e815
mov byte [ecx + 0xec], 1
imul ecx, eax, 0xb8
mov eax, dword [ebp - 0x3d4]
add eax, 0x18
mov dword [ebp - 0x4b8], ecx
add ecx, eax
call fcn.004ac350
lea ecx, [ebp - 0x55d]
push ecx
push eax
lea ecx, [ebp - 0x520]
call fcn.0047f220
mov eax, dword [ebp - 0x4b8]
xor edi, edi
mov esi, dword [ebp - 0x3d4]
mov byte [ebp - 4], 9
mov dword [ebp - 0x4b4], edi
mov ecx, dword [esi + eax + 0x1c]
sub ecx, dword [esi + eax + 0x18]
mov eax, 0x30c30c31
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48e1b8
nop word [eax + eax]
mov eax, dword [ebp - 0x4b8]
imul edi, edi, 0xa8
add edi, dword [esi + eax + 0x18]
mov dword [ebp - 0x498], edi
cmp dword [edi + 0x10], 4
jne 0x48e18a
lea eax, [ebp - 0x508]
push eax
call fcn.0047bbf0
add esp, 4
mov eax, dword [ebp - 0x520]
mov ecx, dword [ebp - 0x4b4]
mov byte [ebp - 4], 0xa
lea ecx, [eax + ecx*8]
lea eax, [ebp - 0x508]
push eax
call fcn.00486c10
push edi
mov edi, dword [ebp - 0x508]
lea ecx, [edi + 0x1c]
call fcn.00486bd0
mov esi, dword [ebp - 0x498]
lea ecx, [ebp - 0x614]
mov dword [ebp - 0x614], 0
lea eax, [esi + 8]
cmp dword [eax], 0
push 0x5f2e7c
cmovg ecx, eax
mov eax, dword [ecx]
lea ecx, [ebp - 0x194]
mov dword [edi + 0x18], eax
call fcn.0042f3a0
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0xb
push eax
mov ecx, esi
call fcn.00487030
lea ecx, [ebp - 0x5e0]
push dword [eax]
lea eax, [ebp - 0x410]
push eax
call fcn.004802f0
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0xa
call fcn.0042f9a0
mov esi, dword [ebp - 0x5d8]
mov ecx, edi
push dword [esi + 0x28]
call fcn.004aae90
xor eax, eax
mov dword [ebp - 0x490], eax
cmp dword [esi + 0x28], eax
jbe 0x48bf57
lea edi, [eax + 2]
nop word [eax + eax]
mov ecx, dword [ebp - 0x508]
push eax
call fcn.00487350
lea ecx, [edi - 2]
mov esi, eax
push ecx
lea ecx, [ebp - 0x5e0]
call fcn.0048a460
lea ecx, [edi - 1]
push ecx
fstp dword [esi]
lea ecx, [ebp - 0x5e0]
call fcn.0048a460
fstp dword [esi + 4]
push edi
lea ecx, [ebp - 0x5e0]
call fcn.0048a460
fmul dword [0x5eeb5c]
add edi, 3
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x5d8]
inc eax
mov dword [ebp - 0x490], eax
fstp dword [esi + 8]
cmp eax, dword [ecx + 0x28]
jb 0x48bef0
mov edi, dword [ebp - 0x508]
push 0x5fd69c
lea ecx, [ebp - 0x17c]
call fcn.0042f3a0
mov ecx, dword [ebp - 0x498]
lea eax, [ebp - 0x17c]
push eax
call fcn.004a5bb0
lea ecx, [ebp - 0x17c]
mov esi, eax
call fcn.0042f9a0
test esi, esi
je 0x48c35e
push 0x5fd69c
lea ecx, [ebp - 0x1ac]
call fcn.0042f3a0
mov ecx, dword [ebp - 0x498]
lea eax, [ebp - 0x1ac]
push eax
mov byte [ebp - 4], 0xc
call fcn.00487030
lea ecx, [ebp - 0x88]
push dword [eax]
lea eax, [ebp - 0x410]
push eax
call fcn.004802f0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xa
call fcn.0042f9a0
mov esi, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x49c], ecx
mov eax, 0x38e38e39
mov ecx, dword [edi + 4]
sub ecx, esi
mov dword [ebp - 0x490], esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48c35e
mov eax, dword [ebp - 0x88]
lea edx, [esi + 0x20]
lea edi, [eax + 2]
lea esi, [eax + 8]
lea ecx, [eax + 4]
nop word [eax + eax]
mov eax, dword [ebp - 0x80]
movss xmm4, dword [0x5feafc]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48c049
movsx eax, byte [edi - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48c163
cmp eax, 0x1401
jne 0x48c06c
movzx eax, byte [edi - 2]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48c16b
cmp eax, 0x1402
jne 0x48c097
movsx eax, word [ecx - 4]
movss xmm5, dword [0x5feb04]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48c173
cmp eax, 0x1403
jne 0x48c0ca
movzx eax, word [ecx - 4]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48c17b
cmp eax, 0x1404
jne 0x48c102
movd xmm0, dword [esi - 8]
movss xmm6, dword [0x5feaac]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48c183
cmp eax, 0x1405
jne 0x48c152
mov eax, dword [esi - 8]
movss xmm7, dword [0x5feaa8]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5feaac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48c18b
cmp eax, 0x1406
jne 0x48c160
movss xmm0, dword [esi - 8]
jmp 0x48c163
xorps xmm0, xmm0
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
movss xmm6, dword [0x5feaac]
movss xmm7, dword [0x5feaa8]
mov eax, dword [ebp - 0x80]
movss dword [edx - 8], xmm0
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48c1b1
movsx eax, byte [edi - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48c247
cmp eax, 0x1401
jne 0x48c1c9
movzx eax, byte [edi - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48c247
cmp eax, 0x1402
jne 0x48c1e1
movsx eax, word [ecx - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48c247
cmp eax, 0x1403
jne 0x48c1f9
movzx eax, word [ecx - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48c247
cmp eax, 0x1404
jne 0x48c20e
movd xmm0, dword [esi - 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48c247
cmp eax, 0x1405
jne 0x48c236
mov eax, dword [esi - 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48c247
cmp eax, 0x1406
jne 0x48c244
movss xmm0, dword [esi - 4]
jmp 0x48c247
xorps xmm0, xmm0
mov eax, dword [ebp - 0x80]
movss dword [edx - 4], xmm0
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48c26c
movsx eax, byte [edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48c2fc
cmp eax, 0x1401
jne 0x48c283
movzx eax, byte [edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48c2fc
cmp eax, 0x1402
jne 0x48c29a
movsx eax, word [ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48c2fc
cmp eax, 0x1403
jne 0x48c2b1
movzx eax, word [ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48c2fc
cmp eax, 0x1404
jne 0x48c2c5
movd xmm0, dword [esi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48c2fc
cmp eax, 0x1405
jne 0x48c2ec
mov eax, dword [esi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48c2fc
cmp eax, 0x1406
jne 0x48c2f9
movss xmm0, dword [esi]
jmp 0x48c2fc
xorps xmm0, xmm0
mulss xmm0, dword [0x5eeb5c]
add ecx, 6
mov eax, dword [ebp - 0x508]
add edi, 3
inc dword [ebp - 0x49c]
add esi, 0xc
mov dword [ebp - 0x4bc], ecx
movss dword [edx], xmm0
add edx, 0x48
mov ecx, dword [eax + 4]
mov eax, 0x38e38e39
sub ecx, dword [ebp - 0x490]
mov dword [ebp - 0x4c0], edx
imul ecx
mov ecx, dword [ebp - 0x4bc]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x4c0]
cmp dword [ebp - 0x49c], eax
jb 0x48c020
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
push str.TEXCOORD_0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0x11c], xmm0
call fcn.0042e940
mov edi, dword [ebp - 0x498]
lea eax, [ebp - 0x11c]
push eax
push eax
lea eax, [ebp - 0x87c]
mov ecx, edi
push eax
call fcn.0042eba0
mov ecx, edi
mov eax, dword [eax + 8]
push eax
call fcn.00477d90
lea ecx, [ebp - 0x11c]
mov byte [ebp - 0x489], al
call fcn.0042f9a0
cmp byte [ebp - 0x489], 0
je 0x48c87d
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
push str.TEXCOORD_0
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xa8], 0
movups xmmword [ebp - 0xbc], xmm0
call fcn.0042e940
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x67c]
mov ecx, edi
push eax
call fcn.0042eba0
mov esi, dword [ebp - 0x674]
lea eax, [ebp - 0xbc]
push eax
push esi
mov ecx, edi
call fcn.00477d90
test al, al
jne 0x48c4e7
cmp dword [edi + 4], 0x5d1745d
je 0x490339
mov eax, dword [edi]
lea esi, [ebp - 0xbc]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x54c], edi
push 1
mov ecx, edi
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x548], 0
call fcn.004a4d40
push esi
mov dword [ebp - 0x548], eax
lea edi, [eax + 0x10]
mov ecx, edi
call fcn.0047ec20
mov ecx, dword [ebp - 0x490]
mov dword [edi + 0x18], 0
mov eax, dword [ebp - 0x548]
mov dword [eax], ecx
mov eax, dword [ebp - 0x548]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x548]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x548]
mov ecx, dword [ebp - 0x498]
mov byte [eax + 0xc], 0
mov eax, dword [ebp - 0x548]
mov byte [eax + 0xd], 0
mov eax, dword [ebp - 0x548]
push eax
push dword [ebp - 0x678]
mov dword [ebp - 0x548], 0
push dword [ebp - 0x67c]
call fcn.00430530
mov esi, eax
imul esi, dword [esi + 0x28], 0xf0
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x5ac], ecx
mov byte [ebp - 4], 0xa
add esi, dword [ebp - 0x410]
mov dword [ebp - 0x5a8], esi
mov eax, dword [esi]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x3f8]
shl edx, 6
add edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x5a4], edx
imul ecx, dword [edx + 0x18], 0xc8
add eax, ecx
mov ecx, dword [edx + 0x1c]
add ecx, dword [esi + 0x1c]
mov dword [ebp - 0x5a0], eax
mov esi, dword [eax + 0x18]
add esi, ecx
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x5b0], esi
call fcn.0042f9a0
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x49c], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x4ac], eax
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48c87d
xor ecx, ecx
mov eax, 1
sub eax, esi
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x4bc], eax
mov edi, esi
mov edx, ecx
nop dword [eax]
mov eax, dword [ebp - 0x5a8]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48c5fb
movss xmm4, dword [0x5feafc]
lea edx, [ebp - 0x610]
mov dword [ebp - 0x618], 0xbf800000
movsx eax, byte [esi]
movss xmm6, dword [0x5eeb5c]
movd xmm0, eax
lea eax, [ebp - 0x618]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
comiss xmm6, xmm0
movss dword [ebp - 0x610], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48c70d
cmp eax, 0x1401
jne 0x48c62d
movzx eax, byte [esi]
movss xmm2, dword [0x5eeb48]
movss xmm4, dword [0x5feafc]
movss xmm6, dword [0x5eeb5c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48c715
cmp eax, 0x1402
jne 0x48c68f
movss xmm5, dword [0x5feb04]
lea edx, [ebp - 0x620]
mov dword [ebp - 0x61c], 0xbf800000
movsx eax, word [edi]
movss xmm6, dword [0x5eeb5c]
movss xmm2, dword [0x5eeb48]
movss xmm4, dword [0x5feafc]
movd xmm0, eax
lea eax, [ebp - 0x61c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
comiss xmm6, xmm0
movss dword [ebp - 0x620], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48c71d
cmp eax, 0x1403
jne 0x48c6ce
movzx eax, word [edi]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm4, dword [0x5feafc]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5eeb5c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48c725
cmp eax, 0x1406
jne 0x48c6fa
lea eax, [edx + edx]
push eax
lea ecx, [ebp - 0x5b0]
call fcn.0048a460
mov ecx, dword [ebp - 0x494]
fstp dword [ebp - 0x490]
movss xmm0, dword [ebp - 0x490]
jmp 0x48c6fd
xorps xmm0, xmm0
movss xmm6, dword [0x5eeb5c]
movss xmm4, dword [0x5feafc]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
mov eax, dword [ebp - 0x4ac]
movss dword [ecx + eax + 0xc], xmm0
mov eax, dword [ebp - 0x5a8]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48c77d
mov dword [ebp - 0x624], 0xbf800000
lea edx, [ebp - 0x628]
movsx eax, byte [esi + 1]
movd xmm0, eax
lea eax, [ebp - 0x624]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
comiss xmm6, xmm0
movss dword [ebp - 0x628], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48c824
cmp eax, 0x1401
jne 0x48c798
movzx eax, byte [esi + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48c824
cmp eax, 0x1402
jne 0x48c7d8
mov dword [ebp - 0x62c], 0xbf800000
lea edx, [ebp - 0x630]
movsx eax, word [edi + 2]
movd xmm0, eax
lea eax, [ebp - 0x62c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
comiss xmm6, xmm0
movss dword [ebp - 0x630], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48c824
cmp eax, 0x1403
jne 0x48c7f0
movzx eax, word [edi + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48c824
cmp eax, 0x1406
jne 0x48c821
mov eax, dword [ebp - 0x4bc]
lea ecx, [ebp - 0x5b0]
add eax, esi
push eax
call fcn.0048a460
mov ecx, dword [ebp - 0x494]
fstp dword [ebp - 0x490]
movss xmm0, dword [ebp - 0x490]
jmp 0x48c824
xorps xmm0, xmm0
mov eax, dword [ebp - 0x4ac]
add esi, 2
inc dword [ebp - 0x49c]
add edi, 4
movss dword [ecx + eax + 0x10], xmm0
add ecx, 0x48
mov dword [ebp - 0x494], ecx
mov ecx, dword [ebp - 0x508]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov dword [ebp - 0x4ac], eax
mov eax, 0x38e38e39
imul ecx
mov ecx, dword [ebp - 0x494]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x49c]
cmp edx, eax
jb 0x48c5a0
mov ax, word [0x5fd6b4]
xorps xmm0, xmm0
mov edi, dword [ebp - 0x498]
mov ecx, edi
mov esi, dword [str.COLOR_0]
mov word [ebp - 0x58], ax
mov al, byte [0x5fd6b6]
mov byte [ebp - 0x56], al
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x8a0]
movlpd qword [ebp - 0x54], xmm0
push eax
mov dword [ebp - 0x4c], 7
mov dword [ebp - 0x48], 0xf
mov dword [ebp - 0x5c], esi
mov byte [ebp - 0x55], 0
call fcn.0042eba0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x48c8ff
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x5c]
add eax, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x48c8e4
mov eax, dword [eax]
push edx
push eax
push 7
push ecx
call fcn.0042ed50
shr eax, 0x1f
add esp, 0x10
mov byte [ebp - 0x489], 1
test al, al
je 0x48c906
mov byte [ebp - 0x489], 0
cmp byte [ebp - 0x489], 0
mov eax, 0xf
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x5c], 0
je 0x48d12e
push 7
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
push str.COLOR_0
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xd4], xmm0
call fcn.0042e940
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x5fc]
mov ecx, edi
push eax
call fcn.0042eba0
mov esi, dword [ebp - 0x5f4]
lea eax, [ebp - 0xd4]
push eax
push esi
mov ecx, edi
call fcn.00477d90
test al, al
jne 0x48ca3b
cmp dword [edi + 4], 0x5d1745d
je 0x490339
mov eax, dword [edi]
lea esi, [ebp - 0xd4]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x534], edi
push 0x2c
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x530], 0
call fcn.005b2e07
add esp, 4
mov dword [ebp - 0x530], eax
lea edi, [eax + 0x10]
push esi
mov ecx, edi
call fcn.0047ec20
mov ecx, dword [ebp - 0x490]
mov dword [edi + 0x18], 0
mov eax, dword [ebp - 0x530]
mov dword [eax], ecx
mov eax, dword [ebp - 0x530]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x530]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0x498]
mov byte [eax + 0xc], 0
mov eax, dword [ebp - 0x530]
mov byte [eax + 0xd], 0
mov eax, dword [ebp - 0x530]
push eax
push dword [ebp - 0x5f8]
mov dword [ebp - 0x530], 0
push dword [ebp - 0x5fc]
call fcn.00430530
mov esi, eax
imul esi, dword [esi + 0x28], 0xf0
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x49c], edx
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x490], esi
mov eax, dword [esi + edx]
mov esi, dword [esi + edx + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 6
add ecx, dword [ebp - 0x3ec]
imul eax, dword [ecx + 0x18], 0xc8
add esi, dword [ecx + 0x1c]
lea ecx, [ebp - 0xd4]
add eax, dword [ebp - 0x3f8]
add esi, dword [eax + 0x18]
call fcn.0042f9a0
mov eax, dword [ebp - 0x508]
xor edi, edi
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48d128
nop dword [eax]
mov edx, dword [ebp - 0x490]
mov eax, dword [ebp - 0x49c]
movaps xmm0, xmmword [0x5eebc0]
movups xmmword [ebp - 0x4d0], xmm0
mov eax, dword [edx + eax + 0x2c]
cmp eax, 3
jne 0x48cd83
mov eax, dword [ebp - 0x49c]
lea ecx, [edi + edi*2]
mov eax, dword [edx + eax + 0x24]
cmp eax, 0x1400
jne 0x48cb3f
movsx eax, byte [esi + ecx]
movss xmm1, dword [0x5feafc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, byte [ecx + esi + 1]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, byte [ecx + esi + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 0x1401
jne 0x48cb9a
movzx eax, byte [esi + ecx]
movss xmm1, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [ecx + esi + 1]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [ecx + esi + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 0x1402
jne 0x48cbf5
movsx eax, word [esi + ecx*2]
movss xmm1, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, word [esi + ecx*2 + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, word [esi + ecx*2 + 4]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 0x1403
jne 0x48cc50
movzx eax, word [esi + ecx*2]
movss xmm1, dword [0x5feb08]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [esi + ecx*2 + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [esi + ecx*2 + 4]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 0x1404
jne 0x48cca2
movd xmm0, dword [esi + ecx*4]
movss xmm1, dword [0x5feaac]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, dword [esi + ecx*4 + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, dword [esi + ecx*4 + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 0x1405
jne 0x48cd2e
mov eax, dword [esi + ecx*4]
xorps xmm0, xmm0
movss xmm1, dword [0x5feaa8]
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
mov eax, dword [esi + ecx*4 + 4]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
mov eax, dword [esi + ecx*4 + 8]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 0x1406
jne 0x48cd63
movss xmm0, dword [esi + ecx*4]
movss dword [ebp - 0x4d0], xmm0
movss xmm0, dword [esi + ecx*4 + 4]
movss dword [ebp - 0x4cc], xmm0
movss xmm0, dword [esi + ecx*4 + 8]
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
xorps xmm0, xmm0
movss dword [ebp - 0x4d0], xmm0
movss dword [ebp - 0x4cc], xmm0
movss dword [ebp - 0x4c8], xmm0
jmp 0x48d0ab
cmp eax, 4
jne 0x48d0ab
mov eax, dword [ebp - 0x49c]
lea ecx, [edi*4]
mov eax, dword [edx + eax + 0x24]
cmp eax, 0x1400
jne 0x48ce08
movsx eax, byte [esi + ecx]
movss xmm1, dword [0x5feafc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, byte [esi + ecx + 1]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, byte [esi + ecx + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, byte [esi + ecx + 3]
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48d0a3
cmp eax, 0x1401
jne 0x48ce73
movzx eax, byte [esi + ecx]
movss xmm1, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [esi + ecx + 1]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [esi + ecx + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [esi + ecx + 3]
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48d0a3
cmp eax, 0x1402
jne 0x48cede
movsx eax, word [esi + ecx*2]
movss xmm1, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, word [esi + ecx*2 + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, word [esi + ecx*2 + 4]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, word [esi + ecx*2 + 6]
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48d0a3
cmp eax, 0x1403
jne 0x48cf49
movzx eax, word [esi + ecx*2]
movss xmm1, dword [0x5feb08]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [esi + ecx*2 + 2]
divss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [esi + ecx*2 + 4]
divss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [esi + ecx*2 + 6]
divss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48d0a3
cmp eax, 0x1404
jne 0x48cfa8
movd xmm0, dword [esi + ecx*4]
movss xmm1, dword [0x5feaac]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
movd xmm0, dword [esi + ecx*4 + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
movd xmm0, dword [esi + ecx*4 + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
movd xmm0, dword [esi + ecx*4 + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
jmp 0x48d0a3
cmp eax, 0x1405
jne 0x48d050
mov eax, dword [esi + ecx*4]
xorps xmm0, xmm0
movss xmm1, dword [0x5feaa8]
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
mov eax, dword [esi + ecx*4 + 4]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4d0], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
mov eax, dword [esi + ecx*4 + 8]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4cc], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
mov eax, dword [esi + ecx*4 + 0xc]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x4c8], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
jmp 0x48d0a3
cmp eax, 0x1406
jne 0x48d088
movss xmm0, dword [esi + ecx*4]
movss dword [ebp - 0x4d0], xmm0
movss xmm0, dword [esi + ecx*4 + 4]
movss dword [ebp - 0x4cc], xmm0
movss xmm0, dword [esi + ecx*4 + 8]
movss dword [ebp - 0x4c8], xmm0
movss xmm0, dword [esi + ecx*4 + 0xc]
jmp 0x48d0a3
xorps xmm0, xmm0
movss dword [ebp - 0x4d0], xmm0
movss dword [ebp - 0x4cc], xmm0
movss dword [ebp - 0x4c8], xmm0
movss dword [ebp - 0x4c4], xmm0
movups xmm0, xmmword [ebp - 0x4d0]
mov eax, dword [ebp - 0x508]
lea edx, [edi + edi*8]
inc edi
maxps xmm0, xmmword [0x5f9be0]
minps xmm0, xmmword [0x5f3930]
mulps xmm0, xmmword [0x5f9c10]
cvttps2dq xmm0, xmm0
andps xmm0, xmmword [0x5f9c20]
pshufd xmm1, xmm0, 0xee
orps xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm0
orps xmm0, xmm1
movss dword [ebp - 0x634], xmm0
mov ecx, dword [eax]
mov eax, dword [ebp - 0x634]
mov dword [ecx + edx*8 + 0x14], eax
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x48cab0
mov edi, dword [ebp - 0x498]
mov ecx, dword [ebp - 0x3a0]
mov eax, 0xb21642c9
sub ecx, dword [ebp - 0x3a4]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48de90
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x94], 8
push eax
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0xf
movups xmmword [ebp - 0xa4], xmm0
lea eax, [ebp - 0x894]
mov dword [ebp - 0xa4], 0x4e494f4a
push eax
mov ecx, edi
mov dword [ebp - 0xa0], 0x305f5354
mov byte [ebp - 0x9c], 0
call fcn.0042eba0
mov ecx, edi
mov eax, dword [eax + 8]
push eax
call fcn.00477d90
lea ecx, [ebp - 0xa4]
mov byte [ebp - 0x489], al
call fcn.0042f9a0
cmp byte [ebp - 0x489], 0
je 0x48d5b0
mov eax, dword [ebp - 0x4b0]
xorps xmm0, xmm0
mov edi, 0xf
mov byte [eax + 0x114], 1
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x44], 0x4e494f4a
mov dword [ebp - 0x40], 0x305f5354
mov byte [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x498]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x5ec]
mov byte [ebp - 4], 0x11
push eax
call fcn.0042eba0
mov esi, dword [ebp - 0x5e4]
cmp byte [esi + 0xd], 0
jne 0x48d24e
lea eax, [esi + 0x10]
lea ecx, [ebp - 0x44]
mov edx, dword [eax + 0x10]
cmp dword [eax + 0x14], edi
jbe 0x48d236
mov eax, dword [eax]
push edx
push eax
push 8
push ecx
call fcn.0042ed50
shr eax, 0x1f
add esp, 0x10
test al, al
je 0x48d303
mov ecx, dword [ebp - 0x498]
cmp dword [ecx + 4], 0x5d1745d
je 0x490339
mov eax, dword [ecx]
lea esi, [ebp - 0x44]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x53c], ecx
push 0x2c
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x538], 0
call fcn.005b2e07
add esp, 4
mov dword [ebp - 0x538], eax
lea edi, [eax + 0x10]
push esi
mov ecx, edi
call fcn.0047ec20
mov ecx, dword [ebp - 0x490]
mov dword [edi + 0x18], 0
mov eax, dword [ebp - 0x538]
mov dword [eax], ecx
mov eax, dword [ebp - 0x538]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x538]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x498]
mov byte [eax + 0xc], 0
mov eax, dword [ebp - 0x538]
mov byte [eax + 0xd], 0
mov eax, dword [ebp - 0x538]
push eax
push dword [ebp - 0x5e8]
mov dword [ebp - 0x538], 0
push dword [ebp - 0x5ec]
call fcn.00430530
mov edi, dword [ebp - 0x30]
mov esi, eax
imul edx, dword [esi + 0x28], 0xf0
mov byte [ebp - 4], 0xa
add edx, dword [ebp - 0x410]
mov dword [ebp - 0x49c], edx
mov eax, dword [edx]
mov esi, dword [edx + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 6
add ecx, dword [ebp - 0x3ec]
imul eax, dword [ecx + 0x18], 0xc8
add esi, dword [ecx + 0x1c]
add eax, dword [ebp - 0x3f8]
add esi, dword [eax + 0x18]
mov dword [ebp - 0x4bc], esi
cmp edi, 0xf
jbe 0x48d359
push edi
push dword [ebp - 0x44]
lea eax, [ebp - 0x44]
push eax
call fcn.00444510
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x494], ecx
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x490], eax
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48d5aa
mov ecx, dword [ebp - 0x4bc]
lea edi, [esi + 2]
add esi, 8
mov dword [ebp - 0x4ac], 0
add ecx, 4
mov dword [ebp - 0x4a0], ecx
nop dword [eax]
mov eax, dword [ebp - 0x49c]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48d3d6
movsx eax, byte [edi - 2]
jmp 0x48d417
cmp eax, 0x1401
jne 0x48d3e3
movzx eax, byte [edi - 2]
jmp 0x48d417
cmp eax, 0x1402
jne 0x48d3f0
movsx eax, word [ecx - 4]
jmp 0x48d417
cmp eax, 0x1403
jne 0x48d3fd
movzx eax, word [ecx - 4]
jmp 0x48d417
cmp eax, 0x1404
jne 0x48d409
mov eax, dword [esi - 8]
jmp 0x48d417
cmp eax, 0x1405
jne 0x48d415
mov eax, dword [esi - 8]
jmp 0x48d417
xor eax, eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ebp - 0x490]
mov word [ecx + edx + 0x30], ax
mov eax, dword [ebp - 0x49c]
mov ecx, dword [ebp - 0x4a0]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48d444
movsx eax, byte [edi - 1]
jmp 0x48d485
cmp eax, 0x1401
jne 0x48d451
movzx eax, byte [edi - 1]
jmp 0x48d485
cmp eax, 0x1402
jne 0x48d45e
movsx eax, word [ecx - 2]
jmp 0x48d485
cmp eax, 0x1403
jne 0x48d46b
movzx eax, word [ecx - 2]
jmp 0x48d485
cmp eax, 0x1404
jne 0x48d477
mov eax, dword [esi - 4]
jmp 0x48d485
cmp eax, 0x1405
jne 0x48d483
mov eax, dword [esi - 4]
jmp 0x48d485
xor eax, eax
mov ecx, dword [ebp - 0x4ac]
mov word [ecx + edx + 0x32], ax
mov eax, dword [ebp - 0x49c]
mov ecx, dword [ebp - 0x4a0]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48d4ab
movsx eax, byte [edi]
jmp 0x48d4e7
cmp eax, 0x1401
jne 0x48d4b7
movzx eax, byte [edi]
jmp 0x48d4e7
cmp eax, 0x1402
jne 0x48d4c3
movsx eax, word [ecx]
jmp 0x48d4e7
cmp eax, 0x1403
jne 0x48d4cf
movzx eax, word [ecx]
jmp 0x48d4e7
cmp eax, 0x1404
jne 0x48d4da
mov eax, dword [esi]
jmp 0x48d4e7
cmp eax, 0x1405
jne 0x48d4e5
mov eax, dword [esi]
jmp 0x48d4e7
xor eax, eax
mov ecx, dword [ebp - 0x4ac]
mov word [ecx + edx + 0x34], ax
mov eax, dword [ebp - 0x49c]
mov ecx, dword [ebp - 0x4a0]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48d50e
movsx eax, byte [edi + 1]
jmp 0x48d54f
cmp eax, 0x1401
jne 0x48d51b
movzx eax, byte [edi + 1]
jmp 0x48d54f
cmp eax, 0x1402
jne 0x48d528
movsx eax, word [ecx + 2]
jmp 0x48d54f
cmp eax, 0x1403
jne 0x48d535
movzx eax, word [ecx + 2]
jmp 0x48d54f
cmp eax, 0x1404
jne 0x48d541
mov eax, dword [esi + 4]
jmp 0x48d54f
cmp eax, 0x1405
jne 0x48d54d
mov eax, dword [esi + 4]
jmp 0x48d54f
xor eax, eax
mov ecx, dword [ebp - 0x4ac]
add edi, 4
add dword [ebp - 0x4a0], 8
add esi, 0x10
inc dword [ebp - 0x494]
add dword [ebp - 0x4ac], 0x48
mov word [ecx + edx + 0x36], ax
mov ecx, dword [ebp - 0x508]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov dword [ebp - 0x490], eax
mov eax, 0x38e38e39
imul ecx
mov ecx, dword [ebp - 0x4a0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x494], eax
jb 0x48d3c0
mov edi, dword [ebp - 0x498]
mov al, byte [0x5fd6c0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x74], xmm0
mov esi, 0xf
mov byte [ebp - 0x6c], al
movq xmm0, qword [str.WEIGHTS_0]
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x888]
mov dword [ebp - 0x64], 9
push eax
mov ecx, edi
mov dword [ebp - 0x60], esi
movq qword [ebp - 0x74], xmm0
mov byte [ebp - 0x6b], 0
call fcn.0042eba0
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
jne 0x48d625
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x74]
add eax, 0x10
cmp dword [eax + 0x14], esi
jbe 0x48d60a
mov eax, dword [eax]
push edx
push eax
push 9
push ecx
call fcn.0042ed50
shr eax, 0x1f
add esp, 0x10
mov byte [ebp - 0x489], 1
test al, al
je 0x48d62c
mov byte [ebp - 0x489], 0
cmp byte [ebp - 0x489], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], esi
mov byte [ebp - 0x74], 0
je 0x48de90
mov eax, dword [ebp - 0x4b0]
xorps xmm0, xmm0
mov edi, esi
mov byte [eax + 0x114], 1
mov al, byte [0x5fd6c0]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 9
movq xmm0, qword [str.WEIGHTS_0]
mov dword [ebp - 0x18], edi
movq qword [ebp - 0x2c], xmm0
mov byte [ebp - 0x24], al
mov byte [ebp - 0x23], 0
mov ecx, dword [ebp - 0x498]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x5bc]
mov byte [ebp - 4], 0x13
push eax
call fcn.0042eba0
mov esi, dword [ebp - 0x5b4]
cmp byte [esi + 0xd], 0
jne 0x48d6cf
cmp dword [esi + 0x24], 0xf
lea eax, [esi + 0x10]
mov edx, dword [eax + 0x10]
lea ecx, [ebp - 0x2c]
jbe 0x48d6b7
mov eax, dword [eax]
push edx
push eax
push 9
push ecx
call fcn.0042ed50
shr eax, 0x1f
add esp, 0x10
test al, al
je 0x48d7a5
mov eax, dword [ebp - 0x498]
cmp dword [eax + 4], 0x5d1745d
je 0x490339
mov edi, dword [eax]
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x544], eax
push 0x2c
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x540], 0
call fcn.005b2e07
mov dword [ebp - 0x540], eax
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x498]
add esp, 4
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
movups xmm0, xmmword [esi]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + 0x20], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [eax + 0x28], 0
mov eax, dword [ebp - 0x540]
mov dword [eax], edi
mov eax, dword [ebp - 0x540]
mov dword [eax + 4], edi
mov eax, dword [ebp - 0x540]
mov dword [eax + 8], edi
mov eax, dword [ebp - 0x540]
mov byte [eax + 0xc], 0
mov eax, dword [ebp - 0x540]
mov byte [eax + 0xd], 0
mov eax, dword [ebp - 0x540]
push eax
push dword [ebp - 0x5b8]
mov dword [ebp - 0x540], 0
push dword [ebp - 0x5bc]
call fcn.00430530
mov edi, dword [ebp - 0x18]
mov esi, eax
imul esi, dword [esi + 0x28], 0xf0
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x4fc], ecx
mov byte [ebp - 4], 0xa
add esi, dword [ebp - 0x410]
mov dword [ebp - 0x4f8], esi
mov eax, dword [esi]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x3f8]
shl edx, 6
add edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x4f4], edx
imul ecx, dword [edx + 0x18], 0xc8
add eax, ecx
mov ecx, dword [edx + 0x1c]
add ecx, dword [esi + 0x1c]
mov dword [ebp - 0x4f0], eax
mov eax, dword [eax + 0x18]
add eax, ecx
mov dword [ebp - 0x500], eax
cmp edi, 0xf
jbe 0x48d835
mov edx, dword [ebp - 0x2c]
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x48d82b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490334
push ecx
push edx
call fcn.005b26d8
add esp, 8
mov eax, dword [ebp - 0x508]
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov edi, dword [eax]
mov dword [ebp - 0x4bc], ecx
mov ecx, dword [eax + 4]
mov eax, 0x38e38e39
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48de90
mov eax, dword [ebp - 0x500]
xor edx, edx
mov dword [ebp - 0x4dc], 1
xorps xmm2, xmm2
sub dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4ac], eax
not dword [ebp - 0x4ac]
lea esi, [eax + 2]
lea ecx, [eax + 4]
mov dword [ebp - 0x49c], 0xfffffffe
sub dword [ebp - 0x49c], eax
mov dword [ebp - 0x490], edx
mov dword [ebp - 0x4c0], 2
mov dword [ebp - 0x494], esi
mov dword [ebp - 0x4a0], ecx
nop dword [eax]
mov eax, dword [ebp - 0x4f8]
add edi, edx
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48d92a
mov dword [ebp - 0x638], 0xbf800000
lea edx, [ebp - 0x640]
movsx eax, byte [esi - 2]
movss xmm4, dword [0x5eeb5c]
movd xmm0, eax
lea eax, [ebp - 0x638]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feafc]
comiss xmm4, xmm0
movss dword [ebp - 0x640], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48da08
cmp eax, 0x1401
jne 0x48d955
movzx eax, byte [esi - 2]
movss xmm1, dword [0x5eeb48]
movss xmm4, dword [0x5eeb5c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48da10
cmp eax, 0x1402
jne 0x48d9ad
movss xmm3, dword [0x5feb04]
lea edx, [ebp - 0x604]
mov dword [ebp - 0x66c], 0xbf800000
movsx eax, word [ecx - 4]
movss xmm4, dword [0x5eeb5c]
movss xmm1, dword [0x5eeb48]
movd xmm0, eax
lea eax, [ebp - 0x66c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
comiss xmm4, xmm0
movss dword [ebp - 0x604], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48da18
cmp eax, 0x1403
jne 0x48d9c9
movzx eax, word [ecx - 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb08]
jmp 0x48da00
cmp eax, 0x1406
jne 0x48d9fd
mov eax, dword [ebp - 0x49c]
lea ecx, [ebp - 0x500]
add eax, esi
push eax
call fcn.0048a460
mov ecx, dword [ebp - 0x4a0]
xorps xmm2, xmm2
fstp dword [ebp - 0x4a8]
movss xmm0, dword [ebp - 0x4a8]
jmp 0x48da00
movaps xmm0, xmm2
movss xmm4, dword [0x5eeb5c]
movss xmm1, dword [0x5eeb48]
movss xmm3, dword [0x5feb04]
mov eax, dword [ebp - 0x4f8]
movss dword [edi + 0x38], xmm0
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48da71
movss xmm2, dword [0x5feafc]
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x608], 0xbf800000
movsx eax, byte [esi - 1]
movd xmm0, eax
lea eax, [ebp - 0x608]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
comiss xmm4, xmm0
movss dword [ebp - 0x60c], xmm0
cmovbe eax, ecx
movss xmm0, dword [eax]
jmp 0x48db2a
cmp eax, 0x1401
jne 0x48da8c
movzx eax, byte [esi - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48db22
cmp eax, 0x1402
jne 0x48dacc
mov dword [ebp - 0x668], 0xbf800000
movsx eax, word [ecx - 2]
lea ecx, [ebp - 0x664]
movd xmm0, eax
lea eax, [ebp - 0x668]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
comiss xmm4, xmm0
movss dword [ebp - 0x664], xmm0
cmovbe eax, ecx
movss xmm0, dword [eax]
jmp 0x48db22
cmp eax, 0x1403
jne 0x48daf4
movzx eax, word [ecx - 2]
movss xmm1, dword [0x5feb08]
movss xmm2, dword [0x5feafc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48db32
cmp eax, 0x1406
jne 0x48db1f
mov eax, dword [ebp - 0x4ac]
lea ecx, [ebp - 0x500]
add eax, esi
push eax
call fcn.0048a460
fstp dword [ebp - 0x4a8]
movss xmm0, dword [ebp - 0x4a8]
jmp 0x48db22
movaps xmm0, xmm2
movss xmm2, dword [0x5feafc]
movss xmm1, dword [0x5feb08]
mov eax, dword [ebp - 0x4f8]
movss dword [edi + 0x3c], xmm0
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48db8a
mov dword [ebp - 0x660], 0xbf800000
lea ecx, [ebp - 0x65c]
movsx eax, byte [esi]
movss xmm4, dword [0x5eeb5c]
movd xmm0, eax
lea eax, [ebp - 0x660]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
comiss xmm4, xmm0
movss dword [ebp - 0x65c], xmm0
cmovbe eax, ecx
movss xmm0, dword [eax]
jmp 0x48dc74
cmp eax, 0x1401
jne 0x48dbb4
movzx eax, byte [esi]
movss xmm2, dword [0x5eeb48]
movss xmm4, dword [0x5eeb5c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48dc7c
cmp eax, 0x1402
jne 0x48dc14
mov ecx, dword [ebp - 0x4a0]
lea edx, [ebp - 0x654]
movss xmm3, dword [0x5feb04]
mov dword [ebp - 0x658], 0xbf800000
movss xmm4, dword [0x5eeb5c]
movsx eax, word [ecx]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
lea eax, [ebp - 0x658]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
comiss xmm4, xmm0
movss dword [ebp - 0x654], xmm0
cmovbe eax, edx
movss xmm0, dword [eax]
jmp 0x48dc8a
cmp eax, 0x1403
jne 0x48dc41
mov ecx, dword [ebp - 0x4a0]
movss xmm2, dword [0x5eeb48]
movss xmm4, dword [0x5eeb5c]
movzx eax, word [ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
jmp 0x48dc82
cmp eax, 0x1406
jne 0x48dc69
push dword [ebp - 0x4c0]
lea ecx, [ebp - 0x500]
call fcn.0048a460
fstp dword [ebp - 0x4a8]
movss xmm0, dword [ebp - 0x4a8]
jmp 0x48dc6c
xorps xmm0, xmm0
movss xmm4, dword [0x5eeb5c]
movss xmm2, dword [0x5eeb48]
mov ecx, dword [ebp - 0x4a0]
movss xmm3, dword [0x5feb04]
mov eax, dword [ebp - 0x4f8]
lea esi, [edi + 0x40]
movss dword [esi], xmm0
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48dce7
mov eax, dword [ebp - 0x494]
lea ecx, [ebp - 0x64c]
mov dword [ebp - 0x650], 0xbf800000
movsx eax, byte [eax + 1]
movd xmm0, eax
lea eax, [ebp - 0x650]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feafc]
comiss xmm4, xmm0
movss dword [ebp - 0x64c], xmm0
cmovbe eax, ecx
movss xmm0, dword [eax]
jmp 0x48dd96
cmp eax, 0x1401
jne 0x48dd08
mov eax, dword [ebp - 0x494]
movzx eax, byte [eax + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48dd96
cmp eax, 0x1402
jne 0x48dd48
mov dword [ebp - 0x648], 0xbf800000
movsx eax, word [ecx + 2]
lea ecx, [ebp - 0x644]
movd xmm0, eax
lea eax, [ebp - 0x648]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
comiss xmm4, xmm0
movss dword [ebp - 0x644], xmm0
cmovbe eax, ecx
movss xmm0, dword [eax]
jmp 0x48dd96
cmp eax, 0x1403
jne 0x48dd64
movzx eax, word [ecx + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb08]
jmp 0x48dd96
cmp eax, 0x1406
jne 0x48dd93
mov eax, dword [ebp - 0x494]
lea ecx, [ebp - 0x500]
add eax, dword [ebp - 0x4dc]
push eax
call fcn.0048a460
fstp dword [ebp - 0x4a8]
movss xmm0, dword [ebp - 0x4a8]
jmp 0x48dd96
xorps xmm0, xmm0
movss dword [edi + 0x44], xmm0
xorps xmm2, xmm2
movss xmm0, dword [edi + 0x38]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x48ddb3
mov dword [edi + 0x38], 0x3f800000
xor edx, edx
xor ecx, ecx
nop word [eax + eax]
movss xmm0, dword [edi + ecx*4 + 0x38]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x48ddd6
inc ecx
inc edx
cmp ecx, 4
jb 0x48ddc0
lea ecx, [edx - 1]
xor eax, eax
movaps xmm1, xmm2
cmp ecx, 4
jl 0x48de0f
add ecx, 0xfffffffc
shr ecx, 2
inc ecx
lea eax, [ecx*4]
addss xmm1, dword [esi - 8]
addss xmm1, dword [esi - 4]
addss xmm1, dword [esi]
addss xmm1, dword [esi + 4]
add esi, 0x10
sub ecx, 1
jne 0x48ddf1
lea ecx, [edx - 1]
cmp eax, ecx
jge 0x48de1e
addss xmm1, dword [edi + eax*4 + 0x38]
inc eax
cmp eax, ecx
jl 0x48de13
movss xmm0, dword [0x5eeaf4]
mov eax, dword [ebp - 0x508]
subss xmm0, xmm1
mov esi, dword [ebp - 0x494]
inc dword [ebp - 0x4bc]
add esi, 4
add dword [ebp - 0x490], 0x48
add dword [ebp - 0x4a0], 8
add dword [ebp - 0x4c0], 4
movss dword [edi + edx*4 + 0x34], xmm0
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x38e38e39
mov dword [ebp - 0x494], esi
imul ecx
mov ecx, dword [ebp - 0x4a0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x490]
cmp dword [ebp - 0x4bc], eax
jb 0x48d8d0
mov eax, dword [ebp - 0x498]
mov edi, dword [ebp - 0x508]
imul edx, dword [eax + 0xc], 0xf0
add edx, dword [ebp - 0x410]
mov dword [ebp - 0x4bc], edx
mov eax, dword [edx]
mov esi, dword [edx + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 6
add ecx, dword [ebp - 0x3ec]
imul eax, dword [ecx + 0x18], 0xc8
add esi, dword [ecx + 0x1c]
add eax, dword [ebp - 0x3f8]
add esi, dword [eax + 0x18]
mov eax, 0xaaaaaaab
mul dword [edx + 0x28]
mov eax, dword [edi + 0x10]
mov ecx, eax
sub ecx, dword [edi + 0xc]
mov dword [ebp - 0x490], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x4c0], esi
mov esi, edx
imul ecx
shr esi, 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x4a8], eax
cmp esi, eax
jae 0x48df18
mov edx, dword [edi + 0xc]
lea eax, [esi + esi*2]
lea eax, [edx + eax*4]
jmp 0x48df75
jbe 0x48df78
mov ecx, dword [edi + 0x14]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0xc]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jbe 0x48df46
lea eax, [ebp - 0x489]
push eax
push esi
lea ecx, [edi + 0xc]
call fcn.004793a0
jmp 0x48df78
sub esi, dword [ebp - 0x4a8]
je 0x48df6f
lea esi, [esi + esi*2]
shl esi, 2
push esi
push 0
push dword [ebp - 0x490]
call fcn.005b4c50
mov eax, dword [ebp - 0x490]
add esp, 0xc
add eax, esi
jmp 0x48df75
mov eax, dword [ebp - 0x490]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0xc]
xor ecx, ecx
mov dword [ebp - 0x490], ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x4dc], eax
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48e14b
mov edx, dword [ebp - 0x4c0]
xor ecx, ecx
mov dword [ebp - 0x494], ecx
lea edi, [edx + 2]
lea esi, [edx + 8]
add edx, 4
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4bc]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48dfd7
movsx eax, byte [edi - 2]
jmp 0x48e018
cmp eax, 0x1401
jne 0x48dfe4
movzx eax, byte [edi - 2]
jmp 0x48e018
cmp eax, 0x1402
jne 0x48dff1
movsx eax, word [edx - 4]
jmp 0x48e018
cmp eax, 0x1403
jne 0x48dffe
movzx eax, word [edx - 4]
jmp 0x48e018
cmp eax, 0x1404
jne 0x48e00a
mov eax, dword [esi - 8]
jmp 0x48e018
cmp eax, 0x1405
jne 0x48e016
mov eax, dword [esi - 8]
jmp 0x48e018
xor eax, eax
mov edx, dword [ebp - 0x4dc]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x4bc]
mov edx, dword [ebp - 0x4c0]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48e03d
movsx ecx, byte [edi - 1]
jmp 0x48e07e
cmp eax, 0x1401
jne 0x48e04a
movzx ecx, byte [edi - 1]
jmp 0x48e07e
cmp eax, 0x1402
jne 0x48e057
movsx ecx, word [edx - 2]
jmp 0x48e07e
cmp eax, 0x1403
jne 0x48e064
movzx ecx, word [edx - 2]
jmp 0x48e07e
cmp eax, 0x1404
jne 0x48e070
mov ecx, dword [esi - 4]
jmp 0x48e07e
cmp eax, 0x1405
jne 0x48e07c
mov ecx, dword [esi - 4]
jmp 0x48e07e
xor ecx, ecx
mov eax, dword [ebp - 0x508]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x494]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x4bc]
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48e0a5
movsx ecx, byte [edi]
jmp 0x48e0e1
cmp eax, 0x1401
jne 0x48e0b1
movzx ecx, byte [edi]
jmp 0x48e0e1
cmp eax, 0x1402
jne 0x48e0bd
movsx ecx, word [edx]
jmp 0x48e0e1
cmp eax, 0x1403
jne 0x48e0c9
movzx ecx, word [edx]
jmp 0x48e0e1
cmp eax, 0x1404
jne 0x48e0d4
mov ecx, dword [esi]
jmp 0x48e0e1
cmp eax, 0x1405
jne 0x48e0df
mov ecx, dword [esi]
jmp 0x48e0e1
xor ecx, ecx
mov eax, dword [ebp - 0x508]
add edx, 6
inc dword [ebp - 0x490]
add edi, 3
mov dword [ebp - 0x4c0], edx
add esi, 0xc
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x494]
add dword [ebp - 0x494], 0xc
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x508]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
sub ecx, eax
mov dword [ebp - 0x4dc], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x494]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x4c0]
cmp dword [ebp - 0x490], eax
jb 0x48dfc1
mov esi, dword [ebp - 0x504]
mov byte [ebp - 4], 9
test esi, esi
je 0x48e17e
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x48e17e
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax]
call eax
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x48e17e
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x4b8]
mov esi, dword [ebp - 0x3d4]
mov ecx, dword [esi + eax + 0x1c]
sub ecx, dword [esi + eax + 0x18]
mov eax, 0x30c30c31
mov edi, dword [ebp - 0x4b4]
imul ecx
inc edi
sar edx, 5
mov eax, edx
mov dword [ebp - 0x4b4], edi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x48be00
mov byte [ebp - 0x514], 0
push dword [ebp - 0x514]
push dword [ebp - 0x51c]
push dword [ebp - 0x520]
call fcn.0047e880
mov eax, dword [ebp - 0x51c]
add esp, 0xc
mov ecx, dword [ebp - 0x4b0]
sub eax, dword [ebp - 0x520]
sar eax, 3
push eax
lea ecx, [ecx + 0x108]
call fcn.004aae00
mov ecx, dword [ebp - 0x51c]
xor edx, edx
mov edi, dword [ebp - 0x520]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x4b4], edi
sar eax, 3
test eax, eax
je 0x48e257
xor esi, esi
nop dword [eax + eax]
mov eax, dword [edi + edx*8]
lea esi, [esi + 0xc]
inc edx
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x4b0]
mov eax, dword [eax + 0x108]
mov dword [eax + esi - 0xc], ecx
mov ecx, dword [ebp - 0x51c]
mov eax, ecx
mov edi, dword [ebp - 0x520]
sub eax, edi
sar eax, 3
cmp edx, eax
jb 0x48e220
mov dword [ebp - 0x4b4], edi
mov eax, ecx
mov dword [ebp - 0x4a0], 0
sub eax, edi
xor esi, esi
sar eax, 3
mov dword [ebp - 0x4ac], esi
test eax, eax
je 0x48e5e2
mov dword [ebp - 0x490], esi
nop
mov eax, dword [edi + esi*8]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x4a8], eax
cmp eax, 1
jb 0x48e3bd
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax + 0xf4]
mov eax, dword [eax + 0xf0]
sub ecx, eax
mov dword [ebp - 0x4bc], eax
mov eax, 0x38e38e39
imul ecx
mov eax, dword [ebp - 0x4a8]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add eax, ecx
mov dword [ebp - 0x4c0], ecx
mov dword [ebp - 0x4a8], eax
cmp eax, ecx
jae 0x48e2f9
mov edx, dword [ebp - 0x4bc]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
jmp 0x48e361
jbe 0x48e36d
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [eax + 0xf8]
mov eax, 0x38e38e39
sub ecx, dword [ebp - 0x4bc]
imul ecx
mov ecx, dword [ebp - 0x4a8]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jbe 0x48e343
lea eax, [ebp - 0x489]
push eax
push ecx
mov ecx, dword [ebp - 0x4b0]
lea ecx, [ecx + 0xf0]
call fcn.00479660
jmp 0x48e36d
mov eax, dword [ebp - 0x4b0]
sub ecx, dword [ebp - 0x4c0]
add eax, 0xf0
push eax
push ecx
push dword [eax + 4]
call fcn.0047a010
add esp, 0xc
mov edx, dword [ebp - 0x4b0]
mov dword [edx + 0xf4], eax
mov eax, dword [edi + esi*8]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x38e38e39
sub ecx, edi
imul ecx
mov eax, dword [ebp - 0x4c0]
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
lea ecx, [eax + eax*8]
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx + 0xf0]
lea ecx, [eax + ecx*8]
lea eax, [esi + esi*8]
shl eax, 3
push eax
push edi
push ecx
call fcn.005b46d0
mov edi, dword [ebp - 0x4b4]
add esp, 0xc
mov esi, dword [ebp - 0x4ac]
mov esi, dword [edi + esi*8]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x4a8], eax
cmp eax, 1
jb 0x48e563
mov esi, dword [ebp - 0x4b0]
mov eax, 0x2aaaaaab
add esi, 0xfc
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
mov eax, dword [ebp - 0x4a8]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add eax, ecx
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x4a8], eax
cmp eax, ecx
jae 0x48e428
mov edx, dword [esi]
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
jmp 0x48e46d
jbe 0x48e470
mov ecx, dword [esi + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [esi]
imul ecx
mov ecx, dword [ebp - 0x4a8]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jbe 0x48e45a
lea eax, [ebp - 0x489]
push eax
push ecx
mov ecx, esi
call fcn.004793a0
jmp 0x48e470
sub ecx, dword [ebp - 0x4bc]
push esi
push ecx
push dword [esi + 4]
call fcn.00479fa0
add esp, 0xc
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x4ac]
xor ecx, ecx
mov dword [ebp - 0x4b4], ecx
mov eax, 0x2aaaaaab
mov esi, dword [edi + esi*8]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48e563
mov eax, dword [ebp - 0x4bc]
xor ecx, ecx
mov dword [ebp - 0x494], ecx
lea edx, [eax + eax*2]
shl edx, 2
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0x4b0]
inc dword [ebp - 0x4b4]
mov ecx, dword [eax + ecx]
add ecx, dword [ebp - 0x4a0]
mov eax, dword [esi + 0xfc]
mov dword [eax + edx], ecx
mov eax, dword [ebp - 0x4ac]
mov eax, dword [edi + eax*8]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x494]
mov ecx, dword [eax + 4]
add ecx, dword [ebp - 0x4a0]
mov eax, dword [esi + 0xfc]
mov dword [eax + edx + 4], ecx
mov eax, dword [ebp - 0x4ac]
mov eax, dword [edi + eax*8]
mov eax, dword [eax + 0xc]
add eax, dword [ebp - 0x494]
add dword [ebp - 0x494], 0xc
mov ecx, dword [eax + 8]
mov eax, dword [esi + 0xfc]
add ecx, dword [ebp - 0x4a0]
mov dword [eax + edx + 8], ecx
add edx, 0xc
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4a8], edx
mov esi, dword [edi + eax*8]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
imul ecx
mov ecx, dword [ebp - 0x494]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x4a8]
cmp dword [ebp - 0x4b4], eax
jb 0x48e4b1
mov ecx, dword [esi + 0x10]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0xc]
imul ecx
mov eax, dword [ebp - 0x4b0]
sar edx, 1
mov esi, edx
shr esi, 0x1f
mov ecx, dword [eax + 0x108]
add esi, edx
add ecx, dword [ebp - 0x490]
add dword [ebp - 0x490], 0xc
add dword [ecx + 8], esi
mov esi, dword [ebp - 0x4ac]
mov eax, dword [edi + esi*8]
inc esi
mov edi, dword [ebp - 0x520]
mov dword [ebp - 0x4ac], esi
mov dword [ebp - 0x4b4], edi
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x38e38e39
imul ecx
mov ecx, dword [ebp - 0x51c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [ebp - 0x4a0], eax
mov eax, ecx
sub eax, edi
sar eax, 3
cmp esi, eax
jb 0x48e280
cmp edi, ecx
je 0x48e603
lea eax, [ebp - 0x520]
push eax
push ecx
push edi
call fcn.00473b80
mov eax, dword [ebp - 0x520]
add esp, 0xc
mov dword [ebp - 0x51c], eax
mov edi, dword [ebp - 0x4b0]
xor ecx, ecx
mov dword [ebp - 0x4b4], ecx
mov eax, 0x2aaaaaab
mov dword [ebp - 0x490], 0
mov ecx, dword [edi + 0x10c]
mov esi, dword [edi + 0x108]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x48e68f
xor edi, edi
nop dword [eax]
mov ecx, dword [ebp - 0x4b0]
lea edi, [edi + 0xc]
mov eax, dword [ebp - 0x490]
mov dword [edi + esi - 8], eax
inc dword [ebp - 0x4b4]
mov esi, dword [ecx + 0x108]
mov ecx, dword [ecx + 0x10c]
sub ecx, esi
add eax, dword [edi + esi - 4]
mov dword [ebp - 0x490], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x4b4], eax
jb 0x48e640
mov edi, dword [ebp - 0x4b0]
mov esi, dword [edi + 0xf4]
mov edx, dword [edi + 0xf0]
cmp edx, esi
je 0x48e7fa
lea ecx, [edx + 0x2c]
xorps xmm5, xmm5
nop dword [eax]
movss xmm1, dword [ecx]
movsd xmm3, qword [ecx - 8]
movlhps xmm3, xmm1
mulps xmm3, xmm3
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x66
addss xmm3, xmm0
shufps xmm0, xmm0, 0x55
addss xmm3, xmm0
shufps xmm3, xmm3, 0
sqrtps xmm0, xmm3
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x48e7ec
movss xmm0, dword [0x5eeaf4]
xorps xmm4, xmm4
movsd xmm3, qword [ecx - 0x14]
movaps xmm1, xmm0
movss xmm4, xmm5
xorps xmm0, xmm0
unpcklps xmm4, xmm1
movss xmm0, xmm5
movss xmm1, dword [ecx - 0xc]
movlhps xmm4, xmm0
movlhps xmm3, xmm1
shufps xmm3, xmm3, 0xd2
shufps xmm4, xmm4, 0xc9
movaps xmm2, xmm3
mulps xmm2, xmm4
shufps xmm3, xmm3, 0xd2
shufps xmm4, xmm4, 0xc9
mulps xmm4, xmm3
subps xmm2, xmm4
andps xmm2, xmmword [0x5f7e00]
movaps xmm0, xmm2
movss dword [ecx - 8], xmm2
shufps xmm0, xmm2, 0x55
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xaa
movss dword [ecx - 4], xmm0
movss dword [ecx], xmm1
movss xmm0, dword [ecx - 8]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x48e7ec
movss xmm0, dword [ecx - 4]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x48e7ec
movaps xmm0, xmm1
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x48e7ec
movsd xmm3, qword [ecx - 0x14]
xorps xmm4, xmm4
movss xmm2, dword [0x5eeb5c]
xorps xmm1, xmm1
movss xmm4, xmm5
movss xmm1, xmm5
unpcklps xmm4, xmm1
movaps xmm0, xmm2
movss xmm1, dword [ecx - 0xc]
movlhps xmm3, xmm1
movlhps xmm4, xmm0
shufps xmm3, xmm3, 0xd2
shufps xmm4, xmm4, 0xc9
movaps xmm2, xmm3
mulps xmm2, xmm4
shufps xmm3, xmm3, 0xd2
shufps xmm4, xmm4, 0xc9
mulps xmm4, xmm3
subps xmm2, xmm4
andps xmm2, xmmword [0x5f7e00]
movaps xmm0, xmm2
movss dword [ecx - 8], xmm2
movaps xmm1, xmm2
shufps xmm0, xmm2, 0x55
shufps xmm1, xmm2, 0xaa
movss dword [ecx - 4], xmm0
movss dword [ecx], xmm1
add edx, 0x48
add ecx, 0x48
cmp edx, esi
jne 0x48e6b0
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 7
call fcn.004a4c40
mov esi, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x4a4]
mov ecx, dword [esi + 4]
inc edx
mov edi, dword [esi]
mov eax, 0xea0ea0eb
mov dword [ebp - 0x4a4], edx
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x4a4]
cmp edx, eax
jb 0x48bd63
mov ecx, dword [ebp - 0x400]
mov eax, 0xb21642c9
mov esi, dword [ebp - 0x404]
xor edi, edi
sub ecx, esi
mov dword [ebp - 0x4dc], edi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4902e8
nop dword [eax]
nop word [eax + eax]
imul eax, edi, 0xb8
add eax, esi
mov dword [ebp - 0x4c0], eax
lea eax, [ebp - 0x508]
push eax
call fcn.0047bd10
add esp, 4
mov ecx, dword [ebp - 0x4d8]
lea eax, [ebp - 0x508]
push eax
mov byte [ebp - 4], 0x15
lea ecx, [ecx + 0x30]
call fcn.004aa940
mov esi, dword [ebp - 0x4c0]
mov ecx, dword [ebp - 0x508]
push esi
call fcn.0046d200
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov ecx, dword [ebp - 0x4d8]
mov byte [ebp - 4], 0x16
call fcn.004ac310
push eax
lea ecx, [ebp - 0x52c]
call fcn.004aaf20
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x4a8], ecx
cmp eax, ecx
je 0x49019a
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x4fc], ecx
nop word [eax + eax]
imul edi, dword [eax], 0xa8
add edi, dword [esi + 0x24]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x4b8], edi
mov dword [ebp - 0x4a0], esi
mov dword [ebp - 0x4b0], eax
cmp dword [eax + esi*8], 0
jne 0x48ea4a
push 0x34
call fcn.005b2e07
mov ecx, eax
add esp, 4
mov dword [ebp - 0x514], ecx
test ecx, ecx
je 0x48e9eb
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 1
mov dword [ecx + 8], 1
mov dword [ecx], vtable.std::_Ref_count_obj2_struct_KdGLTFAnimationData::Node_.0
movups xmmword [ecx + 0xc], xmm0
movups xmmword [ecx + 0x1c], xmm0
movq qword [ecx + 0x2c], xmm0
mov dword [ecx + 0xc], 0xffffffff
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x30], 0
jmp 0x48e9ed
xor ecx, ecx
mov edx, dword [ebp - 0x4b0]
lea eax, [ecx + 0xc]
mov dword [edx + esi*8], eax
mov eax, dword [ebp - 0x4a0]
mov esi, dword [edx + esi*8 + 4]
mov dword [edx + eax*8 + 4], ecx
test esi, esi
je 0x48ea36
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x48ea36
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax]
call eax
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x48ea30
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
call eax
mov edx, dword [ebp - 0x4b0]
mov esi, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x49c]
mov eax, dword [edx + esi*8]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
imul eax, dword [edi], 0xf0
mov esi, dword [ebp - 0x3ec]
mov edi, dword [ebp - 0x3f8]
add eax, dword [ebp - 0x410]
mov dword [ebp - 0x4ac], eax
mov edx, dword [ebp - 0x4ac]
mov eax, dword [eax]
mov edx, dword [edx + 0x1c]
lea ecx, [eax + eax*2]
shl ecx, 6
imul eax, dword [ecx + esi + 0x18], 0xc8
add edx, dword [ecx + esi + 0x1c]
mov ecx, edx
mov dword [ebp - 0x498], edx
mov edx, dword [ebp - 0x410]
add ecx, dword [eax + edi + 0x18]
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x498], ecx
imul eax, dword [eax + 4], 0xf0
add edx, eax
mov dword [ebp - 0x4f8], edx
mov eax, dword [edx]
lea ecx, [eax + eax*2]
shl ecx, 6
add ecx, esi
mov dword [ebp - 0x4f4], ecx
imul eax, dword [ecx + 0x18], 0xc8
mov esi, dword [ecx + 0x1c]
add eax, edi
mov edi, dword [ebp - 0x49c]
add esi, dword [edx + 0x1c]
add edi, 8
mov dword [ebp - 0x4f0], eax
add esi, dword [eax + 0x18]
mov eax, edi
mov dword [ebp - 0x500], esi
cmp dword [edi + 0x14], 0xf
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x514], ecx
jbe 0x48eafc
mov eax, dword [edi]
push 0xb
push str.translation
push ecx
push eax
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48f5d5
mov edx, dword [ebp - 0x4ac]
xor edi, edi
cmp dword [edx + 0x28], edi
jbe 0x490177
mov ecx, dword [ebp - 0x4b8]
add ecx, 8
mov dword [ebp - 0x4a4], ecx
nop word [eax + eax]
xorps xmm0, xmm0
movups xmmword [ebp - 0x55c], xmm0
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48eb72
mov eax, dword [ebp - 0x498]
movsx eax, byte [eax + edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feafc]
jmp 0x48ec41
cmp eax, 0x1401
jne 0x48eb97
mov eax, dword [ebp - 0x498]
movzx eax, byte [eax + edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5eeb48]
jmp 0x48ec41
cmp eax, 0x1402
jne 0x48ebbc
mov eax, dword [ebp - 0x498]
movsx eax, word [eax + edi*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb04]
jmp 0x48ec41
cmp eax, 0x1403
jne 0x48ebde
mov eax, dword [ebp - 0x498]
movzx eax, word [eax + edi*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb08]
jmp 0x48ec41
cmp eax, 0x1404
jne 0x48ebfd
mov eax, dword [ebp - 0x498]
movd xmm0, dword [eax + edi*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5feaac]
jmp 0x48ec41
cmp eax, 0x1405
jne 0x48ec2f
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + edi*4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x5feaa8]
jmp 0x48ec41
cmp eax, 0x1406
jne 0x48ec41
mov eax, dword [ebp - 0x498]
movss xmm0, dword [eax + edi*4]
mulss xmm0, dword [0x5eeb40]
mov eax, dword [ebp - 0x508]
movss dword [ebp - 0x55c], xmm0
comiss xmm0, dword [eax + 0x18]
jbe 0x48ec62
movss dword [eax + 0x18], xmm0
cmp dword [ecx + 0x14], 0xf
mov eax, ecx
jbe 0x48ec6c
mov eax, dword [ecx]
push 4
push str.STEP
push dword [ecx + 0x10]
push eax
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48ef9a
mov edx, dword [ebp - 0x4f8]
lea ecx, [edi + edi*2]
movss xmm4, dword [0x5feafc]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48ecb6
movsx eax, byte [esi + ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48edd0
cmp eax, 0x1401
jne 0x48ecd9
movzx eax, byte [esi + ecx]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48edd8
cmp eax, 0x1402
jne 0x48ed04
movsx eax, word [esi + ecx*2]
movss xmm5, dword [0x5feb04]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48ede0
cmp eax, 0x1403
jne 0x48ed37
movzx eax, word [esi + ecx*2]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48ede8
cmp eax, 0x1404
jne 0x48ed6f
movd xmm0, dword [esi + ecx*4]
movss xmm6, dword [0x5feaac]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48edf0
cmp eax, 0x1405
jne 0x48edbf
mov eax, dword [esi + ecx*4]
movss xmm7, dword [0x5feaa8]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5feaac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48edf8
cmp eax, 0x1406
jne 0x48edcd
movss xmm0, dword [esi + ecx*4]
jmp 0x48edd0
xorps xmm0, xmm0
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
movss xmm6, dword [0x5feaac]
movss xmm7, dword [0x5feaa8]
movss dword [ebp - 0x558], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48ee22
movsx eax, byte [esi + ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48eec1
cmp eax, 0x1401
jne 0x48ee3e
movzx eax, byte [esi + ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48eec1
cmp eax, 0x1402
jne 0x48ee57
movsx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48eec1
cmp eax, 0x1403
jne 0x48ee70
movzx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48eec1
cmp eax, 0x1404
jne 0x48ee86
movd xmm0, dword [esi + ecx*4 + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48eec1
cmp eax, 0x1405
jne 0x48eeaf
mov eax, dword [esi + ecx*4 + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48eec1
cmp eax, 0x1406
jne 0x48eebe
movss xmm0, dword [esi + ecx*4 + 4]
jmp 0x48eec1
xorps xmm0, xmm0
movss dword [ebp - 0x554], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48eeeb
movsx eax, byte [esi + ecx + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f573
cmp eax, 0x1401
jne 0x48ef07
movzx eax, byte [esi + ecx + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f573
cmp eax, 0x1402
jne 0x48ef23
movsx eax, word [esi + ecx*2 + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f573
cmp eax, 0x1403
jne 0x48ef3f
movzx eax, word [esi + ecx*2 + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f573
cmp eax, 0x1404
jne 0x48ef58
movd xmm0, dword [esi + ecx*4 + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f573
cmp eax, 0x1405
jne 0x48ef84
mov eax, dword [esi + ecx*4 + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f573
cmp eax, 0x1406
jne 0x48f570
movss xmm0, dword [esi + ecx*4 + 8]
jmp 0x48f573
mov ecx, dword [ebp - 0x4a4]
mov eax, ecx
cmp dword [ecx + 0x14], 0xf
jbe 0x48efaa
mov eax, dword [ecx]
push 6
push str.LINEAR
push dword [ecx + 0x10]
push eax
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48f23e
mov edx, dword [ebp - 0x4f8]
lea ecx, [edi + edi*2]
movss xmm4, dword [0x5feafc]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48eff4
movsx eax, byte [esi + ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f10e
cmp eax, 0x1401
jne 0x48f017
movzx eax, byte [esi + ecx]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f116
cmp eax, 0x1402
jne 0x48f042
movsx eax, word [esi + ecx*2]
movss xmm5, dword [0x5feb04]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f11e
cmp eax, 0x1403
jne 0x48f075
movzx eax, word [esi + ecx*2]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f126
cmp eax, 0x1404
jne 0x48f0ad
movd xmm0, dword [esi + ecx*4]
movss xmm6, dword [0x5feaac]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f12e
cmp eax, 0x1405
jne 0x48f0fd
mov eax, dword [esi + ecx*4]
movss xmm7, dword [0x5feaa8]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5feaac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f136
cmp eax, 0x1406
jne 0x48f10b
movss xmm0, dword [esi + ecx*4]
jmp 0x48f10e
xorps xmm0, xmm0
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
movss xmm6, dword [0x5feaac]
movss xmm7, dword [0x5feaa8]
movss dword [ebp - 0x558], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f160
movsx eax, byte [esi + ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f1ff
cmp eax, 0x1401
jne 0x48f17c
movzx eax, byte [esi + ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f1ff
cmp eax, 0x1402
jne 0x48f195
movsx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f1ff
cmp eax, 0x1403
jne 0x48f1ae
movzx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f1ff
cmp eax, 0x1404
jne 0x48f1c4
movd xmm0, dword [esi + ecx*4 + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f1ff
cmp eax, 0x1405
jne 0x48f1ed
mov eax, dword [esi + ecx*4 + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f1ff
cmp eax, 0x1406
jne 0x48f1fc
movss xmm0, dword [esi + ecx*4 + 4]
jmp 0x48f1ff
xorps xmm0, xmm0
movss dword [ebp - 0x554], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
je 0x48eed6
cmp eax, 0x1401
je 0x48eef2
cmp eax, 0x1402
je 0x48ef0e
cmp eax, 0x1403
je 0x48ef2a
jmp 0x48ef3f
mov ecx, dword [ebp - 0x4a4]
mov eax, ecx
cmp dword [ecx + 0x14], 0xf
jbe 0x48f24e
mov eax, dword [ecx]
push 0xb
push str.CUBICSPLINE
push dword [ecx + 0x10]
push eax
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48f5ba
mov edx, dword [ebp - 0x4f8]
lea ecx, [edi + edi*8]
movss xmm4, dword [0x5feafc]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f299
movsx eax, byte [esi + ecx + 3]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f3b9
cmp eax, 0x1401
jne 0x48f2bd
movzx eax, byte [esi + ecx + 3]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f3c1
cmp eax, 0x1402
jne 0x48f2e9
movsx eax, word [esi + ecx*2 + 6]
movss xmm5, dword [0x5feb04]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f3c9
cmp eax, 0x1403
jne 0x48f31d
movzx eax, word [esi + ecx*2 + 6]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f3d1
cmp eax, 0x1404
jne 0x48f356
movd xmm0, dword [esi + ecx*4 + 0xc]
movss xmm6, dword [0x5feaac]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f3d9
cmp eax, 0x1405
jne 0x48f3a7
mov eax, dword [esi + ecx*4 + 0xc]
movss xmm7, dword [0x5feaa8]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5feaac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f3e1
cmp eax, 0x1406
jne 0x48f3b6
movss xmm0, dword [esi + ecx*4 + 0xc]
jmp 0x48f3b9
xorps xmm0, xmm0
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
movss xmm6, dword [0x5feaac]
movss xmm7, dword [0x5feaa8]
movss dword [ebp - 0x558], xmm0
lea ecx, [edi + edi*8]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f40b
movsx eax, byte [esi + ecx + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f4aa
cmp eax, 0x1401
jne 0x48f427
movzx eax, byte [esi + ecx + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f4aa
cmp eax, 0x1402
jne 0x48f440
movsx eax, word [esi + ecx*2 + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f4aa
cmp eax, 0x1403
jne 0x48f459
movzx eax, word [esi + ecx*2 + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f4aa
cmp eax, 0x1404
jne 0x48f46f
movd xmm0, dword [esi + ecx*4 + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f4aa
cmp eax, 0x1405
jne 0x48f498
mov eax, dword [esi + ecx*4 + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f4aa
cmp eax, 0x1406
jne 0x48f4a7
movss xmm0, dword [esi + ecx*4 + 0x10]
jmp 0x48f4aa
xorps xmm0, xmm0
movss dword [ebp - 0x554], xmm0
lea ecx, [edi + edi*8]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f4d4
movsx eax, byte [esi + ecx + 5]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f573
cmp eax, 0x1401
jne 0x48f4f0
movzx eax, byte [esi + ecx + 5]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f573
cmp eax, 0x1402
jne 0x48f509
movsx eax, word [esi + ecx*2 + 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f573
cmp eax, 0x1403
jne 0x48f522
movzx eax, word [esi + ecx*2 + 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f573
cmp eax, 0x1404
jne 0x48f538
movd xmm0, dword [esi + ecx*4 + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f573
cmp eax, 0x1405
jne 0x48f561
mov eax, dword [esi + ecx*4 + 0x14]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f573
cmp eax, 0x1406
jne 0x48f570
movss xmm0, dword [esi + ecx*4 + 0x14]
jmp 0x48f573
xorps xmm0, xmm0
mulss xmm0, dword [0x5eeb5c]
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x4b0]
movss dword [ebp - 0x550], xmm0
mov ecx, dword [ecx + eax*8]
mov eax, dword [ecx + 8]
add ecx, 4
cmp eax, dword [ecx + 8]
je 0x48f5ad
movups xmm0, xmmword [ebp - 0x55c]
movups xmmword [eax], xmm0
add dword [ecx + 4], 0x10
jmp 0x48f5ba
lea edx, [ebp - 0x55c]
push edx
push eax
call fcn.004745f0
mov edx, dword [ebp - 0x4ac]
inc edi
mov ecx, dword [ebp - 0x4a4]
cmp edi, dword [edx + 0x28]
jb 0x48eb40
jmp 0x490177
cmp dword [edi + 0x14], 0xf
jbe 0x48f5dd
mov edi, dword [edi]
push 5
push str.scale
push dword [ebp - 0x514]
push edi
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48fe45
mov edx, dword [ebp - 0x4ac]
xor edi, edi
cmp dword [edx + 0x28], edi
jbe 0x490177
mov ecx, dword [ebp - 0x4b8]
add ecx, 8
mov dword [ebp - 0x4a4], ecx
nop dword [eax + eax]
xorps xmm0, xmm0
movups xmmword [ebp - 0x570], xmm0
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f652
mov eax, dword [ebp - 0x498]
movsx eax, byte [eax + edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feafc]
jmp 0x48f721
cmp eax, 0x1401
jne 0x48f677
mov eax, dword [ebp - 0x498]
movzx eax, byte [eax + edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5eeb48]
jmp 0x48f721
cmp eax, 0x1402
jne 0x48f69c
mov eax, dword [ebp - 0x498]
movsx eax, word [eax + edi*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb04]
jmp 0x48f721
cmp eax, 0x1403
jne 0x48f6be
mov eax, dword [ebp - 0x498]
movzx eax, word [eax + edi*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb08]
jmp 0x48f721
cmp eax, 0x1404
jne 0x48f6dd
mov eax, dword [ebp - 0x498]
movd xmm0, dword [eax + edi*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5feaac]
jmp 0x48f721
cmp eax, 0x1405
jne 0x48f70f
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + edi*4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x5feaa8]
jmp 0x48f721
cmp eax, 0x1406
jne 0x48f721
mov eax, dword [ebp - 0x498]
movss xmm0, dword [eax + edi*4]
mulss xmm0, dword [0x5eeb40]
mov eax, dword [ebp - 0x508]
movss dword [ebp - 0x570], xmm0
comiss xmm0, dword [eax + 0x18]
jbe 0x48f742
movss dword [eax + 0x18], xmm0
cmp dword [ecx + 0x14], 0xf
mov eax, ecx
jbe 0x48f74c
mov eax, dword [ecx]
push 4
push str.STEP
push dword [ecx + 0x10]
push eax
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48fab1
mov edx, dword [ebp - 0x4f8]
lea ecx, [edi + edi*2]
movss xmm4, dword [0x5feafc]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f796
movsx eax, byte [esi + ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f8b0
cmp eax, 0x1401
jne 0x48f7b9
movzx eax, byte [esi + ecx]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f8b8
cmp eax, 0x1402
jne 0x48f7e4
movsx eax, word [esi + ecx*2]
movss xmm5, dword [0x5feb04]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f8c0
cmp eax, 0x1403
jne 0x48f817
movzx eax, word [esi + ecx*2]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f8c8
cmp eax, 0x1404
jne 0x48f84f
movd xmm0, dword [esi + ecx*4]
movss xmm6, dword [0x5feaac]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f8d0
cmp eax, 0x1405
jne 0x48f89f
mov eax, dword [esi + ecx*4]
movss xmm7, dword [0x5feaa8]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5feaac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f8d8
cmp eax, 0x1406
jne 0x48f8ad
movss xmm0, dword [esi + ecx*4]
jmp 0x48f8b0
xorps xmm0, xmm0
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
movss xmm6, dword [0x5feaac]
movss xmm7, dword [0x5feaa8]
movss dword [ebp - 0x56c], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f902
movsx eax, byte [esi + ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48f9a1
cmp eax, 0x1401
jne 0x48f91e
movzx eax, byte [esi + ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48f9a1
cmp eax, 0x1402
jne 0x48f937
movsx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48f9a1
cmp eax, 0x1403
jne 0x48f950
movzx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48f9a1
cmp eax, 0x1404
jne 0x48f966
movd xmm0, dword [esi + ecx*4 + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48f9a1
cmp eax, 0x1405
jne 0x48f98f
mov eax, dword [esi + ecx*4 + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48f9a1
cmp eax, 0x1406
jne 0x48f99e
movss xmm0, dword [esi + ecx*4 + 4]
jmp 0x48f9a1
xorps xmm0, xmm0
movss dword [ebp - 0x568], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48f9cb
movsx eax, byte [esi + ecx + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48fa6a
cmp eax, 0x1401
jne 0x48f9e7
movzx eax, byte [esi + ecx + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48fa6a
cmp eax, 0x1402
jne 0x48fa00
movsx eax, word [esi + ecx*2 + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48fa6a
cmp eax, 0x1403
jne 0x48fa19
movzx eax, word [esi + ecx*2 + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48fa6a
cmp eax, 0x1404
jne 0x48fa2f
movd xmm0, dword [esi + ecx*4 + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48fa6a
cmp eax, 0x1405
jne 0x48fa58
mov eax, dword [esi + ecx*4 + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48fa6a
cmp eax, 0x1406
jne 0x48fa67
movss xmm0, dword [esi + ecx*4 + 8]
jmp 0x48fa6a
xorps xmm0, xmm0
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x4b0]
movss dword [ebp - 0x564], xmm0
mov ecx, dword [ecx + eax*8]
mov eax, dword [ecx + 0x20]
add ecx, 0x1c
cmp eax, dword [ecx + 8]
je 0x48fa9f
movups xmm0, xmmword [ebp - 0x570]
movups xmmword [eax], xmm0
add dword [ecx + 4], 0x10
jmp 0x48fe2a
lea edx, [ebp - 0x570]
push edx
push eax
call fcn.004745f0
jmp 0x48fe2a
mov eax, dword [ebp - 0x4a4]
mov ecx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x48fac1
mov ecx, dword [eax]
push 6
push str.LINEAR
push dword [eax + 0x10]
push ecx
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48fd94
mov edx, dword [ebp - 0x4f8]
lea ecx, [edi + edi*2]
movss xmm4, dword [0x5feafc]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48fb0b
movsx eax, byte [ecx + esi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
jmp 0x48fc25
cmp eax, 0x1401
jne 0x48fb2e
movzx eax, byte [ecx + esi]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jmp 0x48fc2d
cmp eax, 0x1402
jne 0x48fb59
movsx eax, word [esi + ecx*2]
movss xmm5, dword [0x5feb04]
movss xmm2, dword [0x5eeb48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
jmp 0x48fc35
cmp eax, 0x1403
jne 0x48fb8c
movzx eax, word [esi + ecx*2]
movss xmm3, dword [0x5feb08]
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
jmp 0x48fc3d
cmp eax, 0x1404
jne 0x48fbc4
movd xmm0, dword [esi + ecx*4]
movss xmm6, dword [0x5feaac]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
jmp 0x48fc45
cmp eax, 0x1405
jne 0x48fc14
mov eax, dword [esi + ecx*4]
movss xmm7, dword [0x5feaa8]
movss xmm2, dword [0x5eeb48]
movss xmm3, dword [0x5feb08]
movss xmm5, dword [0x5feb04]
movss xmm6, dword [0x5feaac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
jmp 0x48fc4d
cmp eax, 0x1406
jne 0x48fc22
movss xmm0, dword [esi + ecx*4]
jmp 0x48fc25
xorps xmm0, xmm0
movss xmm2, dword [0x5eeb48]
movss xmm5, dword [0x5feb04]
movss xmm3, dword [0x5feb08]
movss xmm6, dword [0x5feaac]
movss xmm7, dword [0x5feaa8]
movss dword [ebp - 0x56c], xmm0
lea ecx, [edi + edi*2]
mov eax, dword [edx + 0x24]
cmp eax, 0x1400
jne 0x48fc85
movsx eax, byte [esi + ecx + 1]
movd xmm0, eax
lea eax, [edi + 1]
cvtdq2ps xmm0, xmm0
lea eax, [edi + eax*2]
divss xmm0, xmm4
movss dword [ebp - 0x568], xmm0
jmp 0x48fdfa
cmp eax, 0x1401
jne 0x48fcaf
movzx eax, byte [esi + ecx + 1]
movd xmm0, eax
lea eax, [edi + 1]
cvtdq2ps xmm0, xmm0
lea eax, [edi + eax*2]
divss xmm0, xmm2
movss dword [ebp - 0x568], xmm0
jmp 0x48fdfa
cmp eax, 0x1402
jne 0x48fcd9
movsx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
lea eax, [edi + 1]
cvtdq2ps xmm0, xmm0
lea eax, [edi + eax*2]
divss xmm0, xmm5
movss dword [ebp - 0x568], xmm0
jmp 0x48fdfa
cmp eax, 0x1403
jne 0x48fd03
movzx eax, word [esi + ecx*2 + 2]
movd xmm0, eax
lea eax, [edi + 1]
cvtdq2ps xmm0, xmm0
lea eax, [edi + eax*2]
divss xmm0, xmm3
movss dword [ebp - 0x568], xmm0
jmp 0x48fdfa
cmp eax, 0x1404
jne 0x48fd2a
movd xmm0, dword [esi + ecx*4 + 4]
lea eax, [edi + 1]
cvtdq2ps xmm0, xmm0
lea eax, [edi + eax*2]
mulss xmm0, xmm6
movss dword [ebp - 0x568], xmm0
jmp 0x48fdfa
cmp eax, 0x1405
jne 0x48fd64
mov eax, dword [esi + ecx*4 + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
lea eax, [edi + 1]
lea eax, [edi + eax*2]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [ebp - 0x568], xmm0
jmp 0x48fdfa
cmp eax, 0x1406
jne 0x48fd81
movss xmm0, dword [esi + ecx*4 + 4]
lea eax, [edi + 1]
movss dword [ebp - 0x568], xmm0
lea eax, [edi + eax*2]
jmp 0x48fdfa
xorps xmm0, xmm0
lea eax, [edi + 1]
movss dword [ebp - 0x568], xmm0
lea eax, [edi + eax*2]
jmp 0x48fdfa
mov eax, dword [ebp - 0x4a4]
mov ecx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x48fda4
mov ecx, dword [eax]
push 0xb
push str.CUBICSPLINE
push dword [eax + 0x10]
push ecx
call fcn.00479a10
add esp, 0x10
test al, al
je 0x48fe2a
lea eax, [edi*8 + 3]
add eax, edi
lea ecx, [ebp - 0x500]
push eax
call fcn.0048a460
lea eax, [edi*8 + 4]
add eax, edi
lea ecx, [ebp - 0x500]
fstp dword [ebp - 0x56c]
push eax
call fcn.0048a460
lea eax, [edi*8 + 5]
fstp dword [ebp - 0x568]
add eax, edi
push eax
lea ecx, [ebp - 0x500]
call fcn.0048a460
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x4b0]
fstp dword [ebp - 0x564]
mov ecx, dword [ecx + eax*8]
lea eax, [ebp - 0x570]
push eax
add ecx, 0x1c
call fcn.004aa8c0
mov edx, dword [ebp - 0x4ac]
inc edi
mov ecx, dword [ebp - 0x4a4]
cmp edi, dword [edx + 0x28]
jb 0x48f620
jmp 0x490177
mov eax, dword [ebp - 0x49c]
add eax, 8
push str.rotation
push eax
call fcn.00472f40
add esp, 8
test al, al
je 0x490177
mov eax, dword [ebp - 0x4ac]
xor edi, edi
cmp dword [eax + 0x28], edi
jbe 0x490177
mov ecx, dword [ebp - 0x498]
mov eax, 1
mov edx, dword [ebp - 0x4b8]
sub eax, ecx
mov dword [ebp - 0x4b4], eax
add edx, 8
mov eax, 2
mov dword [ebp - 0x4a4], edx
sub eax, ecx
mov dword [ebp - 0x4b8], edi
mov dword [ebp - 0x490], eax
mov esi, ecx
mov eax, 3
mov dword [ebp - 0x494], 5
sub eax, ecx
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4ac]
nop dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0x574], 0x3f800000
movups xmmword [ebp - 0x584], xmm0
mov eax, dword [eax + 0x24]
cmp eax, 0x1400
jne 0x48ff06
movsx eax, byte [ecx + edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feafc]
jmp 0x48ffab
cmp eax, 0x1401
jne 0x48ff25
movzx eax, byte [ecx + edi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5eeb48]
jmp 0x48ffab
cmp eax, 0x1402
jne 0x48ff41
movsx eax, word [ecx + edi*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb04]
jmp 0x48ffab
cmp eax, 0x1403
jne 0x48ff5d
movzx eax, word [ecx + edi*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5feb08]
jmp 0x48ffab
cmp eax, 0x1404
jne 0x48ff75
movd xmm0, dword [esi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5feaac]
jmp 0x48ffab
cmp eax, 0x1405
jne 0x48ffa0
mov eax, dword [esi]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5eebd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x5feaa8]
jmp 0x48ffab
cmp eax, 0x1406
jne 0x48ffab
movss xmm0, dword [esi]
mulss xmm0, dword [0x5eeb40]
mov eax, dword [ebp - 0x508]
movss dword [ebp - 0x584], xmm0
comiss xmm0, dword [eax + 0x18]
jbe 0x48ffcc
movss dword [eax + 0x18], xmm0
cmp dword [edx + 0x14], 0xf
mov eax, edx
jbe 0x48ffd6
mov eax, dword [edx]
push 4
push str.STEP
push dword [edx + 0x10]
push eax
call fcn.00479a10
add esp, 0x10
test al, al
je 0x49004b
mov eax, dword [ebp - 0x4b4]
lea ecx, [ebp - 0x500]
add eax, esi
push eax
call fcn.0048a460
fmul dword [0x5eeb5c]
lea ecx, [ebp - 0x500]
push dword [ebp - 0x4b8]
fstp dword [ebp - 0x57c]
call fcn.0048a460
fmul dword [0x5eeb5c]
fstp dword [ebp - 0x580]
mov eax, dword [ebp - 0x490]
lea ecx, [ebp - 0x500]
add eax, esi
push eax
call fcn.0048a460
mov eax, dword [ebp - 0x4bc]
add eax, esi
jmp 0x490114
push str.LINEAR
push dword [ebp - 0x4a4]
call fcn.00472f40
add esp, 8
test al, al
je 0x4900a1
push dword [ebp - 0x4b8]
lea ecx, [ebp - 0x500]
call fcn.0048a460
fmul dword [0x5eeb5c]
lea ecx, [ebp - 0x500]
mov eax, dword [ebp - 0x4b4]
add eax, esi
push eax
fstp dword [ebp - 0x580]
call fcn.0048a460
fmul dword [0x5eeb5c]
fstp dword [ebp - 0x57c]
jmp 0x49002a
push str.CUBICSPLINE
push dword [ebp - 0x4a4]
call fcn.00472f40
add esp, 8
test al, al
je 0x49014a
mov eax, dword [ebp - 0x494]
lea ecx, [ebp - 0x500]
dec eax
push eax
call fcn.0048a460
fmul dword [0x5eeb5c]
lea ecx, [ebp - 0x500]
push dword [ebp - 0x494]
fstp dword [ebp - 0x580]
call fcn.0048a460
fmul dword [0x5eeb5c]
lea ecx, [ebp - 0x500]
mov eax, dword [ebp - 0x494]
inc eax
push eax
fstp dword [ebp - 0x57c]
call fcn.0048a460
mov eax, dword [ebp - 0x494]
add eax, 2
fstp dword [ebp - 0x578]
push eax
lea ecx, [ebp - 0x500]
call fcn.0048a460
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x4b0]
fstp dword [ebp - 0x574]
mov ecx, dword [ecx + eax*8]
lea eax, [ebp - 0x584]
push eax
add ecx, 0x10
call fcn.004aa890
mov eax, dword [ebp - 0x4ac]
inc edi
add dword [ebp - 0x4b8], 4
add esi, 4
add dword [ebp - 0x494], 0xc
mov ecx, dword [ebp - 0x498]
mov edx, dword [ebp - 0x4a4]
cmp edi, dword [eax + 0x28]
jb 0x48fed0
mov eax, dword [ebp - 0x49c]
mov esi, dword [ebp - 0x4c0]
add eax, 0xa8
mov dword [ebp - 0x49c], eax
cmp eax, dword [ebp - 0x4a8]
jne 0x48e930
mov edi, dword [ebp - 0x528]
mov esi, dword [ebp - 0x52c]
cmp esi, edi
je 0x490202
nop word [eax + eax]
cmp dword [esi], 0
je 0x4901f5
mov edx, dword [ebp - 0x508]
mov ecx, dword [edx + 0x20]
cmp ecx, dword [edx + 0x24]
je 0x4901eb
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4901db
lock inc dword [eax + 4]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
add dword [edx + 0x20], 8
jmp 0x4901f5
push esi
push ecx
lea ecx, [edx + 0x1c]
call fcn.00474a30
add esi, 8
cmp esi, edi
jne 0x4901b0
mov edi, dword [ebp - 0x528]
mov eax, dword [ebp - 0x52c]
mov byte [ebp - 4], 0x15
test eax, eax
je 0x49027f
lea ecx, [ebp - 0x52c]
push ecx
push edi
push eax
call fcn.00473b80
mov eax, dword [ebp - 0x524]
add esp, 0xc
mov ecx, dword [ebp - 0x52c]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x490257
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490334
push edx
push ecx
call fcn.005b26d8
add esp, 8
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov esi, dword [ebp - 0x504]
mov byte [ebp - 4], 7
test esi, esi
je 0x4902b2
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x4902b2
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax]
call eax
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x4902b2
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x400]
mov eax, 0xb21642c9
mov esi, dword [ebp - 0x404]
sub ecx, esi
mov edi, dword [ebp - 0x4dc]
imul ecx
inc edi
add edx, ecx
mov dword [ebp - 0x4dc], edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x48e880
mov ecx, dword [ebp - 0x63c]
lea eax, [ebp - 0x4d8]
push eax
call fcn.0043d2b0
lea ecx, [ebp - 0x4d8]
call fcn.0042fa90
lea ecx, [ebp - 0x410]
call fcn.00485b90
mov eax, dword [ebp - 0x63c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005b26e6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.005c1009
call fcn.00430720
int3