Function at 0x465216
Capabilities:
Check os version
Get number of processors
Hash data using murmur3
Packed with generic packer
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x250
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0x22c], xmm0
vmovups xmmword [esp + 0x220], xmm0
vmovdqa xmm0, xmmword [0x47d180]
vmovdqu xmmword [esp + 0x23c], xmm0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x18]
mov dword [0x47e08c], ecx
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x40], ecx
mov eax, dword [ecx + eax + 0x54]
mov dword [esp + 0x30], eax
mov dword [esp + 0x11c], 0
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x461071
mov ebx, dword [ecx + eax + 0x18]
test ebx, ebx
je 0x461071
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov esi, dword [ecx + eax + 0x20]
add esi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov edx, dword [esi + ebx*4 - 4]
dec ebx
mov al, byte [ecx + edx]
test al, al
je 0x4610cb
add edx, dword [esp]
mov edi, 0xe869e341
movsx eax, al
xor eax, edi
imul edi, eax, 0x203848b
mov al, byte [edx]
inc edx
test al, al
jne 0x4610b1
cmp edi, 0x12e9245f
je 0x4610d5
test ebx, ebx
jne 0x46109d
mov edx, dword [esp + 0x20]
jmp 0x461071
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + ebx*2]
add ecx, dword [eax + edx*4]
lea eax, [esp + 0x11c]
push eax
push 4
mov esi, dword [esp + 0x38]
push esi
push dword [esp + 0x4c]
call ecx
push esi
push 0
push dword [0x47e08c]
call fcn.00478a71
add esp, 0xc
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x46111e
mov ebx, dword [ecx + eax + 0x18]
test ebx, ebx
je 0x46111e
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov esi, dword [ecx + eax + 0x20]
add esi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov eax, dword [esi + ebx*4 - 4]
dec ebx
mov dl, byte [ecx + eax]
test dl, dl
je 0x461178
add eax, dword [esp]
mov edi, 0x22e7a2c
movsx edx, dl
xor edx, edi
imul edi, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46115e
cmp edi, 0x8473b3ee
je 0x461182
test ebx, ebx
jne 0x46114a
mov edx, dword [esp + 0x20]
jmp 0x46111e
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + ebx*2]
add ecx, dword [eax + edx*4]
lea eax, [esp + 0x11c]
push eax
push dword [esp + 0x120]
push dword [esp + 0x38]
push dword [0x47e08c]
call ecx
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x4611c0
mov ebx, dword [ecx + eax + 0x18]
test ebx, ebx
je 0x4611c0
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov esi, dword [ecx + eax + 0x20]
add esi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov eax, dword [esi + ebx*4 - 4]
dec ebx
mov dl, byte [ecx + eax]
test dl, dl
je 0x46121a
add eax, dword [esp]
mov edi, 0x551aa46a
movsx edx, dl
xor edx, edi
imul edi, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461200
cmp edi, 0x865b32e0
je 0x461224
test ebx, ebx
jne 0x4611ec
mov edx, dword [esp + 0x20]
jmp 0x4611c0
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + ebx*2]
add ecx, dword [eax + edx*4]
lea eax, [esp + 0x11c]
push eax
push 0x200
push dword [esp + 0x38]
push dword [0x47e08c]
call ecx
cmp dword [esp + 0x224], 0x12
je 0x46781f
mov eax, dword [0x481b48]
test eax, eax
je 0x46139b
xor ecx, ecx
mov dword [eax + ecx + 0x108], 0
add ecx, 0x10
cmp ecx, 0x40
jne 0x461271
xor ecx, ecx
mov dword [eax + 0x100], ecx
mov dword [eax + 0x160], ecx
mov dword [eax + 0x15c], ecx
vmovsd xmm0, qword [eax + 0x144]
vmovups xmmword [eax + 0x14c], xmm0
vmovdqa ymm0, ymmword [0x47d1a0]
vpbroadcastd xmm1, dword [0x47d1c0]
vpminud xmm2, xmm0, xmm1
vpcmpeqd xmm2, xmm0, xmm2
vmovd edx, xmm2
test dl, 1
je 0x4612d3
mov dword [eax + ecx*8 + 4], 0
vpminud xmm2, xmm0, xmm1
vpcmpeqd xmm2, xmm0, xmm2
vpextrb edx, xmm2, 4
test dl, 1
je 0x4612ef
mov dword [eax + ecx*8 + 0xc], 0
vpminud xmm2, xmm0, xmm1
vpcmpeqd xmm2, xmm0, xmm2
vpextrb edx, xmm2, 8
test dl, 1
je 0x46130b
mov dword [eax + ecx*8 + 0x14], 0
vpminud xmm2, xmm0, xmm1
vpcmpeqd xmm2, xmm0, xmm2
vpextrb edx, xmm2, 0xc
test dl, 1
je 0x461327
mov dword [eax + ecx*8 + 0x1c], 0
vextracti128 xmm2, ymm0, 1
vpminud xmm1, xmm2, xmm1
vpcmpeqd xmm1, xmm2, xmm1
vpextrb edx, xmm1, 0
test dl, 1
je 0x461349
mov dword [eax + ecx*8 + 0x24], 0
vpextrb edx, xmm1, 4
test dl, 1
je 0x46135c
mov dword [eax + ecx*8 + 0x2c], 0
vpextrb edx, xmm1, 8
test dl, 1
je 0x46136f
mov dword [eax + ecx*8 + 0x34], 0
vpextrb edx, xmm1, 0xc
test dl, 1
je 0x461382
mov dword [eax + ecx*8 + 0x3c], 0
add ecx, 8
vpbroadcastd ymm1, dword [0x47d1c4]
vpaddd ymm0, ymm0, ymm1
cmp ecx, 0x20
jne 0x4612b0
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x4613a7
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x4613a7
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x461401
add eax, dword [esp]
mov ebx, 0x25b77262
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4613e7
cmp ebx, 0xb3115897
je 0x46140b
test esi, esi
jne 0x4613d3
mov edx, dword [esp + 0x20]
jmp 0x4613a7
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
sub esp, 0x14
vmovaps xmm0, xmmword [0x47d1d0]
vmovups xmmword [esp + 4], xmm0
lea eax, [esp + 0x234]
mov dword [esp], eax
vzeroupper
call ecx
test eax, eax
je 0x46156c
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x461456
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x461456
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x4614b0
add eax, dword [esp]
mov ebx, 0x873a01de
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461496
cmp ebx, 0xb2ac5d8b
je 0x4614ba
test esi, esi
jne 0x461482
mov edx, dword [esp + 0x20]
jmp 0x461456
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
lea eax, [esp + 0x220]
push eax
call ecx
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x4614e7
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x4614e7
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x461541
add eax, dword [esp]
mov ebx, 0x213f1242
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461527
cmp ebx, 0xbd5685c6
je 0x46154b
test esi, esi
jne 0x461513
mov edx, dword [esp + 0x20]
jmp 0x4614e7
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
lea eax, [esp + 0x220]
push eax
call ecx
mov ebx, dword [0x481b48]
cmp dword [ebx + 0x38dc], 0
jne 0x4629c9
cmp byte [str.test], 0
mov dword [esp + 0x10], ebx
je 0x461625
xor esi, esi
xor eax, eax
inc eax
mov ecx, eax
cmp byte [esi + 0x47e001], 0
lea esi, [esi + 1]
lea eax, [eax + 1]
jne 0x461595
lea edx, [esi - 1]
mov eax, 0x40
cmp edx, 3
jb 0x4615eb
shr ecx, 2
xor edx, edx
mov edi, dword [edx*4 + str.test]
imul ebx, edi, 0xcc9e2d51
imul edi, edi, 0x16a88000
shr ebx, 0x11
or ebx, edi
imul edi, ebx, 0x1b873593
xor edi, eax
rorx eax, edi, 0x13
lea eax, [eax + eax*4]
add eax, 0xe6546b64
inc edx
cmp ecx, edx
jne 0x4615b8
mov ecx, esi
and ecx, 0x7ffffffc
mov edi, esi
and edi, 3
xor edx, edx
cmp edi, 1
je 0x46162e
cmp edi, 2
mov ebx, dword [esp + 0x10]
je 0x461617
cmp edi, 3
jne 0x46165e
movzx edx, byte [ecx + 0x47e002]
shl edx, 0x10
movzx edi, byte [ecx + 0x47e001]
shl edi, 8
or edx, edi
jmp 0x461632
mov eax, 0x40
xor esi, esi
jmp 0x46165e
mov ebx, dword [esp + 0x10]
mov edi, edx
and edi, 0xffff00
xor dl, byte [ecx + str.test]
movzx ecx, dl
or ecx, edi
imul edx, ecx, 0xcc9e2d51
imul ecx, ecx, 0x16a88000
shr edx, 0x11
or edx, ecx
imul ecx, edx, 0x1b873593
xor eax, ecx
vmovsd xmm0, qword [0x47e084]
vcvtdq2ps xmm1, xmm0
mov dword [esp + 0x40], esi
xor eax, esi
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
imul eax, ecx, 0x85ebca6b
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [esp + 0x30], ecx
mov eax, dword [ebx + 0x38d0]
test eax, eax
je 0x461781
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
cmp dword [eax + 4], ecx
jne 0x461717
xor eax, eax
mov ebx, dword [esp]
cmp byte [ebx + 8], 0
mov ecx, 0
je 0x4616cd
xor edx, edx
lea ecx, [edx + 1]
cmp byte [ebx + edx + 9], 0
mov edx, ecx
jne 0x4616c1
cmp ecx, eax
je 0x461725
movsx edx, byte [ebx + eax + 8]
movsx edi, byte [eax + str.test]
mov esi, edx
mov dword [esp + 0x20], edi
sub esi, edi
je 0x46170d
mov edi, edx
add dl, 0xbf
cmp dl, 0x19
ja 0x4616fa
add esi, 0x20
mov edx, edi
jne 0x4616fc
jmp 0x46170d
mov edx, edi
mov ebx, dword [esp + 0x20]
add bl, 0xbf
cmp bl, 0x19
ja 0x461717
cmp esi, 0x20
jne 0x461717
inc eax
test dl, dl
mov ebx, dword [esp]
jne 0x4616cd
jmp 0x461725
mov eax, dword [esp]
mov eax, dword [eax + 0x17c]
jmp 0x46169b
test ebx, ebx
je 0x461781
mov eax, dword [ebx + 0x48]
mov ecx, eax
and ecx, 0xfffff800
or ecx, 1
mov dword [ebx + 0x48], ecx
vxorps xmm0, xmm0, xmm0
vmovlhps xmm0, xmm0, xmm1
vmovups xmmword [ebx + 0x4c], xmm0
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x38e8]
mov dword [ebx], ecx
mov edi, edx
cmp dword [edx + 0x38d8], 0
jne 0x46183c
and eax, 0x2000
jne 0x46183c
mov ebx, dword [esp]
mov dword [edi + 0x38d8], ebx
mov dword [edi + 0x38d4], ebx
jmp 0x46183f
vmovaps xmmword [esp], xmm1
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.0046a439
test eax, eax
je 0x4629bb
mov ebx, eax
mov eax, dword [edi + 0x38e8]
mov dword [ebx], eax
mov ecx, edi
mov edx, ebx
call fcn.0046a1b8
lea eax, [edi + 0x1c44]
mov dword [ebx + 0x64], eax
xor ecx, ecx
inc ecx
mov dword [ebx + 0x78], ecx
mov eax, dword [edi + 0x1c70]
mov dword [ebx + 0x80], eax
mov eax, dword [edi + 0x1c70]
mov dword [ebx + 0x84], eax
mov eax, dword [edi + 0x1c70]
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x48], ecx
vxorps xmm0, xmm0, xmm0
vunpcklpd xmm0, xmm0, xmmword [esp]
vmovups xmmword [ebx + 0x4c], xmm0
mov eax, dword [esp + 0x30]
mov dword [ebx + 4], eax
mov esi, dword [esp + 0x40]
cmp esi, 0x3f
mov eax, 0x3f
cmovae esi, eax
mov ecx, ebx
add ecx, 8
mov edx, str.test
push esi
call fcn.0046a24a
add esp, 4
mov byte [ebx + esi + 8], 0
xor eax, eax
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x170], eax
cmp dword [edi + 0x38d8], eax
jne 0x46183f
mov dword [edi + 0x38d8], ebx
jmp 0x46183f
mov ebx, dword [esp]
mov eax, dword [ebx + 0x48]
bt eax, 0xd
jb 0x46190a
mov ecx, dword [edi + 0x1c70]
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], ecx
mov dword [ebx + 0x88], ecx
vmovups xmm0, xmmword [section..rdata]
mov dword [esp], ebx
vmovups xmmword [ebx + 0x68], xmm0
bt eax, 0xa
jb 0x461acc
mov ecx, dword [edi + 0x168]
vmovss xmm0, dword [edi + 0x1b64]
vmovss xmm1, dword [0x47d1e0]
vfmadd213ss xmm0, xmm1, dword [ecx + 4]
vfmadd231ss xmm0, xmm1, dword [edi + 0x1b6c]
vmovaps xmm4, xmm0
test ax, ax
js 0x4618b4
mov ecx, dword [esp]
vmovss xmm4, dword [ecx + 0x58]
mov edx, dword [esp]
vmovsd xmm1, qword [edx + 0x4c]
vmovss xmm3, dword [edi + 0x10c]
xor ecx, ecx
vucomiss xmm3, xmm1
vaddss xmm2, xmm1, dword [edx + 0x54]
jb 0x461921
vucomiss xmm2, xmm3
jbe 0x461921
vmovss xmm3, dword [edi + 0x110]
vmovshdup xmm5, xmm1
xor ecx, ecx
vucomiss xmm3, xmm5
jb 0x461921
vaddss xmm5, xmm4, xmm5
vucomiss xmm5, xmm3
jbe 0x461921
cmp dword [edi + 0x104], 1
jne 0x46191f
cmp dword [edi + 0x108], 0
setne cl
jmp 0x461921
mov dword [edi + 0x38dc], ebx
mov dword [ebx + 0x8c], 0
jmp 0x4629bb
xor ecx, ecx
vmovss xmm3, dword [edi + 0x144]
vucomiss xmm3, xmm1
jb 0x46194b
vucomiss xmm2, xmm3
jbe 0x46194b
vmovss xmm7, dword [edi + 0x148]
vmovshdup xmm5, xmm1
vucomiss xmm7, xmm5
jae 0x461cac
lea ebx, [edi + 0x38d8]
mov esi, dword [esp]
test cl, cl
je 0x461a6f
mov ecx, dword [esp]
cmp ecx, dword [edi + 0x38d4]
je 0x461a6f
mov ecx, dword [esp]
mov esi, dword [ecx + 0x17c]
test esi, esi
je 0x461a37
vmovshdup xmm5, xmm1
vaddss xmm4, xmm4, xmm5
vmovss dword [esp + 0x20], xmm4
mov ecx, dword [esi + 0x48]
vmovaps xmm6, xmm0
test cx, cx
js 0x46199b
vmovss xmm6, dword [esi + 0x58]
vmovss xmm4, dword [esi + 0x4c]
vucomiss xmm3, xmm4
jb 0x4619dc
vaddss xmm4, xmm4, dword [esi + 0x54]
vucomiss xmm4, xmm3
jbe 0x4619dc
vmovss xmm4, dword [esi + 0x50]
vmovss xmm7, dword [edi + 0x148]
vucomiss xmm7, xmm4
jb 0x4619dc
vaddss xmm4, xmm6, xmm4
vucomiss xmm4, xmm7
jbe 0x4619dc
mov edx, ecx
and edx, 0x2000
je 0x461a6f
mov edx, dword [esi + 0xfc]
test edx, edx
je 0x461a29
cmp dword [esi + 0x11c], 0
je 0x461a29
and ecx, 0x2000
jne 0x461a29
vmovss xmm4, dword [edx + 0x4c]
vucomiss xmm2, xmm4
jbe 0x461a29
vaddss xmm4, xmm4, dword [edx + 0x54]
vucomiss xmm4, xmm1
jbe 0x461a29
vmovss xmm4, dword [edx + 0x50]
vmovss xmm6, dword [esp + 0x20]
vucomiss xmm6, xmm4
jbe 0x461a29
vaddss xmm4, xmm4, dword [edx + 0x58]
vucomiss xmm4, xmm5
ja 0x461a6f
mov esi, dword [esi + 0x17c]
test esi, esi
jne 0x46198a
mov ecx, dword [esp]
cmp dword [edi + 0x38d4], ecx
je 0x461aaa
bt eax, 8
jb 0x461a60
mov ecx, edi
mov esi, dword [esp]
mov edx, esi
call fcn.0046a37e
mov ecx, edi
mov edx, esi
call fcn.0046a1b8
mov eax, dword [esi + 0x48]
and eax, 0xffffefff
mov ecx, dword [esp]
mov dword [ecx + 0x48], eax
mov dword [ebx], ecx
jmp 0x461aaa
mov ecx, eax
and ecx, 0x1100
cmp ecx, 0x100
jne 0x461aaa
or eax, 0x1000
mov ecx, dword [esp]
mov dword [ecx + 0x48], eax
and byte [esi + 0x49], 0xef
mov dword [ebx], esi
test byte [esi + 0x49], 1
jne 0x461acc
mov ecx, edi
mov edx, esi
call fcn.0046a37e
mov ecx, edi
mov edx, esi
call fcn.0046a1b8
jmp 0x461acc
mov eax, dword [esp]
cmp dword [edi + 0x38d4], eax
je 0x461acc
mov eax, dword [esp]
mov eax, dword [eax + 0x48]
bt eax, 8
jb 0x461acc
or eax, 0x1000
mov ecx, dword [esp]
mov dword [ecx + 0x48], eax
mov ecx, edi
call fcn.0046a439
mov esi, eax
test eax, eax
mov eax, 0
je 0x461b33
mov ecx, esi
and ecx, 3
je 0x461b21
mov edi, 4
sub edi, ecx
push edi
push eax
push esi
mov dword [esp + 0x2c], ecx
call fcn.00478a71
add esp, 0xc
mov ebx, esi
add ebx, edi
mov edi, 0x1ac
push edi
xor eax, eax
push eax
push ebx
call fcn.00478a71
add esp, 0xc
add ebx, edi
push dword [esp + 0x20]
xor eax, eax
push eax
push ebx
mov edi, dword [esp + 0x1c]
jmp 0x461b29
push 0x1b0
push 0
push esi
call fcn.00478a71
xor eax, eax
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 0x8c], esi
mov ebx, edi
mov dword [edi + 0x38dc], ecx
mov edi, dword [ecx + 0x8c]
test edi, edi
je 0x4629a0
mov esi, edi
and esi, 3
je 0x461b94
mov ebx, 4
sub ebx, esi
push ebx
push eax
push edi
call fcn.00478a71
add esp, 0xc
add ebx, edi
mov edi, 0x198
push edi
xor eax, eax
push eax
push ebx
call fcn.00478a71
add esp, 0xc
add ebx, edi
push esi
xor eax, eax
push eax
push ebx
mov edi, dword [esp + 0x1c]
call fcn.00478a71
add esp, 0xc
jmp 0x461ba6
push 0x19c
push 0
push edi
call fcn.00478a71
add esp, 0xc
mov edi, ebx
mov ebx, dword [edi + 0x38dc]
mov ecx, dword [ebx + 0x48]
test ecx, 0x6000
je 0x461bfc
mov ebx, dword [ebx + 0x8c]
mov esi, ebx
and esi, 3
je 0x461c81
mov edi, 4
sub edi, esi
push edi
xor eax, eax
push eax
push ebx
call fcn.00478a71
add esp, 0xc
add edi, ebx
mov ebx, 0x198
push ebx
xor eax, eax
push eax
push edi
call fcn.00478a71
add esp, 0xc
add edi, ebx
push esi
xor eax, eax
push eax
push edi
jmp 0x461c89
mov eax, dword [edi + 0x168]
mov dword [esp + 0x70], eax
mov esi, dword [ebx + 0x8c]
bt ecx, 0xa
mov eax, 0
cmovae eax, edi
mov dword [esp + 0x10], eax
vmovss xmm1, dword [edi + 0x1bfc]
vmovss xmm0, dword [edi + 0x1c00]
mov eax, dword [edi + 0x1c10]
vmovss xmm2, dword [edi + 0x1c0c]
mov edx, ecx
and edx, 0x1002
cmp edx, 2
mov edx, 1
jne 0x461e8f
test cl, 0x58
je 0x461de0
vmovss xmm4, dword [edi + 0x1b64]
vmovss xmm3, dword [0x47d1e0]
mov ecx, dword [esp + 0x70]
vfmadd213ss xmm4, xmm3, dword [ecx + 4]
vfmadd231ss xmm4, xmm3, dword [edi + 0x1b6c]
jmp 0x461de4
push 0x19c
push 0
push ebx
call fcn.00478a71
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38dc]
mov eax, dword [eax + 0x8c]
mov dword [eax], 1
jmp 0x4629a0
vaddss xmm6, xmm4, xmm5
lea ebx, [edi + 0x38d8]
vmovaps xmmword [esp + 0x20], xmm6
vucomiss xmm6, xmm7
jbe 0x461951
mov edx, dword [esp]
cmp edx, dword [edi + 0x38d8]
je 0x461951
cmp dword [edi + 0x104], 0
jne 0x461951
mov edx, dword [esp]
mov esi, dword [edx + 0x17c]
test esi, esi
je 0x461a37
vmovaps xmmword [esp + 0x30], xmm2
vmovss dword [esp + 0x60], xmm4
mov dword [esp + 0x40], ebx
vmovaps xmm2, xmm5
mov edx, dword [esi + 0x48]
vmovaps xmm7, xmm0
test dx, dx
js 0x461d18
vmovss xmm7, dword [esi + 0x58]
vmovss xmm6, dword [esi + 0x4c]
vaddss xmm4, xmm6, dword [esi + 0x54]
vmovss xmm5, dword [esi + 0x50]
vaddss xmm7, xmm7, xmm5
vinsertps xmm4, xmm4, xmm7, 0x10
vinsertps xmm6, xmm1, xmm6, 0x20
vinsertps xmm5, xmm6, xmm5, 0x30
vinsertps xmm4, xmm4, dword [esp + 0x30], 0x20
vinsertps xmm4, xmm4, dword [esp + 0x20], 0x30
vcmpltps xmm4, xmm5, xmm4
and edx, 0x2000
vpslld xmm4, xmm4, 0x1f
vmovmskps ebx, xmm4
cmp bl, 0xf
jne 0x461d6e
test edx, edx
je 0x467652
mov edi, dword [esi + 0xfc]
test edi, edi
vmovaps xmm5, xmm2
je 0x461dc5
cmp dword [esi + 0x11c], 0
je 0x461dc5
test edx, edx
jne 0x461dc5
vmovss xmm7, dword [edi + 0x4c]
vmovaps xmm2, xmmword [esp + 0x30]
vucomiss xmm2, xmm7
jbe 0x461dc5
vaddss xmm4, xmm7, dword [edi + 0x54]
vucomiss xmm4, xmm1
jbe 0x461dc5
vmovss xmm7, dword [edi + 0x50]
vmovaps xmm2, xmmword [esp + 0x20]
vucomiss xmm2, xmm7
jbe 0x461dc5
vaddss xmm4, xmm7, dword [edi + 0x58]
vucomiss xmm4, xmm5
ja 0x467652
mov esi, dword [esi + 0x17c]
test esi, esi
mov edi, dword [esp + 0x10]
jne 0x461d03
mov ebx, dword [esp + 0x40]
jmp 0x461a37
vmovd xmm4, eax
vmovss xmm3, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x10]
vmovss xmm5, dword [ecx + 0x10c]
vucomiss xmm5, xmm3
jb 0x461e8f
vaddss xmm6, xmm3, dword [ebx + 0x54]
vucomiss xmm6, xmm5
jbe 0x461e8f
vmovss xmm5, dword [ebx + 0x50]
mov ecx, dword [esp + 0x10]
vmovss xmm6, dword [ecx + 0x110]
vucomiss xmm6, xmm5
jb 0x461e8f
vaddss xmm4, xmm5, xmm4
vucomiss xmm4, xmm6
jbe 0x461e8f
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x104], 1
jne 0x461e8f
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x108], 0
jne 0x461e8f
mov ecx, dword [esp + 0x10]
vaddss xmm3, xmm3, dword [ecx + 0x154]
vmovss dword [ebx + 0x4c], xmm3
vaddss xmm3, xmm5, dword [ecx + 0x158]
vmovss dword [ebx + 0x50], xmm3
vmovsd xmm3, qword [ecx + 0x10c]
vmovsd xmm4, qword [ecx + 0x154]
vaddps xmm3, xmm4, xmm3
vmovlps qword [ecx + 0x10c], xmm3
mov ecx, dword [edi + 0x174]
mov dword [edi + 0x188], ecx
mov dword [esi], 1
mov ecx, dword [ebx + 0x48]
mov dword [esi + 4], ecx
vmovups xmm3, xmmword [ebx + 0x4c]
vmovups xmmword [esi + 8], xmm3
vaddss xmm3, xmm2, dword [esi + 8]
vmovss dword [esi + 8], xmm3
vmovss xmm4, dword [0x47d1e4]
vfmadd213ss xmm2, xmm4, dword [esi + 0x10]
vmovss dword [esi + 0x10], xmm2
test byte [ebx + 0x48], 1
jne 0x461ed3
vmovss xmm5, dword [esi + 0xc]
vxorps xmm4, xmm4, xmm4
jmp 0x461f16
vbroadcastss xmm4, dword [edi + 0x1bd0]
vaddss xmm6, xmm4, xmm4
vaddss xmm3, xmm3, xmm4
vaddss xmm5, xmm4, dword [esi + 0xc]
vmovss dword [esi + 8], xmm3
vmovss dword [esi + 0xc], xmm5
vinsertps xmm2, xmm2, dword [esi + 0x14], 0x10
vbroadcastss xmm6, xmm6
vmaxps xmm2, xmm6, xmm2
vbroadcastss xmm6, dword [0x47d1e4]
vfmadd213ps xmm6, xmm4, xmm2
vmovlps qword [esi + 0x10], xmm6
vmovss dword [esi + 0x34], xmm4
vmovss dword [esi + 0x24], xmm5
vmovss dword [esi + 0x20], xmm3
mov dword [esi + 0x30], 0
vxorps xmm2, xmm2, xmm2
vmovlps qword [esi + 0x28], xmm2
mov ecx, dword [edi + 0x38dc]
test ecx, ecx
je 0x461f80
mov ecx, dword [ecx + 0x8c]
test ecx, ecx
je 0x461f80
mov edx, dword [edi + 0x168]
vmovss xmm2, dword [edx + 4]
xor edx, edx
inc edx
vmovss dword [ecx + 0x70], xmm2
vmovss xmm3, dword [0x47d1e0]
vfmadd231ss xmm2, xmm3, dword [edi + 0x19c]
vmovss dword [ecx + 0x70], xmm2
vfmadd231ss xmm2, xmm3, dword [edi + 0x1bec]
vmovss dword [ecx + 0x70], xmm2
xor ecx, ecx
mov dword [esi + 0x68], ecx
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x6c], eax
mov dword [esi + 0x38], 1
test byte [ebx + 0x48], 0x20
jne 0x461fb2
vmovss xmm2, dword [esi + 0x10]
vsubss xmm1, xmm2, xmm1
vmovss dword [esi + 0x10], xmm1
mov dword [esi + 0x2c], 0
mov eax, dword [ebx + 0x48]
and eax, 0x24
vxorps xmm1, xmm1, xmm1
cmp eax, 0x20
je 0x461fcc
vmovaps xmm1, xmm0
lea eax, [ebx + 0x64]
mov dword [esp + 0x20], eax
vmovss dword [esi + 0x2c], xmm1
vmovss xmm0, dword [esi + 0x14]
vsubss xmm1, xmm0, xmm1
vmovss dword [esi + 0x14], xmm1
mov eax, dword [ebx + 0x48]
test al, 0x58
je 0x4626f1
and eax, 0x2000
jne 0x4626f1
vmovsd xmm4, qword [ebx + 0x4c]
vmovss xmm5, dword [ebx + 0x54]
vmovss xmm0, dword [edi + 0x1b64]
vmovss xmm2, dword [0x47d1e0]
mov eax, dword [esp + 0x70]
vfmadd213ss xmm0, xmm2, dword [eax + 4]
vfmadd231ss xmm0, xmm2, dword [edi + 0x1b6c]
vmovss dword [esi + 0x30], xmm0
vaddss xmm2, xmm0, dword [esi + 0xc]
vmovss dword [esi + 0xc], xmm2
vsubss xmm1, xmm1, xmm0
vmovss dword [esi + 0x14], xmm1
vaddss xmm1, xmm0, dword [esi + 0x24]
vmovss dword [esi + 0x24], xmm1
vmovshdup xmm1, xmm4
vmovaps xmmword [esp + 0x80], xmm1
cmp dword [edi + 0x38d8], ebx
mov dword [esp + 0x30], ebx
je 0x4620ba
vmovss xmm1, dword [edi + 0x144]
vucomiss xmm1, xmm4
jb 0x4620ac
vaddss xmm2, xmm4, xmm5
vucomiss xmm2, xmm1
jbe 0x4620ac
vmovss xmm1, dword [edi + 0x148]
vucomiss xmm1, dword [esp + 0x80]
jb 0x4620ac
vaddss xmm2, xmm0, dword [esp + 0x80]
vucomiss xmm2, xmm1
jbe 0x4620ac
lea edx, [edi + 0x19c4]
lea eax, [edi + 0x1b54]
jmp 0x4620c6
lea edx, [edi + 0x19a8]
lea eax, [edi + 0x1b50]
jmp 0x4620c6
lea edx, [edi + 0x19e0]
lea eax, [edi + 0x1b58]
mov eax, dword [eax]
mov dword [esp + 0x15c], eax
vaddss xmm6, xmm0, dword [0x47d1e8]
mov eax, dword [edx]
test eax, eax
mov ebx, edi
je 0x462222
cmp eax, 2
je 0x46233d
cmp eax, 1
jne 0x4623a2
mov dword [esp + 0x158], 0
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x78], 0
je 0x462194
mov eax, dword [esp + 0x30]
vmovss xmm1, dword [eax + 0x70]
vucomiss xmm1, dword [0x47d2d0]
jne 0x462127
jnp 0x4623a2
mov eax, dword [esp + 0x30]
vmovss xmm0, dword [eax + 0x74]
vucomiss xmm0, dword [0x47d2d0]
jne 0x462140
jnp 0x4623a2
mov eax, dword [esp + 0x30]
vmovss xmm2, dword [eax + 0x68]
vaddss xmm3, xmm4, xmm5
vucomiss xmm3, xmm2
jbe 0x4623a2
vaddss xmm1, xmm1, xmm2
vucomiss xmm1, xmm4
jbe 0x4623a2
mov eax, dword [esp + 0x30]
vmovss xmm1, dword [eax + 0x6c]
vaddss xmm2, xmm6, dword [esp + 0x80]
vucomiss xmm2, xmm1
jbe 0x4623a2
vaddss xmm0, xmm0, xmm1
vucomiss xmm0, dword [esp + 0x80]
jbe 0x4623a2
mov ecx, dword [esp + 0x20]
mov edi, edx
mov edx, 0x11
push 0x24
vmovaps xmmword [esp + 0x44], xmm4
vmovaps xmmword [esp + 0x64], xmm5
vmovaps xmmword [esp + 0x94], xmm6
call fcn.0046c42a
vmovaps xmm6, xmmword [esp + 0x94]
vmovaps xmm5, xmmword [esp + 0x64]
vmovaps xmm4, xmmword [esp + 0x44]
add esp, 4
test eax, eax
je 0x4623a2
mov ecx, edi
vinsertps xmm0, xmm5, xmm6, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vmovlhps xmm0, xmm4, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 8], xmm0
add ecx, 4
vmovups xmm0, xmmword [ecx]
vmovups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0xffffffff
jmp 0x4623a2
mov edi, dword [edx + 4]
mov dword [esp + 0x158], edi
cmp edi, 0x1000000
jb 0x4623a2
vucomiss xmm5, dword [0x47d2d0]
jne 0x462248
jnp 0x4623a2
vucomiss xmm6, dword [0x47d2d0]
jne 0x462258
jnp 0x4623a2
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x78], 0
je 0x4622c0
mov eax, dword [esp + 0x30]
vmovss xmm0, dword [eax + 0x68]
vaddss xmm1, xmm4, xmm5
vucomiss xmm1, xmm0
jbe 0x4623a2
mov eax, dword [esp + 0x30]
vaddss xmm0, xmm0, dword [eax + 0x70]
vucomiss xmm0, xmm4
jbe 0x4623a2
mov eax, dword [esp + 0x30]
vmovss xmm0, dword [eax + 0x6c]
vaddss xmm1, xmm6, dword [esp + 0x80]
vucomiss xmm1, xmm0
jbe 0x4623a2
mov eax, dword [esp + 0x30]
vaddss xmm0, xmm0, dword [eax + 0x74]
vucomiss xmm0, dword [esp + 0x80]
jbe 0x4623a2
mov ecx, dword [esp + 0x20]
mov edx, 5
push 0x18
vmovaps xmmword [esp + 0x44], xmm4
vmovaps xmmword [esp + 0x64], xmm5
vmovaps xmmword [esp + 0x94], xmm6
call fcn.0046c42a
vmovaps xmm6, xmmword [esp + 0x94]
vmovaps xmm5, xmmword [esp + 0x64]
vmovaps xmm4, xmmword [esp + 0x44]
add esp, 4
test eax, eax
je 0x4623a2
mov word [eax + 8], 0
vinsertps xmm0, xmm5, xmm6, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vmovlhps xmm0, xmm4, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 0xa], xmm0
mov dword [eax + 0x12], edi
jmp 0x4623a2
mov dword [esp + 0x158], 0
add edx, 4
sub esp, 8
vmovss dword [esp], xmm6
mov dword [esp + 4], 0xffffffff
mov ecx, dword [esp + 0x28]
vmovaps xmm0, xmm4
vmovaps xmm1, xmmword [esp + 0x88]
vmovaps xmm2, xmm5
vmovaps xmmword [esp + 0x48], xmm4
vmovaps xmmword [esp + 0x68], xmm5
vmovaps xmmword [esp + 0x98], xmm6
call fcn.0046a815
vmovaps xmm6, xmmword [esp + 0x98]
vmovaps xmm5, xmmword [esp + 0x68]
vmovaps xmm4, xmmword [esp + 0x48]
add esp, 8
mov edi, ebx
vmovss xmm0, dword [ebx + 0x1b64]
vaddss xmm3, xmm0, dword [esp + 0x80]
vfmadd231ss xmm6, xmm0, dword [0x47d1e4]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x48]
test al, 8
je 0x4624e3
mov dword [esp + 0x1a4], 0
cmp dword [edi + 0x1b5c], 1
jne 0x462413
vmovaps xmmword [esp + 0x40], xmm4
vaddss xmm0, xmm4, xmm5
vmovss xmm1, dword [edi + 0x1b60]
vaddss xmm2, xmm6, xmm1
vsubss xmm0, xmm0, xmm2
vaddss xmm2, xmm6, dword [edi + 0x1b70]
vaddss xmm1, xmm1, xmm2
vsubss xmm5, xmm5, xmm1
vmovaps xmmword [esp + 0x60], xmm5
jmp 0x46243b
vmovaps xmmword [esp + 0x60], xmm5
vmovss xmm1, dword [edi + 0x1b60]
vaddss xmm0, xmm4, xmm1
vaddss xmm2, xmm6, dword [edi + 0x1b70]
vaddss xmm1, xmm1, xmm2
vaddss xmm4, xmm4, xmm1
vmovaps xmmword [esp + 0x40], xmm4
mov eax, dword [edi + 0x168]
lea ecx, [edi + 0x19fc]
mov edx, dword [edi + 0x1b44]
sub esp, 0x18
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
vmovss dword [esp], xmm6
mov dword [esp + 8], 0
lea ecx, [esp + 0x1bc]
mov edx, dword [esp + 0x38]
vmovss dword [esp + 0x118], xmm3
vmovaps xmm1, xmm3
vmovaps xmmword [esp + 0xa8], xmm6
vmovaps xmm2, xmm6
call fcn.0046b6bd
add esp, 0x18
test eax, eax
je 0x4624be
mov eax, dword [esp + 0x30]
test byte [eax + 0x49], 0x10
jne 0x4624be
mov eax, dword [esi + 4]
mov ecx, 0xffff5fff
and eax, ecx
or eax, 0x2000
mov dword [esi + 4], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x48]
vmovaps xmm4, xmmword [esp + 0x40]
vmovaps xmm5, xmmword [esp + 0x60]
vmovaps xmm6, xmmword [esp + 0x90]
vmovss xmm3, dword [esp + 0x100]
test al, 0x10
je 0x4625d0
mov dword [esp + 0x1a4], 0
cmp dword [edi + 0x1b5c], 1
jne 0x462535
vaddss xmm0, xmm4, xmm5
vsubss xmm0, xmm0, xmm6
test al, 8
jne 0x46251b
vmovss xmm1, dword [edi + 0x1b60]
vsubss xmm0, xmm0, xmm1
vsubss xmm5, xmm5, xmm1
vmovaps xmmword [esp + 0x40], xmm4
vaddss xmm1, xmm6, dword [edi + 0x1b70]
vsubss xmm5, xmm5, xmm1
vmovaps xmmword [esp + 0x60], xmm5
jmp 0x462559
vmovaps xmmword [esp + 0x60], xmm5
vaddss xmm0, xmm6, dword [edi + 0x1b70]
vaddss xmm1, xmm0, dword [edi + 0x1b60]
vmovaps xmm0, xmm4
vaddss xmm1, xmm4, xmm1
vmovaps xmmword [esp + 0x40], xmm1
mov eax, dword [edi + 0x168]
lea ecx, [edi + 0x1aa0]
movzx edx, word [esi + 4]
shr edx, 0xf
mov edx, dword [edi + edx*4 + 0x1b48]
sub esp, 0x18
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
vmovss dword [esp], xmm6
mov dword [esp + 8], 0
lea ecx, [esp + 0x1bc]
mov edx, dword [esp + 0x38]
vmovaps xmm1, xmm3
vmovaps xmm2, xmm6
call fcn.0046b6bd
add esp, 0x18
test eax, eax
je 0x4625c4
mov eax, dword [esp + 0x30]
test byte [eax + 0x49], 0x10
jne 0x4625c4
xor byte [esi + 5], 0x80
vmovaps xmm4, xmmword [esp + 0x40]
vmovaps xmm5, xmmword [esp + 0x60]
cmp byte [str.test], 0
mov dword [esp + 0xd0], esi
vmovaps xmmword [esp + 0x40], xmm4
vmovaps xmmword [esp + 0x60], xmm5
je 0x4625fe
xor eax, eax
lea edi, [eax + 1]
cmp byte [eax + 0x47e001], 0
mov eax, edi
jne 0x4625ee
jmp 0x462600
xor edi, edi
mov esi, dword [esp + 0x70]
mov eax, dword [esi + 8]
vmovss xmm0, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0xac], ecx
sub esp, 0x10
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
mov dword [esp + 0xc], edi
vmovss dword [esp + 4], xmm0
mov dword [esp + 8], str.test
call eax
add esp, 0x10
fstp dword [esp + 0x1f8]
xor eax, eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x150], eax
vmovaps xmm5, xmmword [esp + 0x40]
vaddss xmm0, xmm5, dword [ebx + 0x1b60]
vaddss xmm0, xmm0, dword [ebx + 0x1b68]
vmovss xmm3, dword [ebx + 0x1b6c]
vmovss xmm2, dword [ebx + 0x1b70]
vaddss xmm1, xmm3, dword [esp + 0x80]
vmovss xmm4, dword [0x47d1e0]
vfmadd213ss xmm3, xmm4, dword [esi + 4]
vfmadd213ss xmm2, xmm4, dword [esp + 0x1f8]
vaddss xmm4, xmm5, dword [esp + 0x60]
vsubss xmm4, xmm4, xmm0
vminss xmm2, xmm2, xmm4
vxorps xmm4, xmm4, xmm4
vmaxss xmm2, xmm4, xmm2
sub esp, 0x14
mov dword [esp + 0x10], esi
lea eax, [esp + 0x164]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov edi, ebx
vmovss dword [esp], xmm3
mov dword [esp + 0xc], 0x11
mov ecx, dword [esp + 0x34]
mov edx, str.test
call fcn.0046bef3
add esp, 0x14
xor edx, edx
inc edx
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xd0]
lea ecx, [esi + 8]
test byte [esi + 5], 0x88
je 0x4630eb
vmovups xmm0, xmmword [ecx]
vmovups xmmword [esi + 0x3c], xmm0
vmovsd xmm0, qword [esi + 0x3c]
vmovsd xmm1, qword [esi + 0x44]
vmovsd xmm2, qword [ebx + 0x68]
vmovsd xmm3, qword [ebx + 0x70]
vmaxps xmm4, xmm0, xmm2
vaddps xmm0, xmm0, xmm1
vaddps xmm1, xmm2, xmm3
vminps xmm0, xmm1, xmm0
vsubps xmm0, xmm0, xmm4
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vmovlhps xmm0, xmm4, xmm0
vmovaps xmmword [esp + 0x10], xmm0
vmovups xmmword [ebx + 0x68], xmm0
mov ecx, dword [esp + 0x20]
push 0x10
call fcn.0046c42a
vmovdqa xmm2, xmmword [esp + 0x14]
add esp, 4
test eax, eax
je 0x462779
vcvttps2dq xmm0, xmm2
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 8], xmm0
vmovdqu xmmword [esi + 0x3c], xmm2
mov eax, dword [esi + 4]
bt eax, 0xd
jb 0x4629a0
mov esi, dword [esp]
lea ecx, [esi + 0x5c]
mov edx, dword [esi + 0x8c]
mov dword [edx + 0x18], ecx
mov ecx, dword [esi + 0x8c]
add esi, 0x60
mov dword [ecx + 0x1c], esi
test ax, ax
js 0x4629bb
mov esi, dword [0x481b48]
test esi, esi
je 0x462825
mov edi, dword [esi + 0x38dc]
test edi, edi
je 0x462825
cmp dword [edi + 0x8c], 0
je 0x462825
mov ecx, esi
mov edx, edi
vmovss xmm0, dword [0x47d200]
push 1
call fcn.0046cbea
add esp, 4
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x64], 4
mov eax, dword [edi + 0x8c]
xor ecx, ecx
mov dword [eax + 0x78], ecx
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x88], ecx
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x84], ecx
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x7c], 0x42c80000
mov esi, dword [0x481b48]
xor ebx, ebx
cmp byte [0x47e005], 0
mov edi, 0
je 0x462845
xor eax, eax
lea edi, [eax + 1]
cmp byte [eax + 0x47e006], 0
mov eax, edi
jne 0x462837
test esi, esi
je 0x46297e
mov eax, dword [esi + 0x38dc]
test eax, eax
je 0x46297c
cmp dword [eax + 0x8c], 0
je 0x46297c
mov dword [esp], eax
mov ebx, dword [esi + 0x194]
lea ecx, [esp + 0x150]
mov edx, esi
call fcn.0046cd89
vmovsd xmm0, qword [esi + 0x198]
vmovsd qword [esp + 0x1a4], xmm0
mov eax, dword [esi + 0x1b94]
mov dword [esp + 0x1ac], eax
vmovss xmm0, dword [esi + 0x1a0]
mov ecx, ebx
shr ecx, 0x10
mov eax, ebx
and eax, 0xff000000
vucomiss xmm0, dword [0x47d1e8]
jne 0x4628bd
jnp 0x4628fa
movzx edx, bl
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, edx
vmulss xmm1, xmm0, xmm1
vcvttss2si edx, xmm1
movzx ebx, bh
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, ebx
vmulss xmm1, xmm0, xmm1
vcvttss2si ebx, xmm1
movzx ecx, cl
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, ecx
vmulss xmm0, xmm0, xmm1
vcvttss2si ecx, xmm0
mov bh, bl
mov bl, dl
movzx ecx, cl
shl ecx, 0x10
or ecx, eax
movzx eax, bh
shl eax, 8
movzx edx, bl
or edx, eax
or edx, ecx
mov dword [esp + 0x1b0], edx
mov eax, dword [esi + 0x168]
vmovss xmm0, dword [esp + 0x150]
vmovss xmm1, dword [esp + 0x154]
vmovd xmm2, dword [esp + 0x158]
vmovss xmm3, dword [esp + 0x15c]
mov ecx, dword [esp]
add ecx, 0x64
sub esp, 0x14
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1b8]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
vmovss dword [esp], xmm3
mov dword [esp + 0xc], 1
mov edx, 0x47e005
call fcn.0046bef3
add esp, 0x14
mov esi, dword [0x481b48]
mov ebx, esi
cmp byte [str.helavelavelveli], 0
je 0x4672fe
xor eax, eax
lea esi, [eax + 1]
cmp byte [eax + 0x47e016], 0
mov eax, esi
jne 0x46298d
jmp 0x467300
mov edx, dword [esp]
lea eax, [edx + 0x5c]
mov ecx, dword [edx + 0x8c]
mov dword [ecx + 0x18], eax
mov eax, dword [edx + 0x8c]
add edx, 0x60
mov dword [eax + 0x1c], edx
mov ebx, dword [0x481b48]
test ebx, ebx
je 0x4647b6
cmp byte [ebx + 0x164], 0
je 0x4629d9
mov byte [ebx + 0x164], 0
cmp byte [ebx + 0x166], 0
je 0x4629f2
mov byte [ebx + 0x166], 0
mov word [ebx + 0x164], 0
mov edi, dword [ebx + 0x38dc]
test edi, edi
je 0x4647b6
mov esi, dword [edi + 0x8c]
test esi, esi
je 0x4647ac
mov eax, dword [esi]
cmp eax, 1
jne 0x462a41
test byte [edi + 0x49], 0x20
jne 0x4647ac
lea eax, [edi + 0x64]
mov dword [esp + 0x30], eax
lea eax, [esi + 4]
mov dword [esp], eax
test byte [esi + 5], 0x14
mov eax, 0
cmove eax, ebx
mov dword [esp + 0x20], eax
xor edx, edx
inc edx
jmp 0x462a67
lea ecx, [edi + 0x64]
mov dword [esp + 0x30], ecx
lea ecx, [esi + 4]
mov dword [esp], ecx
test byte [esi + 5], 0x14
mov ecx, 0
cmove ecx, ebx
mov dword [esp + 0x20], ecx
test al, 0xf6
mov edx, 1
jne 0x462a95
vmovaps xmm0, xmmword [0x47d210]
vmovups xmmword [edi + 0x68], xmm0
mov ecx, dword [esp + 0x30]
push 0x10
call fcn.0046c42a
add esp, 4
test eax, eax
je 0x462a93
vmovsd xmm0, qword [0x47d220]
vmovsd qword [eax + 8], xmm0
mov eax, dword [esi]
vmovsd xmm3, qword [ebx + 0x1bfc]
cmp eax, 0x1f
mov dword [esp + 0x10], ebx
jg 0x462ac0
cmp eax, 2
je 0x462adc
cmp eax, 4
mov edx, dword [esp]
je 0x462ae4
cmp eax, 0x10
jne 0x462af7
lea eax, [ebx + 0x1c2c]
jmp 0x462afd
cmp eax, 0x20
je 0x462aec
cmp eax, 0x40
mov edx, dword [esp]
je 0x462ad4
cmp eax, 0x80
jne 0x462af7
lea eax, [ebx + 0x1c34]
jmp 0x462afd
lea eax, [ebx + 0x1c14]
jmp 0x462af2
lea eax, [ebx + 0x1c1c]
jmp 0x462afd
lea eax, [ebx + 0x1c24]
mov edx, dword [esp]
jmp 0x462afd
lea eax, [ebx + 0x1c0c]
vmovss xmm0, dword [eax]
vmovss dword [esp + 0x40], xmm0
vmovss xmm0, dword [esi + 0x6c]
vaddss xmm0, xmm0, dword [esi + 0x24]
vmovss xmm2, dword [eax + 4]
vmovss dword [esi + 0x24], xmm0
mov eax, dword [esi + 4]
mov ecx, 0x8800
and eax, ecx
cmp eax, 0x800
jne 0x46306c
vmovss xmm4, dword [esi + 0xc]
vaddss xmm1, xmm4, dword [esi + 0x14]
vucomiss xmm1, xmm0
jbe 0x462b49
vsubss xmm0, xmm0, xmm4
vmovss dword [esi + 0x14], xmm0
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x1b94]
cmp ebx, 0x1000000
jb 0x462c78
vmovss xmm5, dword [edi + 0x54]
vucomiss xmm5, dword [0x47d2d0]
jne 0x462b74
jnp 0x462c78
vucomiss xmm2, dword [0x47d2d0]
jne 0x462b84
jnp 0x462c78
vmovss xmm6, dword [edi + 0x4c]
cmp dword [edi + 0x78], 0
je 0x462bd3
vmovss xmm0, dword [edi + 0x68]
vaddss xmm1, xmm6, xmm5
vucomiss xmm1, xmm0
jbe 0x462c78
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm6
jbe 0x462c78
vmovss xmm0, dword [edi + 0x6c]
vaddss xmm1, xmm4, xmm2
vucomiss xmm1, xmm0
jbe 0x462c78
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm4
jbe 0x462c78
mov ecx, dword [esp + 0x30]
mov edx, 5
push 0x18
vmovaps xmmword [esp + 0x64], xmm3
vmovaps xmmword [esp + 0x74], xmm2
vmovaps xmmword [esp + 0x84], xmm4
vmovaps xmmword [esp + 0xd4], xmm5
vmovaps xmmword [esp + 0x94], xmm6
call fcn.0046c42a
vmovaps xmm4, xmmword [esp + 0x94]
vmovaps xmm2, xmmword [esp + 0xd4]
vmovaps xmm1, xmmword [esp + 0x84]
vmovaps xmm0, xmmword [esp + 0x74]
vmovaps xmm3, xmmword [esp + 0x64]
mov edx, dword [esp + 4]
add esp, 4
test eax, eax
je 0x462c78
mov word [eax + 8], 0
vinsertps xmm0, xmm2, xmm0, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vinsertps xmm1, xmm4, xmm1, 0x10
vmovlhps xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 0xa], xmm0
mov dword [eax + 0x12], ebx
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x1b94]
cmp ebx, 0x1000000
jb 0x462db7
vmovss xmm0, dword [esp + 0x40]
vaddss xmm2, xmm0, dword [esi + 0x34]
vucomiss xmm2, dword [0x47d2d0]
jne 0x462ca9
jnp 0x462db7
vmovss xmm4, dword [esi + 0x14]
vucomiss xmm4, dword [0x47d2d0]
jne 0x462cbe
jnp 0x462db7
vmovss xmm5, dword [edi + 0x4c]
vmovss xmm6, dword [esi + 0xc]
cmp dword [edi + 0x78], 0
je 0x462d12
vmovss xmm0, dword [edi + 0x68]
vaddss xmm1, xmm5, xmm2
vucomiss xmm1, xmm0
jbe 0x462db7
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm5
jbe 0x462db7
vmovss xmm0, dword [edi + 0x6c]
vaddss xmm1, xmm6, xmm4
vucomiss xmm1, xmm0
jbe 0x462db7
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm6
jbe 0x462db7
mov ecx, dword [esp + 0x30]
mov edx, 5
push 0x18
vmovaps xmmword [esp + 0x64], xmm3
vmovaps xmmword [esp + 0x74], xmm2
vmovaps xmmword [esp + 0x84], xmm4
vmovaps xmmword [esp + 0xd4], xmm5
vmovaps xmmword [esp + 0x94], xmm6
call fcn.0046c42a
vmovaps xmm4, xmmword [esp + 0x94]
vmovaps xmm2, xmmword [esp + 0xd4]
vmovaps xmm1, xmmword [esp + 0x84]
vmovaps xmm0, xmmword [esp + 0x74]
vmovaps xmm3, xmmword [esp + 0x64]
mov edx, dword [esp + 4]
add esp, 4
test eax, eax
je 0x462db7
mov word [eax + 8], 0
vinsertps xmm0, xmm0, xmm1, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vinsertps xmm1, xmm2, xmm4, 0x10
vmovlhps xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 0xa], xmm0
mov dword [eax + 0x12], ebx
vmovss xmm0, dword [esi + 8]
vmovss xmm2, dword [esi + 0xc]
vaddss xmm4, xmm0, dword [esi + 0x10]
vmovss xmm0, dword [esp + 0x40]
vaddss xmm5, xmm0, dword [esi + 0x34]
vmovss xmm6, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
cmp dword [eax], 0
je 0x462de4
mov eax, dword [esp + 0x10]
jmp 0x462dfd
test byte [edx], 0x20
vmovaps xmm0, xmm3
mov eax, dword [esp + 0x10]
je 0x462df9
vmovss xmm0, dword [0x47d230]
vaddss xmm5, xmm5, xmm0
mov ebx, dword [eax + 0x1b94]
cmp ebx, 0x1000000
jb 0x462f1e
vucomiss xmm5, dword [0x47d2d0]
jne 0x462e1f
jnp 0x462f1e
vucomiss xmm6, dword [0x47d2d0]
jne 0x462e2f
jnp 0x462f1e
cmp dword [edi + 0x78], 0
je 0x462e79
vmovss xmm0, dword [edi + 0x68]
vaddss xmm1, xmm4, xmm5
vucomiss xmm1, xmm0
jbe 0x462f1e
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm4
jbe 0x462f1e
vmovss xmm0, dword [edi + 0x6c]
vaddss xmm1, xmm2, xmm6
vucomiss xmm1, xmm0
jbe 0x462f1e
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm2
jbe 0x462f1e
mov ecx, dword [esp + 0x30]
mov edx, 5
push 0x18
vmovaps xmmword [esp + 0x64], xmm3
vmovaps xmmword [esp + 0x74], xmm2
vmovaps xmmword [esp + 0x84], xmm4
vmovaps xmmword [esp + 0xd4], xmm5
vmovaps xmmword [esp + 0x94], xmm6
call fcn.0046c42a
vmovaps xmm4, xmmword [esp + 0x94]
vmovaps xmm0, xmmword [esp + 0xd4]
vmovaps xmm2, xmmword [esp + 0x84]
vmovaps xmm1, xmmword [esp + 0x74]
vmovaps xmm3, xmmword [esp + 0x64]
mov edx, dword [esp + 4]
add esp, 4
test eax, eax
je 0x462f1e
mov word [eax + 8], 0
vinsertps xmm0, xmm0, xmm4, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vinsertps xmm1, xmm2, xmm1, 0x10
vmovlhps xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 0xa], xmm0
mov dword [eax + 0x12], ebx
vmovss xmm2, dword [esi + 0x2c]
vucomiss xmm2, dword [0x47d2d0]
jbe 0x46306c
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x1b94]
cmp ebx, 0x1000000
jb 0x46306c
vmovss xmm4, dword [edi + 0x54]
vucomiss xmm4, dword [0x47d2d0]
jne 0x462f5c
jnp 0x46306c
vucomiss xmm2, dword [0x47d2d0]
jne 0x462f6c
jnp 0x46306c
vmovss xmm5, dword [edi + 0x4c]
vmovss xmm0, dword [esi + 0xc]
vaddss xmm6, xmm0, dword [esi + 0x14]
cmp dword [edi + 0x78], 0
je 0x462fc5
vmovss xmm0, dword [edi + 0x68]
vaddss xmm1, xmm5, xmm4
vucomiss xmm1, xmm0
jbe 0x46306c
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm5
jbe 0x46306c
vmovss xmm0, dword [edi + 0x6c]
vaddss xmm1, xmm2, xmm6
vucomiss xmm1, xmm0
jbe 0x46306c
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm6
jbe 0x46306c
mov ecx, dword [esp + 0x30]
mov edx, 5
push 0x18
vmovaps xmmword [esp + 0x64], xmm3
vmovaps xmmword [esp + 0x74], xmm2
vmovss dword [esp + 0x84], xmm4
vmovaps xmmword [esp + 0xd4], xmm5
vmovaps xmmword [esp + 0x94], xmm6
call fcn.0046c42a
vmovaps xmm4, xmmword [esp + 0x94]
vmovaps xmm1, xmmword [esp + 0xd4]
vmovss xmm0, dword [esp + 0x84]
vmovaps xmm2, xmmword [esp + 0x74]
vmovaps xmm3, xmmword [esp + 0x64]
mov edx, dword [esp + 4]
add esp, 4
test eax, eax
je 0x46306c
mov word [eax + 8], 0
vmaxss xmm0, xmm0, dword [0x47d2d0]
vinsertps xmm1, xmm1, xmm4, 0x10
vinsertps xmm0, xmm1, xmm0, 0x20
vinsertps xmm0, xmm0, xmm2, 0x30
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 0xa], xmm0
mov dword [eax + 0x12], ebx
movzx eax, word [edx]
test eax, 0x8020
jne 0x463d1b
vmovss xmm0, dword [0x47d234]
vucomiss xmm0, dword [edi + 0x90]
jbe 0x463d1b
test byte [esi], 0xf6
mov ebx, dword [esp + 0x10]
vmovaps xmmword [esp + 0x60], xmm3
je 0x4630d8
mov ecx, dword [edi + 0x8c]
mov eax, ecx
mov edx, eax
mov eax, dword [eax + 0x198]
test eax, eax
jne 0x4630a7
mov ebx, edi
mov eax, ebx
mov ebx, dword [ebx + 0x184]
test ebx, ebx
jne 0x4630b5
mov ebx, dword [esp + 0x10]
cmp eax, dword [ebx + 0x38d8]
je 0x463244
xor eax, eax
jmp 0x463357
cmp edi, dword [ebx + 0x38d8]
je 0x463306
xor eax, eax
jmp 0x46330d
vmovss xmm0, dword [ebx + 0x4c]
vmovss xmm2, dword [ebx + 0x54]
vmovss xmm4, dword [esi + 0x30]
vaddss xmm1, xmm4, dword [ebx + 0x50]
vmovss xmm3, dword [ebx + 0x58]
vsubss xmm7, xmm3, xmm4
mov eax, dword [edi + 0x1b78]
test eax, eax
je 0x4674fc
cmp eax, 2
je 0x467615
cmp eax, 1
jne 0x4626fe
cmp dword [ebx + 0x78], 0
je 0x46319a
vmovss xmm5, dword [ebx + 0x70]
vucomiss xmm5, dword [0x47d2d0]
jne 0x463143
jnp 0x4626fe
vmovss xmm4, dword [ebx + 0x74]
vucomiss xmm4, dword [0x47d2d0]
jne 0x463158
jnp 0x4626fe
vmovss xmm6, dword [ebx + 0x68]
vaddss xmm3, xmm0, xmm2
vucomiss xmm3, xmm6
jbe 0x4626fe
vaddss xmm3, xmm5, xmm6
vucomiss xmm3, xmm0
jbe 0x4626fe
vmovss xmm3, dword [ebx + 0x6c]
vaddss xmm5, xmm1, xmm7
vucomiss xmm5, xmm3
jbe 0x4626fe
vaddss xmm3, xmm4, xmm3
vucomiss xmm3, xmm1
jbe 0x4626fe
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
mov edx, 0x11
push 0x24
vmovaps xmmword [esp + 0x44], xmm0
vmovaps xmmword [esp + 0x64], xmm1
vmovaps xmmword [esp + 0x74], xmm2
vmovaps xmmword [esp + 0x84], xmm7
call fcn.0046c42a
vmovaps xmm3, xmmword [esp + 0x84]
vmovaps xmm0, xmmword [esp + 0x74]
vmovaps xmm2, xmmword [esp + 0x64]
vmovaps xmm1, xmmword [esp + 0x44]
mov ecx, dword [esp + 0x14]
xor edx, edx
inc edx
add esp, 4
test eax, eax
je 0x4626fe
vinsertps xmm0, xmm0, xmm3, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vinsertps xmm1, xmm1, xmm2, 0x10
vmovlhps xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 8], xmm0
add edi, 0x1b7c
vmovups xmm0, xmmword [edi]
vmovups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0xffffffff
jmp 0x4626fe
cmp dword [esi + 0x38], 0
je 0x4630d1
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4630d1
vmovss xmm0, dword [esi + 8]
vmovss xmm1, dword [eax + 0x144]
xor eax, eax
vucomiss xmm1, xmm0
jb 0x463357
vaddss xmm2, xmm0, dword [esi + 0x10]
vucomiss xmm2, xmm1
jbe 0x463357
vmovss xmm1, dword [esi + 0xc]
mov eax, dword [esp + 0x20]
vmovss xmm4, dword [eax + 0x148]
xor eax, eax
vucomiss xmm4, xmm1
jb 0x463357
vaddss xmm3, xmm1, dword [esi + 0x14]
vucomiss xmm3, xmm4
jbe 0x463357
vmovss xmm4, dword [edx + 0x3c]
vucomiss xmm2, xmm4
jbe 0x4630d1
vaddss xmm2, xmm4, dword [edx + 0x44]
vucomiss xmm2, xmm0
jbe 0x4630d1
vmovss xmm0, dword [edx + 0x40]
vucomiss xmm3, xmm0
jbe 0x4630d1
vaddss xmm0, xmm0, dword [edx + 0x48]
vucomiss xmm0, xmm1
jbe 0x4630d1
cmp dword [ecx + 0x198], 0
je 0x467811
mov dword [ecx + 0x38], 0
mov ecx, dword [ecx + 0x198]
jmp 0x4632ea
cmp dword [esi + 0x38], 0
setne al
cmp dword [esp + 0x20], 0
je 0x46332e
mov ecx, dword [esp + 0x20]
vmovss xmm0, dword [ecx + 0x160]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x46333a
test al, al
jne 0x46334d
mov dword [edi + 0x16c], 0
jmp 0x463357
vmovss xmm0, dword [ecx + 0x15c]
vucomiss xmm0, xmm1
seta cl
test cl, al
je 0x46332e
mov dword [edi + 0x16c], 1
mov dword [esp + 0xa8], 0
movzx eax, al
mov dword [esp + 0x80], eax
vmovss xmm0, dword [esi + 8]
vmovss xmm1, dword [esi + 0xc]
vaddss xmm0, xmm0, dword [esi + 0x10]
vmovss xmm2, dword [esp + 0x40]
vaddss xmm5, xmm0, xmm2
vmovss xmm2, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
vmovss xmm0, dword [eax]
vmovddup xmm4, qword [0x47d238]
vorpd xmm0, xmm0, xmm4
vsubsd xmm7, xmm0, qword [0x47d238]
vmulss xmm0, xmm2, dword [0x47d240]
vmovss dword [esp + 0x100], xmm0
vmulss xmm0, xmm2, dword [0x47d244]
vmovss dword [esp + 0x5c], xmm0
vmovss xmm3, dword [esi + 0x24]
vsubss xmm3, xmm3, xmm1
vcvttps2dq xmm3, xmm3
vcvtdq2ps xmm6, xmm3
mov ebx, dword [ebx + 0x168]
vmovss dword [esp + 0x90], xmm5
vmovss dword [esp + 0x150], xmm5
vmovss dword [esp + 0x154], xmm1
vmovaps xmm5, xmmword [esp + 0x60]
vinsertps xmm2, xmm5, xmm2, 0x10
vmovss xmm3, dword [0x47d1e8]
vmaxps xmm2, xmm3, xmm2
vmovlps qword [esp + 0x158], xmm2
vmovshdup xmm0, xmm2
vmovaps xmmword [esp + 0xd0], xmm6
vucomiss xmm0, xmm6
vmovaps xmm6, xmm5
vxorps xmm5, xmm5, xmm5
jae 0x463835
vcvtsd2ss xmm3, xmm7, xmm7
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x1420], 0
vmovapd xmmword [esp + 0x1e0], xmm4
vmovss dword [esp + 0x70], xmm1
vmovaps xmmword [esp + 0xf0], xmm2
je 0x4635c9
vmovss dword [esp + 0xec], xmm3
vmovaps xmmword [esp + 0x130], xmm0
vfmadd231ss xmm0, xmm2, dword [0x47d1e4]
vmovss dword [esp + 0xe8], xmm0
vmovss xmm0, dword [esp + 0x100]
vminss xmm0, xmm0, dword [esp + 0x5c]
vmovss dword [esp + 0x5c], xmm0
lea eax, [ecx + 0x14c8]
mov ecx, dword [ecx + 0x1570]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
vmovss dword [esp], xmm2
lea ecx, [esp + 0x1bc]
mov edx, dword [esp + 0x48]
vmovss xmm0, dword [esp + 0xa8]
call fcn.0046b6bd
add esp, 0x18
vxorps xmm0, xmm0, xmm0
test eax, eax
je 0x4634f5
vmovss xmm0, dword [esp + 0x5c]
vmovss dword [esp + 0x148], xmm0
vmovaps xmm0, xmmword [esp + 0x130]
vaddss xmm0, xmm0, dword [esp + 0x70]
vmovaps xmm2, xmmword [esp + 0xf0]
vsubss xmm1, xmm0, xmm2
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x1424]
mov ecx, dword [ecx + 0x156c]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
vmovss dword [esp], xmm2
lea ecx, [esp + 0x1bc]
mov edx, dword [esp + 0x48]
vmovss xmm0, dword [esp + 0xa8]
call fcn.0046b6bd
add esp, 0x18
vmovss xmm0, dword [0x47d230]
test eax, eax
je 0x46357b
vmovss xmm0, dword [esp + 0x5c]
vxorps xmm1, xmm1, xmm1
vmaxss xmm2, xmm1, dword [esp + 0xe8]
vmovss xmm1, dword [esp + 0xec]
vsubss xmm1, xmm1, dword [esp + 0x148]
vaddss xmm3, xmm1, xmm0
vmovaps xmm0, xmm2
vmovss xmm1, dword [esp + 0x70]
vaddss xmm1, xmm1, dword [esp + 0xf0]
vmovss dword [esp + 0x70], xmm1
vmovss dword [esp + 0x154], xmm1
vmovss dword [esp + 0x15c], xmm2
vmovaps xmm6, xmmword [esp + 0xd0]
vmovaps xmm7, xmm0
vsubss xmm0, xmm6, xmm0
vminss xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vmaxss xmm0, xmm1, xmm0
vmovss dword [esp + 0x5c], xmm0
vdivss xmm1, xmm7, xmm6
mov ebx, dword [esp + 0x10]
vmovss xmm2, dword [ebx + 0x1400]
vmovss xmm3, dword [ebx + 0x1414]
vaddss xmm4, xmm3, xmm3
vmovss xmm5, dword [0x47d1e0]
vfmadd231ss xmm4, xmm2, xmm5
vfmsub231ss xmm4, xmm7, xmm1
vdivss xmm5, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vmaxss xmm1, xmm0, xmm4
vmovss dword [esp + 0x12c], xmm1
vmovss xmm0, dword [esp + 0x70]
vfmadd213ss xmm5, xmm7, xmm0
vaddss xmm4, xmm2, xmm5
vaddss xmm3, xmm3, xmm4
vmovss dword [esp + 0x124], xmm3
vmovss xmm4, dword [ebx + 0x1410]
vaddss xmm5, xmm4, xmm4
vfmadd231ss xmm5, xmm2, dword [0x47d1e0]
vmovaps xmm6, xmmword [esp + 0xf0]
vsubss xmm5, xmm6, xmm5
vmovss dword [esp + 0x128], xmm5
vmovss xmm5, dword [esp + 0x90]
vaddss xmm2, xmm5, xmm2
vaddss xmm2, xmm2, xmm4
vmovss dword [esp + 0x120], xmm2
vmovss dword [esp + 0x1a4], xmm5
vmovss dword [esp + 0x70], xmm0
vmovss dword [esp + 0x1a8], xmm0
vmovss dword [esp + 0x1ac], xmm6
vsubss xmm2, xmm3, xmm0
vxorps xmm4, xmm4, xmm4
vmaxss xmm2, xmm4, xmm2
vmovss dword [esp + 0x1b0], xmm2
vmovss dword [esp + 0xac], xmm5
vaddss xmm1, xmm1, xmm3
vmovss dword [esp + 0xb0], xmm1
vmovss dword [esp + 0xb4], xmm6
vmovaps xmmword [esp + 0x130], xmm7
vaddss xmm2, xmm0, xmm7
vsubss xmm1, xmm2, xmm1
vmaxss xmm1, xmm4, xmm1
vmovss dword [esp + 0xb8], xmm1
lea eax, [ebx + 0x1350]
mov dword [esp + 0xf0], eax
vmovss xmm1, dword [esp + 0x100]
vminss xmm2, xmm1, xmm7
lea ecx, [esp + 0xa8]
mov edx, dword [esp + 0x20]
vmovss xmm0, dword [esp + 0x5c]
vmovaps xmm1, xmmword [esp + 0xd0]
push 0
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x1ac]
push eax
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x94]
call fcn.0046d164
add esp, 0x18
vmovaps xmmword [esp + 0x90], xmm0
vdivss xmm0, xmm0, dword [esp + 0xd0]
vmovaps xmm1, xmmword [esp + 0x130]
vfmadd213ss xmm0, xmm1, dword [esp + 0x70]
vaddss xmm0, xmm0, dword [ebx + 0x1408]
vaddss xmm0, xmm0, dword [ebx + 0x1414]
vmovss dword [esp + 0x124], xmm0
mov eax, dword [ebx + 0x1578]
test eax, eax
je 0x4637cb
mov ecx, dword [ebx + 0x1574]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x18c]
push ecx
push dword [esp + 0x34]
call eax
add esp, 8
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x154]
push eax
push dword [esp + 0xf8]
call fcn.0046d590
add esp, 0xc
mov eax, dword [ebx + 0x157c]
test eax, eax
je 0x46381d
mov ecx, dword [ebx + 0x1574]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x198]
push ecx
push dword [esp + 0x34]
call eax
add esp, 8
vmovaps xmm6, xmmword [esp + 0x60]
vmovapd xmm4, xmmword [esp + 0x1e0]
vmovaps xmm5, xmmword [esp + 0x90]
vcvttss2si eax, xmm5
mov ecx, eax
sar ecx, 0x1f
vsubss xmm0, xmm5, dword [0x47d248]
vcvttss2si edx, xmm0
and edx, ecx
or edx, eax
mov eax, dword [esi + 0x1c]
mov dword [eax], edx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x46386f
cmp byte [esp + 0x80], 0
je 0x46386f
mov dword [eax + 0x160], 0
mov dword [esp + 0xa8], 0
vmovss xmm7, dword [esi + 8]
vmovss xmm0, dword [esi + 0xc]
vaddss xmm5, xmm0, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
vmovss xmm0, dword [eax]
vorpd xmm0, xmm0, xmm4
vsubsd xmm1, xmm0, qword [0x47d238]
vmovss xmm0, dword [esi + 0x28]
vsubss xmm2, xmm0, xmm7
vcvttps2dq xmm2, xmm2
vcvtdq2ps xmm4, xmm2
vmulss xmm2, xmm0, dword [0x47d24c]
vmovss dword [esp + 0x100], xmm2
vmulss xmm0, xmm0, dword [0x47d250]
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x168]
vmovshdup xmm2, xmm6
vmovss xmm3, dword [0x47d1e8]
vmaxss xmm2, xmm3, xmm2
vmovaps xmm3, xmm6
vaddss xmm6, xmm2, xmm2
vmaxss xmm6, xmm6, dword [esi + 0x10]
vmovss dword [esp + 0x150], xmm7
vmovaps xmmword [esp + 0xd0], xmm5
vmovss dword [esp + 0x154], xmm5
vmovss dword [esp + 0x15c], xmm2
vmovss dword [esp + 0x158], xmm6
vucomiss xmm6, xmm4
vxorps xmm5, xmm5, xmm5
jae 0x463cfa
vcvtsd2ss xmm1, xmm1, xmm1
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x11f0], 0
vmovaps xmmword [esp + 0x70], xmm4
je 0x463ac8
vmovss dword [esp + 0x5c], xmm1
vmovss dword [esp + 0xec], xmm6
vmovaps xmm1, xmm6
vfmadd231ss xmm1, xmm2, dword [0x47d1e4]
vmovss dword [esp + 0xf0], xmm1
vmovss xmm1, dword [esp + 0x100]
vminss xmm0, xmm1, xmm0
vmovss dword [esp + 0x1e0], xmm0
lea eax, [ecx + 0x1298]
mov ecx, dword [ecx + 0x1340]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
vmovss dword [esp], xmm2
lea ecx, [esp + 0x1bc]
mov edx, dword [esp + 0x48]
vmovss dword [esp + 0xa8], xmm7
vmovaps xmm0, xmm7
vmovaps xmm1, xmmword [esp + 0xe8]
vmovss dword [esp + 0x148], xmm2
call fcn.0046b6bd
add esp, 0x18
vxorps xmm0, xmm0, xmm0
test eax, eax
je 0x4639f0
vmovss xmm0, dword [esp + 0x1e0]
vmovss dword [esp + 0xe8], xmm0
vmovss xmm0, dword [esp + 0xec]
vaddss xmm0, xmm0, dword [esp + 0x90]
vmovss xmm2, dword [esp + 0x130]
vsubss xmm0, xmm0, xmm2
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x11f4]
mov ecx, dword [ecx + 0x133c]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
vmovss dword [esp], xmm2
lea ecx, [esp + 0x1bc]
mov edx, dword [esp + 0x48]
vmovaps xmm1, xmmword [esp + 0xe8]
call fcn.0046b6bd
add esp, 0x18
vmovss xmm0, dword [0x47d230]
test eax, eax
je 0x463a7c
vmovss xmm0, dword [esp + 0x1e0]
vmovss xmm1, dword [esp + 0x5c]
vsubss xmm1, xmm1, dword [esp + 0xe8]
vaddss xmm1, xmm1, xmm0
vmovss xmm7, dword [esp + 0x90]
vmovss xmm2, dword [esp + 0x130]
vaddss xmm7, xmm2, xmm7
vmovss dword [esp + 0x150], xmm7
vmovss xmm3, dword [esp + 0xf0]
vmovss dword [esp + 0x158], xmm3
vmovaps xmm4, xmmword [esp + 0x70]
jmp 0x463acc
vmovaps xmm3, xmm6
vmovss dword [esp + 0x90], xmm7
vsubss xmm0, xmm4, xmm3
vminss xmm0, xmm1, xmm0
vxorps xmm1, xmm1, xmm1
vmaxss xmm0, xmm1, xmm0
vmovss dword [esp + 0x130], xmm0
vdivss xmm0, xmm3, xmm4
vmovss dword [esp + 0x5c], xmm0
vmovaps xmm0, xmm3
mov ebx, dword [esp + 0x10]
vmovsd xmm6, qword [ebx + 0x11e0]
vaddss xmm1, xmm6, xmm6
vbroadcastss xmm4, dword [ebx + 0x11d0]
vmovss xmm5, dword [0x47d1e0]
vfmadd231ss xmm1, xmm4, xmm5
vfmsub231ss xmm1, xmm3, dword [esp + 0x5c]
vmovss dword [esp + 0x1ac], xmm1
vmovshdup xmm3, xmm6
vaddss xmm3, xmm3, xmm3
vfmadd231ss xmm3, xmm4, xmm5
vsubss xmm3, xmm2, xmm3
vmovss dword [esp + 0x1b0], xmm3
vmovss xmm3, dword [esp + 0x130]
vdivss xmm3, xmm3, dword [esp + 0x70]
vfmadd213ss xmm3, xmm0, xmm7
vmovaps xmm5, xmmword [esp + 0xd0]
vinsertps xmm3, xmm3, xmm5, 0x10
vaddps xmm3, xmm4, xmm3
vmovss dword [esp + 0xac], xmm7
vaddps xmm4, xmm6, xmm3
vmovss dword [esp + 0xb0], xmm5
vsubss xmm3, xmm4, xmm7
vmovss dword [esp + 0xb4], xmm3
vmovlps qword [esp + 0x1a4], xmm4
vaddss xmm1, xmm1, xmm4
vmovss dword [esp + 0x120], xmm1
vmovss dword [esp + 0x124], xmm5
vmovss dword [esp + 0xf0], xmm0
vaddss xmm3, xmm7, xmm0
vsubss xmm1, xmm3, xmm1
vmovss dword [esp + 0x128], xmm1
vmovss dword [esp + 0xb8], xmm2
vmovss dword [esp + 0x12c], xmm2
lea eax, [ebx + 0x1120]
mov dword [esp + 0xd0], eax
vmovss xmm1, dword [esp + 0x100]
vminss xmm2, xmm1, xmm0
lea ecx, [esp + 0xa8]
mov edx, dword [esp + 0x20]
vmovss xmm0, dword [esp + 0x130]
vmovaps xmm1, xmmword [esp + 0x70]
push 1
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x94]
call fcn.0046d164
add esp, 0x18
vmovaps xmmword [esp + 0x80], xmm0
vdivss xmm0, xmm0, dword [esp + 0x70]
vmovss xmm1, dword [esp + 0x90]
vfmadd132ss xmm0, xmm1, dword [esp + 0xf0]
vmovss dword [esp + 0x1a4], xmm0
mov eax, dword [ebx + 0x1348]
test eax, eax
je 0x463c99
mov ecx, dword [ebx + 0x1344]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x18c]
push ecx
push dword [esp + 0x34]
call eax
add esp, 8
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1a4]
push eax
lea eax, [esp + 0x154]
push eax
push dword [esp + 0xd8]
call fcn.0046d590
add esp, 0xc
mov eax, dword [ebx + 0x134c]
test eax, eax
je 0x463ceb
mov ecx, dword [ebx + 0x1344]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x198]
push ecx
push dword [esp + 0x34]
call eax
add esp, 8
vmovaps xmm3, xmmword [esp + 0x60]
vmovaps xmm5, xmmword [esp + 0x80]
vcvttss2si eax, xmm5
mov ecx, eax
vsubss xmm0, xmm5, dword [0x47d248]
vcvttss2si edx, xmm0
sar ecx, 0x1f
and edx, ecx
or edx, eax
mov eax, dword [esi + 0x18]
mov dword [eax], edx
mov edx, dword [esp]
test byte [edi + 0x48], 0x80
jne 0x463d30
mov dword [edi + 0x90], 0
jmp 0x463e17
mov ecx, dword [esp + 0x10]
vmovss xmm0, dword [ecx + 0x154]
mov al, 1
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x463d6e
jp 0x463d6e
vmovss xmm0, dword [ecx + 0x158]
vucomiss xmm0, xmm1
jne 0x463d6e
jp 0x463d6e
vxorps xmm0, xmm0, xmm0
vcmpneqss xmm0, xmm0, dword [ecx + 0x160]
vmovd eax, xmm0
and eax, 1
mov edx, dword [ecx + 0x38dc]
test edx, edx
je 0x463dd7
test byte [edx + 0x49], 0x20
jne 0x463dd7
mov ecx, dword [ecx + 0x38d0]
test byte [ecx + 0x49], 0x80
jne 0x463d8f
lea ebx, [edx + 0x58]
jmp 0x463d98
mov ebx, dword [edx + 0x8c]
add ebx, 0x30
vmovss xmm0, dword [edx + 0x4c]
mov ecx, dword [esp + 0x10]
vmovss xmm1, dword [ecx + 0x144]
xor ecx, ecx
vucomiss xmm1, xmm0
jb 0x463dd9
vaddss xmm0, xmm0, dword [edx + 0x54]
vucomiss xmm0, xmm1
jbe 0x463dd9
vmovss xmm0, dword [edx + 0x50]
mov ecx, dword [esp + 0x10]
vmovss xmm1, dword [ecx + 0x148]
vucomiss xmm1, xmm0
jae 0x464420
xor ecx, ecx
test cl, cl
jne 0x463e0a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c8c]
and eax, 2
jne 0x463e0a
mov eax, dword [esp + 0x10]
vmovss xmm0, dword [eax + 0x22f0]
vaddss xmm0, xmm0, dword [edi + 0x90]
vmovss dword [edi + 0x90], xmm0
jmp 0x463e14
mov dword [edi + 0x90], 0
mov edx, dword [esp]
mov eax, dword [edx]
test al, 1
jne 0x463f90
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x10]
je 0x4645ae
mov eax, dword [edx]
mov ecx, eax
and ecx, 4
je 0x4645ae
mov ecx, eax
and ecx, 0x8000
jne 0x4645ae
vmovss xmm0, dword [esi + 8]
vmovss xmm1, dword [esi + 0xc]
vaddss xmm7, xmm1, dword [esi + 0x14]
bt eax, 9
jb 0x463fc5
vxorps xmm1, xmm1, xmm1
test al, 0x20
je 0x463e70
vmovaps xmm1, xmm3
vaddss xmm0, xmm0, dword [esi + 0x10]
vaddss xmm0, xmm0, dword [esp + 0x40]
vsubss xmm6, xmm0, xmm1
cmp dword [ebx + 0x1bb4], 1
mov ecx, dword [esp + 0x30]
je 0x463ff5
mov ebx, dword [ebx + 0x1bb8]
cmp ebx, 0x1000000
jb 0x464253
vmovshdup xmm0, xmm3
vaddss xmm4, xmm0, xmm7
vaddss xmm5, xmm3, xmm6
cmp dword [edi + 0x78], 0
je 0x463f28
vmovss xmm0, dword [edi + 0x68]
vucomiss xmm5, xmm0
jb 0x463ef1
vaddss xmm1, xmm0, dword [edi + 0x70]
vucomiss xmm1, xmm5
jbe 0x463ef1
vmovss xmm1, dword [edi + 0x6c]
vucomiss xmm7, xmm1
jb 0x463ee0
vaddss xmm2, xmm1, dword [edi + 0x74]
vucomiss xmm2, xmm7
ja 0x463f28
vucomiss xmm4, xmm1
jb 0x463ef1
vaddss xmm1, xmm1, dword [edi + 0x74]
vucomiss xmm1, xmm4
ja 0x463f28
vucomiss xmm6, xmm0
jb 0x464253
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm6
jbe 0x464253
vmovss xmm0, dword [edi + 0x6c]
vucomiss xmm4, xmm0
jb 0x464253
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm4
jbe 0x464253
vmovaps xmmword [esp + 0xd0], xmm5
vmovaps xmmword [esp + 0x80], xmm4
vmovaps xmmword [esp + 0x40], xmm6
vmovaps xmmword [esp + 0x70], xmm7
vmovaps xmmword [esp + 0x60], xmm3
mov edx, 0xc
push 0x18
call fcn.0046c42a
add esp, 4
test eax, eax
je 0x46443e
vmovaps xmm7, xmmword [esp + 0x70]
vinsertps xmm0, xmm7, dword [esp + 0xd0], 0x10
vinsertps xmm0, xmm0, dword [esp + 0x80], 0x20
vmovaps xmm6, xmmword [esp + 0x40]
vinsertps xmm0, xmm0, xmm6, 0x30
jmp 0x464223
mov ecx, dword [esi]
cmp ecx, 0x1f
jg 0x4640ff
cmp ecx, 2
mov edx, dword [esp + 0x10]
je 0x46425c
cmp ecx, 4
je 0x464264
cmp ecx, 0x10
jne 0x464274
lea ecx, [edx + 0x1ba4]
jmp 0x46427a
vmovss xmm1, dword [esp + 0x40]
vfmadd231ss xmm0, xmm1, dword [0x47d270]
vxorps xmm1, xmm1, xmm1
test al, 0x20
je 0x463fe0
vmovaps xmm1, xmm3
vsubss xmm6, xmm0, xmm1
cmp dword [ebx + 0x1bb4], 1
mov ecx, dword [esp + 0x30]
jne 0x464128
vmovaps xmmword [esp + 0x40], xmm6
cmp dword [edi + 0x78], 0
vxorps xmm0, xmm0, xmm0
je 0x46407f
vmovss xmm1, dword [edi + 0x70]
vucomiss xmm1, xmm0
vxorps xmm2, xmm2, xmm2
jne 0x46401a
jnp 0x464451
vmovss xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm2
vmovaps xmm6, xmmword [esp + 0x40]
jne 0x464031
jnp 0x464457
vmovss xmm2, dword [edi + 0x68]
vmovaps xmm4, xmm3
vaddss xmm3, xmm3, xmm6
vucomiss xmm3, xmm2
jbe 0x467649
vaddss xmm1, xmm1, xmm2
vucomiss xmm1, xmm6
jbe 0x467649
vmovss xmm1, dword [edi + 0x6c]
vmovaps xmm3, xmm4
vmovshdup xmm2, xmm4
vaddss xmm2, xmm2, xmm7
vucomiss xmm2, xmm1
jbe 0x464457
vaddss xmm0, xmm0, xmm1
vucomiss xmm0, xmm7
jbe 0x464451
vmovaps xmmword [esp + 0x70], xmm7
vmovaps xmmword [esp + 0x60], xmm3
mov edx, 0x11
push 0x24
call fcn.0046c42a
add esp, 4
test eax, eax
je 0x464442
vmovaps xmm3, xmmword [esp + 0x60]
vmaxps xmm0, xmm3, xmmword [0x47d2c0]
vmovaps xmm7, xmmword [esp + 0x70]
vmovaps xmm6, xmmword [esp + 0x40]
vinsertps xmm1, xmm6, xmm7, 0x10
vmovlhps xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 8], xmm0
lea ecx, [ebx + 0x1bb8]
vmovups xmm0, xmmword [ecx]
vmovups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0xffffffff
mov edx, dword [esp]
jmp 0x464457
cmp ecx, 0x20
mov edx, dword [esp + 0x10]
je 0x46426c
cmp ecx, 0x40
je 0x46411d
cmp ecx, 0x80
jne 0x464274
lea ecx, [edx + 0x1ba8]
jmp 0x46427a
mov ebx, dword [ebx + 0x1bb8]
cmp ebx, 0x1000000
jb 0x464253
vmovshdup xmm0, xmm3
vaddss xmm4, xmm0, xmm7
vaddss xmm5, xmm3, xmm6
cmp dword [edi + 0x78], 0
je 0x4641c0
vmovss xmm0, dword [edi + 0x68]
vucomiss xmm6, xmm0
jb 0x464189
vaddss xmm1, xmm0, dword [edi + 0x70]
vucomiss xmm1, xmm6
jbe 0x464189
vmovss xmm1, dword [edi + 0x6c]
vucomiss xmm7, xmm1
jb 0x464178
vaddss xmm2, xmm1, dword [edi + 0x74]
vucomiss xmm2, xmm7
ja 0x4641c0
vucomiss xmm4, xmm1
jb 0x464189
vaddss xmm1, xmm1, dword [edi + 0x74]
vucomiss xmm1, xmm4
ja 0x4641c0
vucomiss xmm5, xmm0
jb 0x464253
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm5
jbe 0x464253
vmovss xmm0, dword [edi + 0x6c]
vucomiss xmm4, xmm0
jb 0x464253
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm4
jbe 0x464253
vmovaps xmmword [esp + 0xd0], xmm5
vmovaps xmmword [esp + 0x80], xmm4
vmovaps xmmword [esp + 0x40], xmm6
vmovaps xmmword [esp + 0x70], xmm7
vmovaps xmmword [esp + 0x60], xmm3
mov edx, 0xc
push 0x18
call fcn.0046c42a
add esp, 4
test eax, eax
je 0x46443e
vmovaps xmm7, xmmword [esp + 0x70]
vmovaps xmm6, xmmword [esp + 0x40]
vinsertps xmm0, xmm7, xmm6, 0x10
vinsertps xmm0, xmm0, dword [esp + 0x80], 0x20
vinsertps xmm0, xmm0, dword [esp + 0xd0], 0x30
vcvttps2dq xmm0, xmm0
vpackssdw xmm1, xmm0, xmm0
vpextrw word [eax + 8], xmm0, 2
vmovq qword [eax + 0xa], xmm1
vpextrw word [eax + 0x12], xmm0, 4
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp]
vmovaps xmm3, xmmword [esp + 0x60]
jmp 0x464457
mov ebx, dword [esp + 0x10]
jmp 0x464457
lea ecx, [edx + 0x1bac]
jmp 0x46427a
lea ecx, [edx + 0x1b9c]
jmp 0x46427a
lea ecx, [edx + 0x1ba0]
jmp 0x46427a
lea ecx, [edx + 0x1b98]
test ax, ax
js 0x464291
bt eax, 0xb
jb 0x4642a5
vmovss xmm2, dword [edi + 0x50]
vaddss xmm0, xmm2, dword [edi + 0x58]
jmp 0x4642b9
vmovss xmm2, dword [edi + 0x50]
vaddss xmm0, xmm2, dword [edx + 0x1bd0]
vaddss xmm0, xmm0, dword [esi + 0x30]
jmp 0x4642b9
vmovss xmm0, dword [esi + 0xc]
vaddss xmm0, xmm0, dword [esi + 0x14]
vaddss xmm0, xmm0, dword [esi + 0x2c]
vmovss xmm2, dword [edi + 0x50]
mov edx, dword [esp]
vmovss xmm4, dword [esi + 0x34]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm4
jae 0x463e21
mov ebx, dword [ecx]
cmp ebx, 0x1000000
jb 0x463e21
vmovss xmm6, dword [edi + 0x54]
vucomiss xmm6, dword [0x47d2d0]
jne 0x4642f2
jnp 0x463e21
vsubss xmm5, xmm0, xmm2
vucomiss xmm5, dword [0x47d2d0]
jne 0x464306
jnp 0x463e21
vmovss xmm7, dword [edi + 0x4c]
cmp dword [edi + 0x78], 0
je 0x464355
vmovss xmm0, dword [edi + 0x68]
vaddss xmm1, xmm7, xmm6
vucomiss xmm1, xmm0
jbe 0x463e21
vaddss xmm0, xmm0, dword [edi + 0x70]
vucomiss xmm0, xmm7
jbe 0x463e21
vmovss xmm0, dword [edi + 0x6c]
vaddss xmm1, xmm2, xmm5
vucomiss xmm1, xmm0
jbe 0x463e21
vaddss xmm0, xmm0, dword [edi + 0x74]
vucomiss xmm0, xmm2
jbe 0x463e21
mov ecx, dword [esp + 0x30]
mov edx, 4
push 0x18
vmovaps xmmword [esp + 0x64], xmm3
vmovaps xmmword [esp + 0x74], xmm2
vmovaps xmmword [esp + 0x84], xmm4
vmovss dword [esp + 0xd4], xmm5
vmovss dword [esp + 0x94], xmm6
vmovaps xmmword [esp + 0x104], xmm7
call fcn.0046c42a
vmovaps xmm6, xmmword [esp + 0x104]
vmovss xmm0, dword [esp + 0x94]
vmovss xmm5, dword [esp + 0xd4]
vmovaps xmm1, xmmword [esp + 0x84]
vmovaps xmm4, xmmword [esp + 0x74]
vmovaps xmm3, xmmword [esp + 0x64]
mov edx, dword [esp + 4]
add esp, 4
test eax, eax
je 0x463e21
mov word [eax + 8], 0
vxorps xmm2, xmm2, xmm2
vmaxss xmm0, xmm0, xmm2
vinsertps xmm1, xmm1, xmm6, 0x10
vinsertps xmm1, xmm1, xmm4, 0x20
vinsertps xmm0, xmm1, xmm0, 0x30
vcvttps2dq xmm0, xmm0
vpblendd xmm0, xmm0, xmm0, 6
vpshufb xmm0, xmm0, xmmword [0x47d260]
vmovq qword [eax + 0xa], xmm0
vmaxss xmm0, xmm5, xmm2
vcvttss2si ecx, xmm0
mov word [eax + 0x12], cx
mov dword [eax + 0x14], ebx
jmp 0x463e21
vaddss xmm0, xmm0, dword [ebx]
vucomiss xmm0, xmm1
seta cl
jbe 0x463dd9
xor al, 1
jne 0x463dec
jmp 0x463dd9
mov ebx, dword [esp + 0x10]
mov edx, dword [esp]
vmovaps xmm3, xmmword [esp + 0x60]
vmovaps xmm7, xmmword [esp + 0x70]
vmovaps xmm6, xmmword [esp + 0x40]
test byte [edi + 0x49], 0x10
jne 0x4645ae
mov eax, dword [esp + 0x20]
vmovss xmm0, dword [eax + 0x10c]
vucomiss xmm0, xmm6
jb 0x4645ae
vaddss xmm1, xmm3, xmm6
vucomiss xmm1, xmm0
jbe 0x4645ae
mov eax, dword [esp + 0x20]
vmovss xmm0, dword [eax + 0x110]
vucomiss xmm0, xmm7
jb 0x4645ae
vmovshdup xmm1, xmm3
vaddss xmm1, xmm1, xmm7
vucomiss xmm1, xmm0
jbe 0x4645ae
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x104], 1
jne 0x4645ae
vmovss xmm2, dword [ebx + 0x1c04]
vmovss xmm0, dword [ebx + 0x1c08]
mov eax, dword [esp + 0x20]
vmovss xmm1, dword [eax + 0x154]
test byte [edx + 1], 2
jne 0x4644e6
vmovaps xmm5, xmm3
jmp 0x464501
vmovaps xmm5, xmm3
vbroadcastss xmm3, dword [0x47d230]
vaddss xmm4, xmm1, dword [edi + 0x4c]
vxorps xmm1, xmm1, xmm3
vmovss dword [edi + 0x4c], xmm4
vaddss xmm3, xmm1, dword [edi + 0x54]
vucomiss xmm3, xmm2
jb 0x46453b
vxorps xmm2, xmm2, xmm2
vucomiss xmm2, xmm1
ja 0x46452e
vucomiss xmm1, dword [0x47d2d0]
jbe 0x46453b
vmovss xmm1, dword [eax + 0x144]
vucomiss xmm1, xmm6
jb 0x46453b
vmovss dword [edi + 0x54], xmm3
vaddss xmm6, xmm6, dword [eax + 0x154]
test byte [edx + 1], 8
jne 0x46457f
vmovss xmm2, dword [eax + 0x158]
vaddss xmm1, xmm2, dword [edi + 0x58]
vucomiss xmm1, xmm0
jbe 0x46457f
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm2
ja 0x464572
vucomiss xmm2, xmm0
jbe 0x46457f
vmovss xmm0, dword [eax + 0x148]
vucomiss xmm0, xmm7
jb 0x46457f
vmovss dword [edi + 0x58], xmm1
vaddss xmm7, xmm7, dword [eax + 0x158]
mov eax, dword [ebx + 0x184]
mov dword [ebx + 0x188], eax
vinsertps xmm0, xmm6, xmm7, 0x10
vbroadcastss xmm1, dword [0x47d274]
vmulps xmm1, xmm5, xmm1
vaddps xmm0, xmm1, xmm0
mov eax, dword [esp + 0x20]
vmovlps qword [eax + 0x10c], xmm0
test byte [esi], 0xf6
mov eax, 0
jne 0x46460d
test byte [edx + 1], 0x20
jne 0x4645ee
mov eax, dword [ebx + 0x1c70]
mov dword [edi + 0x84], eax
cmp dword [edi + 0x114], 0
je 0x46460d
mov eax, dword [ebx + 0x1c64]
mov ecx, dword [edi + 0x108]
mov edx, dword [edi + 0x110]
mov dword [eax + ecx + 4], edx
mov edx, dword [esp]
jmp 0x46460d
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x88], eax
vmovups xmm0, xmmword [section..rdata]
vmovups xmmword [edi + 0x68], xmm0
mov eax, dword [edx]
bt eax, 0x10
jae 0x46461c
and eax, 0xfffeefff
mov dword [edx], eax
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x94]
test eax, eax
je 0x46469e
mov edx, dword [edi + 0xf0]
mov ecx, dword [edi + 0xf4]
cmp ecx, edx
je 0x4646a4
mov ecx, edx
cmp eax, dword [edi + 0x98]
jne 0x4646a4
lea esi, [edi + 0x94]
mov ebx, esi
and ebx, 3
je 0x4672c5
mov eax, 4
sub eax, ebx
mov dword [esp], eax
push eax
xor eax, eax
push eax
push esi
call fcn.00478a71
add esp, 0xc
mov eax, dword [esp]
add eax, esi
add eax, 0x64
vxorps xmm0, xmm0, xmm0
vmovups ymmword [eax - 0x64], ymm0
vmovups ymmword [eax - 0x44], ymm0
vmovups ymmword [eax - 0x24], ymm0
xor ecx, ecx
mov dword [eax - 4], ecx
push ebx
push ecx
push eax
vzeroupper
call fcn.00478a71
add esp, 0xc
jmp 0x4672df
mov ecx, dword [edi + 0xf0]
mov dword [edi + 0xf4], ecx
mov dword [edi + 0x98], eax
mov dword [edi + 0xf0], 0
mov eax, dword [edi + 0x14c]
test eax, eax
je 0x464737
mov edx, dword [edi + 0x144]
mov ecx, dword [edi + 0x148]
cmp ecx, edx
je 0x46473d
mov ecx, edx
cmp eax, dword [edi + 0x150]
jne 0x46473d
lea ebx, [edi + 0x140]
mov esi, ebx
and esi, 3
je 0x4672e8
mov eax, 4
sub eax, esi
mov dword [esp], eax
push eax
xor eax, eax
push eax
push ebx
vzeroupper
call fcn.00478a71
add esp, 0xc
mov eax, dword [esp]
add eax, ebx
add eax, 0x28
vxorps xmm0, xmm0, xmm0
vmovups ymmword [eax - 0x28], ymm0
xor ecx, ecx
mov dword [eax - 4], ecx
mov dword [eax - 8], ecx
xor ecx, ecx
push esi
push ecx
push eax
vzeroupper
call fcn.00478a71
add esp, 0xc
jmp 0x4672f5
mov ecx, dword [edi + 0x144]
mov dword [edi + 0x148], ecx
mov dword [edi + 0x150], eax
mov dword [edi + 0x144], 0
cmp dword [edi + 0x12c], 0
je 0x46477a
mov eax, dword [edi + 0x128]
cmp eax, dword [edi + 0x124]
je 0x464780
lea ecx, [edi + 0x12c]
xor eax, eax
mov dword [edi + 0x124], eax
jmp 0x464786
mov eax, dword [edi + 0x124]
lea ecx, [edi + 0x124]
mov dword [edi + 0x128], eax
xor eax, eax
mov dword [ecx], eax
mov dword [edi + 0x120], eax
mov eax, dword [ebx + 0x38dc]
mov edx, dword [eax + 0x8c]
mov ecx, ebx
vzeroupper
call fcn.0046dd38
mov dword [ebx + 0x38dc], 0
mov eax, dword [0x481b4c]
mov ecx, dword [eax]
lea edx, [esp + 0x23c]
push edx
push dword [0x481b50]
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x481b4c]
mov ecx, dword [eax]
xor edi, edi
push edi
push 0x481b50
xor esi, esi
inc esi
push esi
push eax
call dword [ecx + 0x84]
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0x120], xmm0
mov ebx, dword [0x481b4c]
mov dword [esp + 0x200], 0x14
mov dword [esp + 0x1fc], edi
mov eax, dword [ebx]
push dword [0x481b14]
push ebx
call dword [eax + 0x44]
mov eax, dword [ebx]
lea ecx, [esp + 0x1fc]
push ecx
lea ecx, [esp + 0x204]
push ecx
push 0x481b28
push esi
push edi
push ebx
call dword [eax + 0x48]
mov eax, dword [ebx]
push edi
push 0x39
push dword [0x481b24]
push ebx
call dword [eax + 0x4c]
mov eax, dword [ebx]
mov ecx, 4
push ecx
push ebx
call dword [eax + 0x60]
mov eax, dword [ebx]
push edi
push edi
push dword [0x481b10]
push ebx
call dword [eax + 0x2c]
mov eax, dword [ebx]
push 0x481b18
push esi
push edi
push ebx
call dword [eax + 0x1c]
mov eax, dword [ebx]
push edi
push edi
push dword [0x481b1c]
push ebx
call dword [eax + 0x24]
mov eax, dword [ebx]
push 0x481b30
push esi
push edi
push ebx
call dword [eax + 0x28]
mov eax, dword [ebx]
push 0xffffffffffffffff
lea ecx, [esp + 0x124]
push ecx
push dword [0x481b20]
push ebx
call dword [eax + 0x8c]
mov eax, dword [ebx]
push dword [0x481b0c]
push ebx
call dword [eax + 0xac]
mov eax, dword [ebx]
push 0x481af0
push esi
push ebx
call dword [eax + 0xb0]
mov eax, dword [ebx]
lea ecx, [esp + 0x18c]
push ecx
push edi
mov esi, 4
push esi
push edi
push dword [0x481b28]
push ebx
call dword [eax + 0x38]
mov eax, dword [ebx]
lea ecx, [esp + 0x198]
push ecx
push edi
push esi
push edi
push dword [0x481b24]
mov dword [esp + 0x24], ebx
push ebx
call dword [eax + 0x38]
mov eax, dword [0x481ae8]
test eax, eax
je 0x464938
mov ecx, dword [esp + 0x18c]
test ecx, ecx
je 0x464938
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esp + 0x168], ymm0
vmovups ymmword [esp + 0x150], ymm0
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov dword [esp + 0x188], eax
mov eax, dword [0x481aec]
test eax, eax
je 0x464977
mov ecx, dword [esp + 0x198]
test ecx, ecx
je 0x464977
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esp + 0x1bc], ymm0
vmovups ymmword [esp + 0x1a4], ymm0
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1dc], eax
mov dword [0x480424], 0x481aa0
mov dword [0x4803f4], 0x3f800000
vmovaps xmm0, xmmword [0x47d280]
vmovups xmmword [0x4803f8], xmm0
mov dword [0x480408], 0x16
vmovsd xmm0, qword [0x481adc]
vmovsd qword [0x48040c], xmm0
mov eax, dword [0x481ae4]
mov dword [0x480414], eax
mov dword [0x480418], 0x479048
mov dword [0x48041c], 0x14
mov dword [0x480420], 4
lea eax, [esp + 0x1a4]
mov dword [0x48042c], eax
lea eax, [esp + 0x150]
mov dword [0x480428], eax
xor eax, eax
inc eax
mov dword [0x480448], eax
mov dword [0x48044c], eax
vmovups xmm0, xmmword [section..rdata]
vmovups xmmword [0x480384], xmm0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [0x480430], xmm0
mov dword [0x480440], 0
cmp dword [0x481974], 0
je 0x464c50
mov ebx, dword [0x47fcf4]
cmp dword [0x481930], 0
jne 0x464c1b
mov esi, dword [0x47e218]
test esi, esi
jne 0x464a68
mov esi, dword [0x47e1fc]
mov dword [0x47e218], esi
mov eax, ebx
test esi, esi
je 0x464b53
cmp byte [0x47e1f5], 0
mov eax, ebx
jne 0x464b53
cmp dword [0x47e220], 0
mov eax, ebx
je 0x464b53
mov dword [0x481908], 0x47fcd4
mov dword [0x48191c], 0
mov eax, dword [0x47fd00]
mov dword [0x481924], eax
mov dword [0x481928], eax
mov dword [0x48192c], eax
vmovups xmm0, xmmword [section..rdata]
vmovups xmmword [0x48190c], xmm0
vmovsd xmm0, qword [0x47e1d4]
vmovaps xmmword [esp], xmm0
vmovsd xmm0, qword [esi + 0x10]
vmovaps xmmword [esp + 0x20], xmm0
vmovsd xmm0, qword [esi + 0x18]
vmovaps xmmword [esp + 0x30], xmm0
mov ecx, 0x481908
mov edx, 0x11
push 0x24
vzeroupper
call fcn.0046c42a
add esp, 4
test eax, eax
je 0x464b44
vmovaps xmm0, xmmword [esp]
vsubps xmm0, xmm0, xmmword [esp + 0x30]
vmovaps xmm1, xmmword [esp + 0x20]
vmaxps xmm1, xmm1, xmmword [0x47d2c0]
vmovlhps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 8], xmm0
vmovups xmm0, xmmword [esi]
vmovups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0xffffffff
mov eax, dword [0x47fd00]
mov dword [0x481928], eax
mov eax, dword [0x47fcf4]
mov esi, dword [0x481960]
test esi, esi
je 0x464c11
xor edi, edi
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x17c]
cmp ecx, dword [esi + 0x80]
je 0x464bad
test byte [esi + 0x49], 0x20
jne 0x464bad
mov esi, dword [esi]
cmp esi, dword [0x481978]
jne 0x464bad
add ecx, eax
test edx, edx
je 0x464bbe
mov edi, dword [edx + 0x80]
cmp dword [edx + 0x88], edi
je 0x464ba5
test byte [edx + 0x49], 0x20
jne 0x464ba5
cmp dword [edx], esi
je 0x464bb9
mov edx, dword [edx + 0x17c]
jmp 0x464b89
mov ecx, edi
mov esi, edx
mov edi, ecx
test edx, edx
jne 0x464b63
jmp 0x464bbe
mov dword [ecx + 4], edi
jmp 0x464baf
mov edx, dword [0x481960]
test edx, edx
je 0x464bf8
mov esi, dword [edx + 0x17c]
cmp dword [edx + 0x114], 0
je 0x464bf2
mov edi, dword [edx + 0x104]
mov dword [ecx + 4], edi
mov ecx, dword [edx + 0x10c]
add ecx, eax
mov dword [edx + 0x114], 0
mov edx, esi
test esi, esi
jne 0x464bc8
test ecx, ecx
je 0x464c11
mov eax, dword [0x481924]
cmp dword [0x481928], eax
jne 0x464c0e
mov eax, dword [0x47fd00]
mov dword [ecx + 4], eax
mov dword [0x481930], 1
mov eax, dword [0x481960]
test eax, eax
je 0x464c50
mov ecx, dword [0x481978]
mov edx, dword [eax + 0x80]
cmp edx, dword [eax + 0x84]
je 0x464c46
test byte [eax + 0x49], 0x20
jne 0x464c46
cmp dword [eax], ecx
je 0x4650c0
mov eax, dword [eax + 0x17c]
test eax, eax
jne 0x464c2a
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
xor esi, esi
push esi
push dword [0x481b28]
push edi
vzeroupper
call dword [eax + 0x3c]
mov eax, dword [edi]
push esi
push dword [0x481b24]
push edi
call dword [eax + 0x3c]
cmp dword [0x481ad8], esi
je 0x464d92
mov ebx, dword [0x480438]
test ebx, ebx
je 0x464d92
mov eax, dword [0x481ac0]
test eax, eax
je 0x464d92
mov edx, eax
mov esi, dword [0x481ac4]
mov eax, dword [0x48043c]
mov dword [esp], esi
mov ecx, eax
sub esi, eax
add esi, edx
add esi, 0x18
mov dword [esp + 0x20], 0
mov edi, dword [esi - 4]
mov dword [esp + 0x1a4], edi
cmp dword [esi - 0x18], 0
je 0x464d68
vmovss xmm0, dword [esi - 0x14]
vaddss xmm1, xmm0, dword [esi - 0xc]
vcvttss2si eax, xmm1
mov dword [esp + 0x158], eax
vmovss xmm1, dword [esi - 0x10]
vinsertps xmm0, xmm0, xmm1, 0x10
vcvttps2dq xmm0, xmm0
vmovlps qword [esp + 0x150], xmm0
vaddss xmm0, xmm1, dword [esi - 8]
vcvttss2si eax, xmm0
mov dword [esp + 0x15c], eax
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
lea ecx, [esp + 0x1a4]
push ecx
xor ebx, ebx
inc ebx
push ebx
xor ecx, ecx
push ecx
push edi
call dword [eax + 0x20]
mov eax, dword [edi]
lea ecx, [esp + 0x150]
push ecx
push ebx
push edi
call dword [eax + 0xb4]
mov eax, dword [edi]
xor ecx, ecx
push ecx
mov ebx, dword [esp + 0x24]
push ebx
push dword [esi - 0x18]
push edi
call dword [eax + 0x30]
add ebx, dword [esi - 0x18]
mov dword [esp + 0x20], ebx
mov eax, dword [0x481ac0]
mov edi, dword [0x481ac4]
mov edx, dword [0x48043c]
mov ebx, dword [0x480438]
jmp 0x464d71
mov eax, ebx
mov eax, edx
mov edi, dword [esp]
mov edx, ecx
mov dword [esp], edi
mov ecx, edx
sub edi, edx
mov edx, eax
add edi, eax
xor eax, eax
inc eax
sub eax, ebx
lea eax, [eax + eax*2]
lea eax, [edi + eax*8]
add esi, 0xffffffe8
cmp eax, esi
jb 0x464cbb
cmp dword [0x481934], 0
je 0x464dab
mov eax, dword [0x47fcf8]
mov dword [0x47fd0c], eax
xor eax, eax
xor ecx, ecx
jmp 0x464dd4
mov ecx, dword [0x47fcd8]
mov eax, ecx
sub eax, dword [0x47fd00]
add eax, dword [0x47fd04]
mov edx, dword [0x47fcd4]
test edx, edx
cmove ecx, edx
mov dword [0x47fcd4], 0
mov dword [0x47fd04], eax
mov dword [0x47fd00], ecx
xor ecx, ecx
mov dword [0x481930], ecx
mov dword [0x47fd08], ecx
mov dword [0x47fd1c], ecx
mov eax, dword [0x47e1fc]
mov dword [0x47e218], eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x481908], ymm0
mov dword [0x48192c], ecx
mov dword [0x481928], ecx
mov ebx, dword [0x481960]
test ebx, ebx
je 0x464fdf
mov eax, dword [ebx + 0x48]
mov ecx, eax
and ecx, 0xc000
cmp ecx, 0x8000
jne 0x464e44
mov ecx, dword [ebx]
cmp ecx, dword [0x481978]
je 0x464fac
test eax, 0x6000
je 0x464e80
cmp ebx, dword [0x481968]
jne 0x464e80
mov eax, dword [ebx + 0x180]
mov dword [0x481968], eax
mov ecx, dword [ebx + 0x180]
mov dword [0x481964], ecx
test ecx, ecx
jne 0x464e78
mov dword [0x481960], 0
test eax, eax
je 0x464e80
and byte [eax + 0x49], 0xef
mov edx, dword [ebx + 0xfc]
test edx, edx
je 0x464eab
mov eax, dword [edx]
cmp eax, dword [0x481978]
je 0x464eab
mov ecx, 0x47e090
vzeroupper
call fcn.0047041a
mov dword [ebx + 0xfc], 0
mov eax, dword [ebx + 0x174]
test eax, eax
je 0x464f9c
mov edx, eax
mov dword [esp + 0x20], ebx
mov edi, edx
mov ecx, dword [edx]
mov edx, dword [edx + 0x1a0]
cmp ecx, dword [0x481978]
je 0x464f94
mov ecx, edx
cmp eax, edi
jne 0x464ee7
mov dword [ebx + 0x174], edx
mov ecx, dword [edi + 0x1a0]
test ecx, ecx
je 0x464ef7
mov eax, dword [edi + 0x1a4]
mov dword [ecx + 0x1a4], eax
mov eax, dword [edi + 0x1a4]
test eax, eax
je 0x464f0d
mov ecx, dword [edi + 0x1a0]
mov dword [eax + 0x1a0], ecx
mov dword [esp], edx
xor eax, eax
mov dword [edi + 0x1a0], eax
mov dword [edi + 0x1a4], eax
mov esi, edi
and esi, 3
je 0x464f60
mov ebx, 4
sub ebx, esi
push ebx
push eax
push edi
vzeroupper
call fcn.00478a71
add esp, 0xc
add ebx, edi
mov eax, 0x1a4
push eax
xor eax, eax
push eax
push ebx
call fcn.00478a71
add esp, 0xc
mov eax, 0x1a4
add ebx, eax
push esi
xor eax, eax
push eax
push ebx
mov ebx, dword [esp + 0x2c]
jmp 0x464f68
push 0x1a8
push 0
push edi
vzeroupper
call fcn.00478a71
add esp, 0xc
mov ecx, 0x47e090
mov edx, edi
call fcn.0046dd38
mov eax, dword [ebx + 0x174]
cmp edi, eax
mov edx, dword [esp]
jne 0x464f94
mov dword [ebx + 0x174], edx
mov eax, edx
test edx, edx
jne 0x464ebf
mov eax, dword [ebx]
cmp eax, dword [0x481978]
jne 0x464fb7
test byte [ebx + 0x49], 0x40
jne 0x464fb7
mov ebx, dword [ebx + 0x17c]
jmp 0x464e1b
mov esi, dword [ebx + 0x17c]
mov ecx, 0x47e090
mov edx, ebx
vzeroupper
call fcn.0046a37e
mov ecx, 0x47e090
mov edx, ebx
call fcn.0047041a
mov ebx, esi
jmp 0x464e1b
inc dword [0x481978]
xor edx, edx
mov dword [0x481acc], edx
mov eax, dword [0x481ac4]
mov dword [0x481ad8], eax
mov dword [0x481ad4], edx
mov dword [0x481ad0], edx
mov eax, dword [0x481b54]
mov ecx, dword [eax]
push edx
push 1
push eax
vzeroupper
call dword [ecx + 0x20]
mov ecx, eax
and ecx, 0xfffffffd
cmp ecx, 0x887a0005
je 0x46781f
cmp eax, 0x87a0001
jne 0x461254
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [eax + ecx + 0x78]
test ecx, ecx
je 0x46503c
mov esi, dword [eax + ecx + 0x18]
test esi, esi
je 0x46503c
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
mov edi, dword [eax + ecx + 0x20]
add edi, eax
lea ecx, [eax + 1]
mov dword [esp], ecx
mov ecx, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [eax + ecx]
test dl, dl
je 0x465096
add ecx, dword [esp]
mov ebx, 0x15c89d06
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x46507c
cmp ebx, 0xc76bffb9
je 0x4650a0
test esi, esi
jne 0x465068
mov edx, dword [esp + 0x20]
jmp 0x46503c
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + edx + 0x1c]
add ecx, eax
mov edx, dword [eax + edx + 0x24]
add edx, eax
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
push 0xa
call eax
jmp 0x461254
test ebx, ebx
je 0x464c50
add ebx, edx
mov eax, dword [ebx]
dec eax
cmp eax, 0x11
ja case.default.0x4650d6
jmp dword [eax*4 + 0x47d770]
movzx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
movsx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
sub esp, 4
vmovss dword [esp], xmm3
mov ecx, 0x480384
vzeroupper
call fcn.0046dd85
jmp 0x466f27
mov edi, dword [ebx + 0x12]
cmp edi, 0x1000000
jb case.default.0x4650d6
movzx esi, word [ebx + 8]
vmovd xmm0, dword [ebx + 0xe]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovaps xmmword [esp], xmm0
vmovd xmm0, dword [ebx + 0xa]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovaps xmmword [esp + 0x20], xmm0
cmp dword [0x480448], 1
jne 0x4663b5
cmp dword [0x480438], 0
jne 0x4651a0
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x46651c
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x46651e
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
mov dword [esp + 0x30], edi
mov edi, esi
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
mov esi, edi
mov edi, dword [esp + 0x30]
je 0x46651e
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x46651e
mov esi, dword [ebx + 0x1a]
cmp esi, 0x1000000
jb case.default.0x4650d6
movzx edi, word [ebx + 8]
vmovss xmm0, dword [ebx + 0xe]
vmovaps xmmword [esp + 0x30], xmm0
vmovss xmm0, dword [ebx + 0x16]
vmovaps xmmword [esp + 0x20], xmm0
vmovss xmm0, dword [ebx + 0x12]
vmovaps xmmword [esp], xmm0
vmovss xmm0, dword [ebx + 0xa]
vmovaps xmmword [esp + 0x40], xmm0
cmp dword [0x480438], 0
jne 0x465286
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x100], edi
je 0x46645d
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x46645f
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x46645f
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x46645f
mov esi, dword [ebx + 0x14]
cmp esi, 0x1000000
jb case.default.0x4650d6
movzx edi, word [ebx + 0xa]
movzx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
movsx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
movsx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
movzx eax, word [ebx + 0x10]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
movzx eax, word [ebx + 0x12]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, eax
cmp dword [0x480448], 1
vaddss xmm4, xmm4, xmm1
vaddss xmm2, xmm2, xmm0
je 0x46536e
vmovss xmm5, dword [0x47d270]
vaddss xmm1, xmm1, xmm5
vaddss xmm0, xmm0, xmm5
sub esp, 8
vmovss dword [esp + 4], xmm3
vmovss dword [esp], xmm4
mov ecx, 0x480384
vzeroupper
call fcn.0046f40b
add esp, 8
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, edi
mov dword [esp + 0xac], esi
mov eax, dword [esp + 0xac]
jmp 0x466632
mov esi, dword [ebx + 0x12]
cmp esi, 0x1000000
jb case.default.0x4650d6
movzx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
movsx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
movzx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
movzx eax, word [ebx + 0x10]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, eax
cmp dword [0x480448], 1
vaddss xmm4, xmm4, xmm1
vaddss xmm2, xmm2, xmm0
je 0x465413
vmovss xmm5, dword [0x47d270]
vaddss xmm1, xmm1, xmm5
vaddss xmm0, xmm0, xmm5
sub esp, 8
vmovss dword [esp + 4], xmm3
vmovss dword [esp], xmm4
mov ecx, 0x480384
vzeroupper
call fcn.0046f40b
jmp 0x4659b4
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x90], eax
movzx eax, word [ebx + 0xe]
mov word [esp + 0x40], ax
movzx eax, word [ebx + 0xc]
mov word [esp], ax
movzx eax, word [ebx + 8]
mov word [esp + 0x20], ax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x60], eax
movzx eax, word [ebx + 0xa]
mov word [esp + 0x30], ax
mov eax, dword [0x48040c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov esi, dword [0x480434]
mov ecx, 0x480384
mov edx, 4
call fcn.0046fcb4
mov edi, eax
mov ecx, 0x480384
mov edx, 6
call fcn.0046fceb
mov dword [esp + 0x80], edi
test edi, edi
je case.default.0x4650d6
test eax, eax
je case.default.0x4650d6
mov word [eax], si
lea ecx, [esi + 1]
mov word [eax + 2], cx
lea ecx, [esi + 2]
mov word [eax + 4], cx
mov word [eax + 6], si
mov word [eax + 8], cx
add esi, 3
mov word [eax + 0xa], si
mov edx, dword [esp + 0x100]
mov eax, edx
shr eax, 0x18
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
mov eax, edx
shr eax, 0x10
mov ecx, 0xff
and eax, ecx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss dword [esp + 0xf0], xmm0
mov eax, edx
shr eax, 8
and eax, ecx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
and edx, ecx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, edx
mov edx, dword [esp + 0x90]
mov eax, edx
shr eax, 0x18
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, eax
mov eax, edx
shr eax, 0x10
and eax, ecx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm5, xmm7, eax
mov eax, edx
shr eax, 8
and eax, ecx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm6, xmm7, eax
and edx, ecx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm7, xmm7, edx
vmovss xmm3, dword [0x47d2a8]
vmulss xmm1, xmm1, xmm3
vmovss dword [esp + 0x90], xmm1
vmulss xmm1, xmm3, dword [esp + 0xf0]
vmovss dword [esp + 0x100], xmm1
vmulss xmm1, xmm2, xmm3
vmovss dword [esp + 0xf0], xmm1
vmulss xmm0, xmm0, xmm3
vmovss dword [esp + 0x130], xmm0
vmulss xmm0, xmm4, xmm3
vmovss dword [esp + 0xe8], xmm0
vmulss xmm0, xmm5, xmm3
vmovss dword [esp + 0x148], xmm0
vmulss xmm0, xmm6, xmm3
vmovss dword [esp + 0x1f4], xmm0
mov esi, dword [esp + 0x70]
mov eax, esi
shr eax, 0x18
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm0, xmm2, eax
vmulss xmm1, xmm7, xmm3
vmovss dword [esp + 0x1f0], xmm1
vmulss xmm0, xmm0, xmm3
vmovss dword [esp + 0x5c], xmm0
mov eax, esi
shr eax, 0x10
and eax, ecx
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm0, xmm2, eax
vmulss xmm0, xmm0, xmm3
vmovss dword [esp + 0x1e0], xmm0
mov eax, esi
shr eax, 8
and eax, ecx
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm0, xmm2, eax
vmulss xmm0, xmm0, xmm3
vmovss dword [esp + 0xec], xmm0
and esi, ecx
mov edx, dword [esp + 0x60]
mov eax, edx
shr eax, 0x18
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm0, xmm2, esi
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm1, xmm2, eax
vmulss xmm0, xmm0, xmm3
vmovss dword [esp + 0x70], xmm0
vmulss xmm7, xmm1, xmm3
mov eax, edx
shr eax, 0x10
and eax, ecx
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm1, xmm2, eax
vmulss xmm1, xmm1, xmm3
mov eax, edx
shr eax, 8
and eax, ecx
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmulss xmm6, xmm2, xmm3
and edx, ecx
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm2, xmm4, edx
vmulss xmm4, xmm2, xmm3
movsx eax, word [esp + 0x20]
movsx ecx, word [esp + 0x30]
movzx edx, word [esp]
movzx esi, word [esp + 0x40]
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm0, xmm5, eax
vmovss dword [esp], xmm0
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm3, xmm5, ecx
vmovss dword [esp + 0x20], xmm3
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm2, xmm5, edx
vmovss dword [esp + 0x40], xmm2
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm2, xmm5, esi
vmovss dword [esp + 0x30], xmm2
vmovss xmm2, dword [0x480410]
vmovss xmm5, dword [0x480414]
sub esp, 0x14
vmovss dword [esp + 0x10], xmm7
vmovss dword [esp + 0xc], xmm1
vmovss dword [esp + 8], xmm6
vmovss dword [esp + 4], xmm4
vmovss dword [esp], xmm5
mov ecx, dword [esp + 0x94]
mov edx, 0x4803f4
vmovaps xmm1, xmm3
call fcn.0046fd39
add esp, 0x14
vmovss xmm2, dword [0x480410]
vmovss xmm3, dword [0x480414]
vmovss xmm0, dword [esp + 0x40]
vaddss xmm0, xmm0, dword [esp]
vmovss dword [esp + 0x40], xmm0
sub esp, 0x14
vmovss xmm1, dword [esp + 0xfc]
vmovss dword [esp + 0x10], xmm1
vmovss xmm1, dword [esp + 0x15c]
vmovss dword [esp + 0xc], xmm1
vmovss xmm1, dword [esp + 0x208]
vmovss dword [esp + 8], xmm1
vmovss xmm1, dword [esp + 0x204]
vmovss dword [esp + 4], xmm1
vmovss dword [esp], xmm3
mov ecx, eax
mov edx, 0x4803f4
vmovss xmm1, dword [esp + 0x34]
call fcn.0046fd39
add esp, 0x14
vmovss xmm2, dword [0x480410]
vmovss xmm0, dword [0x480414]
vmovss xmm1, dword [esp + 0x20]
vaddss xmm3, xmm1, dword [esp + 0x30]
vmovss dword [esp + 0x20], xmm3
sub esp, 0x14
vmovss xmm1, dword [esp + 0x70]
vmovss dword [esp + 0x10], xmm1
vmovss xmm1, dword [esp + 0x1f4]
vmovss dword [esp + 0xc], xmm1
vmovss xmm1, dword [esp + 0x100]
vmovss dword [esp + 8], xmm1
vmovss xmm1, dword [esp + 0x84]
vmovss dword [esp + 4], xmm1
vmovss dword [esp], xmm0
mov ecx, eax
mov edx, 0x4803f4
vmovss xmm0, dword [esp + 0x54]
vmovaps xmm1, xmm3
call fcn.0046fd39
add esp, 0x14
vmovd xmm2, dword [0x480410]
vmovss xmm0, dword [0x480414]
sub esp, 0x14
vmovss xmm1, dword [esp + 0xa4]
vmovss dword [esp + 0x10], xmm1
vmovss xmm1, dword [esp + 0x114]
vmovss dword [esp + 0xc], xmm1
vmovss xmm1, dword [esp + 0x104]
vmovss dword [esp + 8], xmm1
vmovss xmm1, dword [esp + 0x144]
vmovss dword [esp + 4], xmm1
vmovss dword [esp], xmm0
mov ecx, eax
mov edx, 0x4803f4
vmovss xmm0, dword [esp + 0x14]
vmovss xmm1, dword [esp + 0x34]
call fcn.0046fd39
add esp, 0x14
jmp case.default.0x4650d6
mov esi, dword [ebx + 0x12]
cmp esi, 0x1000000
jb case.default.0x4650d6
movzx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss xmm3, dword [0x47d274]
vmulss xmm2, xmm0, xmm3
movsx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vaddss xmm0, xmm2, xmm0
movzx eax, word [ebx + 0x10]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
vmulss xmm1, xmm1, xmm3
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
vaddss xmm1, xmm1, xmm3
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
vmovss dword [esp], xmm3
mov ecx, 0x480384
mov edx, 0x16
push 0x40bfec3a
push 0
vzeroupper
call fcn.0046de0e
add esp, 8
mov dword [esp + 0xac], esi
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
xor edx, edx
inc edx
vmovss xmm0, dword [esp]
jmp 0x466f1e
mov esi, dword [ebx + 0x10]
cmp esi, 0x1000000
jb case.default.0x4650d6
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss xmm3, dword [0x47d274]
vmulss xmm2, xmm0, xmm3
movsx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
movzx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
vaddss xmm0, xmm2, xmm0
vmulss xmm1, xmm1, xmm3
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
vaddss xmm1, xmm1, xmm3
mov ecx, 0x480384
mov edx, 0x16
push 0x40bfec3a
push 0
vzeroupper
call fcn.0046de0e
add esp, 8
mov dword [esp + 0xac], esi
jmp 0x466ce2
vmovss xmm0, dword [ebx + 8]
vmovaps xmmword [esp], xmm0
cmp dword [0x480438], 0
jne 0x4659ff
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466339
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x46633b
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x46633b
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x46633b
vmovss xmm0, dword [ebx + 8]
vmovaps xmmword [esp], xmm0
cmp dword [0x480438], 0
jne 0x465aa5
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466377
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x466379
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x466379
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x466379
mov edi, dword [ebx + 0x16]
cmp edi, 0x1000000
jb case.default.0x4650d6
movzx eax, word [ebx + 8]
mov dword [esp], eax
vmovss xmm0, dword [ebx + 0x12]
vmovaps xmmword [esp + 0x20], xmm0
vmovss xmm0, dword [ebx + 0xe]
vmovaps xmmword [esp + 0x30], xmm0
vmovss xmm0, dword [ebx + 0xa]
vmovaps xmmword [esp + 0x40], xmm0
cmp dword [0x480438], 0
jne 0x465b78
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x4664a0
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x4664a2
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x4664a2
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x4664a2
mov edi, dword [ebx + 0x14]
cmp edi, 0x1000000
jb case.default.0x4650d6
vmovss xmm0, dword [ebx + 0x10]
vmovaps xmmword [esp], xmm0
vmovss xmm0, dword [ebx + 0xc]
vmovaps xmmword [esp + 0x20], xmm0
vmovss xmm0, dword [ebx + 8]
vmovaps xmmword [esp + 0x30], xmm0
cmp dword [0x480438], 0
jne 0x465c43
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x4664de
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x4664e0
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x4664e0
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x4664e0
cmp word [ebx + 0xe], 0
mov edi, 1
je 0x465dbd
xor esi, esi
vmovss xmm0, dword [ebx + esi*4 + 0x10]
vmovaps xmmword [esp], xmm0
cmp dword [0x480438], 0
jne 0x465cff
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
xor edi, edi
inc edi
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x465d59
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x465d5b
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
mov edx, edi
sub edx, dword [0x480438]
lea edi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + edi*8 + 0x14], edx
je 0x465d5b
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x465d5b
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
mov edi, 1
je 0x465db0
cmp dword [0x480444], 0
jne 0x465d9c
mov ecx, dword [0x480424]
test ecx, ecx
je 0x465d8d
mov ecx, dword [ecx + 0x20]
jmp 0x465d8f
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
xor edi, edi
inc edi
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
inc esi
movzx eax, word [ebx + 0xe]
cmp esi, eax
jb 0x465cbf
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x210]
mov ecx, 0x480384
mov edx, edi
jmp 0x466f1e
cmp word [ebx + 0xc], 0
je 0x465ee7
xor esi, esi
vmovss xmm0, dword [ebx + esi*4 + 0xe]
vmovaps xmmword [esp], xmm0
cmp dword [0x480438], 0
jne 0x465e30
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x465e8b
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x465e8d
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea edi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + edi*8 + 0x14], edx
je 0x465e8d
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x465e8d
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x465eda
cmp dword [0x480444], 0
jne 0x465ec6
mov ecx, dword [0x480424]
test ecx, ecx
je 0x465eba
mov ecx, dword [ecx + 0x20]
jmp 0x465ebc
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
inc esi
movzx eax, word [ebx + 0xc]
cmp esi, eax
jb 0x465df3
mov eax, dword [ebx + 8]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x20c]
jmp 0x466ce9
cmp word [ebx + 0xe], 0
je 0x465ffe
xor esi, esi
vmovss xmm0, dword [ebx + esi*4 + 0x10]
vmovaps xmmword [esp], xmm0
cmp dword [0x480438], 0
jne 0x465f47
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x465fa2
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x465fa4
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea edi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + edi*8 + 0x14], edx
je 0x465fa4
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x465fa4
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x465ff1
cmp dword [0x480444], 0
jne 0x465fdd
mov ecx, dword [0x480424]
test ecx, ecx
je 0x465fd1
mov ecx, dword [ecx + 0x20]
jmp 0x465fd3
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
inc esi
movzx eax, word [ebx + 0xe]
cmp esi, eax
jb 0x465f0a
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x208]
jmp 0x466f17
mov edi, dword [ebx + 0x20]
test edi, edi
je case.default.0x4650d6
movsx eax, word [ebx + 0x14]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
movzx eax, word [ebx + 0x18]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
vmovss xmm0, dword [0x480384]
vaddss xmm1, xmm1, xmm2
vucomiss xmm1, xmm0
jbe case.default.0x4650d6
vaddss xmm0, xmm0, dword [0x48038c]
vucomiss xmm0, xmm2
jbe case.default.0x4650d6
movzx eax, word [ebx + 0x1a]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
movsx eax, word [ebx + 0x16]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
vmovss xmm0, dword [0x480388]
vaddss xmm1, xmm1, xmm3
vucomiss xmm1, xmm0
jbe case.default.0x4650d6
vaddss xmm0, xmm0, dword [0x480390]
vucomiss xmm0, xmm3
jbe case.default.0x4650d6
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
vmovss xmm0, dword [ebx + 0x1c]
vmovss dword [esp + 0x90], xmm0
lea esi, [ebx + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x70], ecx
shr ecx, 0x18
mov dword [esp + 0x100], ecx
mov eax, dword [esp + 0xa8]
mov ecx, 0x480384
push eax
vmovss dword [esp + 4], xmm2
vmovss dword [esp + 0x84], xmm3
vzeroupper
call fcn.0046fc0b
vmovss xmm1, dword [esp + 4]
add esp, 4
mov dword [esp + 0x40], esi
mov al, byte [esi]
xor esi, esi
mov cl, byte [esi + 0x479014]
mov edx, ecx
and dl, al
cmp dl, byte [esi + 0x479019]
je 0x466f5a
inc esi
cmp esi, 5
jne 0x466113
jmp case.default.0x4650d6
movzx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss dword [esp + 0x30], xmm0
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss dword [esp + 0x40], xmm0
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss dword [esp], xmm0
movsx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmovss dword [esp + 0x20], xmm0
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x10]
mov ecx, ebx
movzx ebx, word [ebx + 0x14]
movzx esi, word [ecx + 0x16]
movzx edx, word [ecx + 0x18]
mov dword [esp + 0x90], edx
movzx edx, word [ecx + 0x1a]
mov dword [esp + 0x70], edx
movzx edi, word [ecx + 0x1c]
mov dword [esp + 0xd0], ecx
movzx ecx, word [ecx + 0x1e]
mov dword [esp + 0x80], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov eax, ebx
or ax, si
jne 0x466277
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14c], eax
vmovss xmm3, dword [esp]
vaddss xmm4, xmm3, dword [esp + 0x30]
vmovss xmm0, dword [esp + 0x20]
vaddss xmm2, xmm0, dword [esp + 0x40]
sub esp, 0x18
mov eax, dword [esp + 0x164]
mov dword [esp + 0x14], eax
vmovaps xmm1, xmmword [0x47d290]
vmovups xmmword [esp + 4], xmm1
vmovss dword [esp], xmm4
mov ecx, 0x480384
vmovaps xmm1, xmm3
jmp 0x466325
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
mov dword [esp + 0x204], ecx
movzx ecx, word [ebx + 0xe]
movzx edx, word [ebx + 0xc]
movsx esi, word [ebx + 0xa]
movsx edi, word [ebx + 8]
mov eax, ebx
mov ebx, dword [esp + 0x204]
push ebx
mov ebx, eax
push ecx
push edx
push esi
push edi
push 0x480384
vzeroupper
call dword [esp + 0x18]
add esp, 0x18
jmp case.default.0x4650d6
movzx eax, bx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
movzx eax, si
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
mov eax, dword [esp + 0x90]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
add edi, eax
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, edi
mov eax, dword [esp + 0x70]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, eax
mov ecx, dword [esp + 0x80]
add ecx, eax
vdivss xmm5, xmm2, xmm0
vdivss xmm7, xmm3, xmm0
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm2, xmm6, ecx
vdivss xmm3, xmm4, xmm1
vdivss xmm6, xmm2, xmm1
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa8], eax
vmovss xmm1, dword [esp]
vaddss xmm4, xmm1, dword [esp + 0x30]
vmovss xmm0, dword [esp + 0x20]
vaddss xmm2, xmm0, dword [esp + 0x40]
sub esp, 0x18
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x14], eax
vmovss dword [esp + 0x10], xmm6
vmovss dword [esp + 0xc], xmm7
vmovss dword [esp + 8], xmm3
vmovss dword [esp + 4], xmm5
vmovss dword [esp], xmm4
mov ecx, 0x480384
call fcn.00470224
add esp, 0x18
mov ebx, dword [esp + 0xd0]
jmp case.default.0x4650d6
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x4665c7
cmp dword [0x480444], 0
jne 0x4665b3
mov ecx, dword [0x480424]
test ecx, ecx
je 0x4665a7
mov ecx, dword [ecx + 0x20]
jmp 0x4665a9
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x46665f
cmp dword [0x480444], 0
jne 0x46664b
mov ecx, dword [0x480424]
test ecx, ecx
je 0x46663f
mov ecx, dword [ecx + 0x20]
jmp 0x466641
cmp dword [0x480438], 0
jne 0x4663e7
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
vzeroupper
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x46655a
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x46655c
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
mov dword [esp + 0x30], edi
mov edi, esi
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
mov esi, edi
mov edi, dword [esp + 0x30]
je 0x46655c
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x46655c
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
mov edi, 1
je 0x4666e7
cmp dword [0x480444], 0
jne 0x4666d2
mov ecx, dword [0x480424]
test ecx, ecx
je 0x4666c3
mov ecx, dword [ecx + 0x20]
jmp 0x4666c5
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466915
cmp dword [0x480444], 0
jne 0x466900
mov ecx, dword [0x480424]
test ecx, ecx
je 0x4668f4
mov ecx, dword [ecx + 0x20]
jmp 0x4668f6
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x4669f8
cmp dword [0x480444], 0
jne 0x4669e3
mov ecx, dword [0x480424]
test ecx, ecx
je 0x4669d7
mov ecx, dword [ecx + 0x20]
jmp 0x4669d9
xor ecx, ecx
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466d18
cmp dword [0x480444], 0
jne 0x466d08
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466cfc
mov ecx, dword [ecx + 0x20]
jmp 0x466cfe
xor ecx, ecx
vbroadcastss xmm0, dword [0x47d270]
vmovaps xmmword [esp + 0x40], xmm0
xor edx, edx
push 4
push 8
vzeroupper
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466e08
cmp dword [0x480444], 0
jne 0x466df2
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466de6
mov ecx, dword [ecx + 0x20]
jmp 0x466de8
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
vmovss xmm3, dword [ebx + 0x10]
vmovss xmm4, dword [ebx + 0x14]
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
movsx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
sub esp, 8
vmovss dword [esp + 4], xmm4
vmovss dword [esp], xmm3
mov ecx, 0x480384
mov edx, 0x16
call fcn.0046de0e
add esp, 8
movzx eax, word [ebx + 0xe]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x218]
mov ecx, 0x480384
xor edx, edx
inc edx
jmp 0x466f1e
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
vmovss xmm3, dword [ebx + 0x10]
vmovss xmm4, dword [ebx + 0x14]
movzx eax, word [ebx + 0xc]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
movsx eax, word [ebx + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, eax
movsx eax, word [ebx + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
sub esp, 8
vmovss dword [esp + 4], xmm4
vmovss dword [esp], xmm3
mov ecx, 0x480384
mov edx, 0x16
call fcn.0046de0e
add esp, 8
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x214]
jmp 0x466ce9
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
xor edi, edi
inc edi
vpmovsxwd xmm0, qword [esp + 0x40]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
mov eax, dword [0x480440]
test eax, eax
je 0x4668d4
vpmovsxwd xmm0, qword [esp + 0x30]
vcvtdq2ps xmm0, xmm0
vmovaps xmmword [esp + 0x40], xmm0
vpmovsxwd xmm0, qword [esp + 0x20]
vcvtdq2ps xmm0, xmm0
vmovaps xmmword [esp + 0x60], xmm0
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
vmovaps xmmword [esp + 0x70], xmm0
mov ecx, dword [0x480424]
mov ecx, dword [ecx + 0x20]
add ecx, dword [0x480444]
vmovsd xmm0, qword [ecx + eax*8 - 8]
vmovaps xmmword [esp + 0x80], xmm0
mov esi, edi
vmovd xmm0, esi
vpbroadcastq xmm1, qword [0x47d238]
vpor xmm0, xmm0, xmm1
vsubsd xmm0, xmm0, qword [0x47d238]
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm1, xmm0, dword [0x47d2ac]
vmovss xmm0, dword [0x47d1e8]
vmovss dword [esp], xmm1
vsubss xmm0, xmm0, xmm1
vmovss dword [esp + 0x30], xmm0
vmulss xmm0, xmm0, dword [0x47d2b0]
vmovss dword [esp + 0x20], xmm0
cmp dword [0x480438], 0
jne 0x4667c2
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
xor edi, edi
inc edi
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466819
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x46681b
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
mov edx, edi
sub edx, dword [0x480438]
lea edi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + edi*8 + 0x14], edx
je 0x46681b
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x46681b
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
mov edi, 1
je 0x4668ca
cmp dword [0x480444], 0
jne 0x46685d
mov ecx, dword [0x480424]
test ecx, ecx
je 0x46684e
mov ecx, dword [ecx + 0x20]
jmp 0x466850
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
xor edi, edi
inc edi
vmovss xmm1, dword [esp + 0x30]
vmulss xmm0, xmm1, xmm1
vmulss xmm0, xmm1, xmm0
vmovss xmm2, dword [esp + 0x20]
vmulss xmm1, xmm1, xmm2
vmovss xmm4, dword [esp]
vmulss xmm1, xmm4, xmm1
vmulss xmm2, xmm4, xmm2
vmulss xmm2, xmm4, xmm2
vmulss xmm3, xmm4, xmm4
vmulss xmm3, xmm4, xmm3
vbroadcastss xmm1, xmm1
vmulps xmm1, xmm1, xmmword [esp + 0x70]
vbroadcastss xmm0, xmm0
vfmadd132ps xmm0, xmm1, xmmword [esp + 0x80]
vbroadcastss xmm1, xmm2
vfmadd132ps xmm1, xmm0, xmmword [esp + 0x60]
vbroadcastss xmm0, xmm3
vfmadd132ps xmm0, xmm1, xmmword [esp + 0x40]
inc dword [0x480440]
vmovlps qword [eax], xmm0
inc esi
cmp esi, 0x17
jne 0x466746
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, dword [esp + 0x100]
mov eax, dword [esp + 0x90]
mov dword [esp + 0xac], eax
jmp 0x466f10
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp + 0x40]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
cmp dword [0x480438], 0
jne 0x466944
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x46699c
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x46699e
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x46699e
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x46699e
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466adb
cmp dword [0x480444], 0
jne 0x466ac6
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466aba
mov ecx, dword [ecx + 0x20]
jmp 0x466abc
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp + 0x30]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
cmp dword [0x480438], 0
jne 0x466a27
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466a7f
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x466a81
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x466a81
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x466a81
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466bc3
cmp dword [0x480444], 0
jne 0x466bae
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466ba2
mov ecx, dword [ecx + 0x20]
jmp 0x466ba4
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp + 0x30]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
cmp dword [0x480438], 0
jne 0x466b0a
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466b62
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x466b64
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x466b64
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x466b64
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
mov edx, 1
je 0x466c9a
cmp dword [0x480444], 0
jne 0x466c85
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466c76
mov ecx, dword [ecx + 0x20]
jmp 0x466c78
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp + 0x20]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
cmp dword [0x480438], 0
jne 0x466bf2
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466c4a
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x466c4c
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
je 0x466c4c
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x466c4c
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466cdb
cmp dword [0x480444], 0
jne 0x466cc7
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466cbb
mov ecx, dword [ecx + 0x20]
jmp 0x466cbd
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
xor edx, edx
inc edx
vpmovsxwd xmm0, qword [esp + 0x20]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, dword [esp]
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
jmp 0x466f1e
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vpmovsxwd xmm0, qword [esp]
vcvtdq2ps xmm0, xmm0
inc dword [0x480440]
vmovlps qword [eax], xmm0
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
vzeroupper
call fcn.0046ee26
jmp 0x466f27
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
inc dword [0x480440]
vmovaps xmm0, xmmword [esp + 0x20]
vmovlps qword [eax], xmm0
cmp dword [0x480438], 0
jne 0x466d47
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466dab
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x466dad
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
mov dword [esp + 0x30], edi
mov edi, esi
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
mov esi, edi
mov edi, dword [esp + 0x30]
je 0x466dad
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x466dad
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466f01
cmp dword [0x480444], 0
jne 0x466ed3
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466ec7
mov ecx, dword [ecx + 0x20]
jmp 0x466ec9
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vmovaps xmm0, xmmword [esp + 0x40]
vaddps xmm0, xmm0, xmmword [esp + 0x20]
inc dword [0x480440]
vmovlps qword [eax], xmm0
cmp dword [0x480438], 0
jne 0x466e37
mov ecx, 0x480384
vmovss xmm0, dword [0x47d2a0]
vmovaps xmm1, xmm0
vmovd xmm2, dword [0x47d2a4]
push 0x46800000
call fcn.0046dd85
add esp, 4
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466e9b
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x466e9d
mov edx, dword [ecx + 0x24]
sub edx, dword [0x48043c]
add eax, edx
xor edx, edx
inc edx
sub edx, dword [0x480438]
mov dword [esp + 0x30], edi
mov edi, esi
lea esi, [edx + edx*2]
mov edx, dword [0x48040c]
cmp dword [eax + esi*8 + 0x14], edx
mov esi, edi
mov edi, dword [esp + 0x30]
je 0x466e9d
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
push eax
call fcn.0046fc0b
add esp, 4
mov ecx, dword [0x480424]
jmp 0x466e9d
xor ecx, ecx
xor edx, edx
push 4
push 8
call fcn.0046a565
add esp, 8
test eax, eax
je 0x466f01
cmp dword [0x480444], 0
jne 0x466eec
mov ecx, dword [0x480424]
test ecx, ecx
je 0x466ee0
mov ecx, dword [ecx + 0x20]
jmp 0x466ee2
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
inc dword [0x480440]
vmovaps xmm0, xmmword [esp]
jmp 0x466efd
xor ecx, ecx
mov edx, eax
sub edx, ecx
mov dword [0x480444], edx
vmovaps xmm0, xmmword [esp + 0x40]
vaddps xmm0, xmm0, xmmword [esp]
inc dword [0x480440]
vmovlps qword [eax], xmm0
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, esi
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0xac]
mov ecx, 0x480384
xor edx, edx
push eax
vzeroupper
call fcn.0046e0ad
add esp, 4
cmp dword [0x481974], 0
je 0x464c50
mov ebx, dword [ebx + 4]
cmp ebx, dword [0x47fd00]
jae 0x464c50
mov eax, dword [0x47fcf4]
add ebx, eax
test eax, eax
jne 0x4650ca
jmp 0x464c50
lea edx, [esi - 1]
cmp edx, 2
ja case.default.0x4650d6
not cl
and al, cl
movzx eax, al
cmp esi, 2
setae dl
cmp edi, 2
mov dword [esp + 0x60], esi
mov dword [esp + 0x30], eax
jl 0x466fde
cmp esi, 2
jb 0x466fde
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x40]
mov dl, byte [eax + ecx]
xor esi, esi
mov eax, ebx
mov dh, byte [esi + 0x479014]
mov bl, dh
and bl, dl
cmp bl, byte [esi + 0x479019]
je 0x466fae
inc esi
cmp esi, 5
mov ebx, eax
jne 0x466f8d
jmp case.default.0x4650d6
test esi, esi
mov ebx, eax
mov eax, dword [esp + 0x60]
jne case.default.0x4650d6
not dh
and dl, dh
movzx edx, dl
mov esi, dword [esp + 0x30]
shl esi, 6
or esi, edx
mov dword [esp + 0x30], esi
inc ecx
cmp ecx, eax
setb dl
cmp ecx, edi
jge 0x466fde
cmp ecx, eax
jb 0x466f84
test dl, dl
mov esi, dword [esp + 0x60]
jne case.default.0x4650d6
mov eax, dword [esp + 0x30]
cmp dword [esi*4 + 0x479020], eax
ja 0x46700e
lea ecx, [eax - 0xd800]
cmp ecx, 0x7ff
jb 0x46700e
cmp eax, dword [esi*4 + 0x479034]
jb 0x467013
mov eax, 0xfffd
mov dword [esp + 0x30], eax
test esi, esi
je case.default.0x4650d6
test edi, edi
jle case.default.0x4650d6
cmp dword [esp + 0x30], 0xfffd
je case.default.0x4650d6
movzx ecx, byte [esp + 0x100]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, ecx
vmulss xmm0, xmm0, dword [0x4803f4]
vcvttss2si ecx, xmm0
shl ecx, 0x18
mov eax, dword [esp + 0x70]
and eax, 0xffffff
or eax, ecx
mov dword [esp + 0x70], eax
xor edx, edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x130], edi
mov eax, edi
sub eax, edx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x100], edx
add edx, eax
mov bl, byte [esi + edx]
add edx, esi
xor ecx, ecx
vmovss dword [esp], xmm1
mov dword [esp + 0x60], esi
mov al, byte [ecx + 0x479014]
mov bh, al
and bh, bl
cmp bh, byte [ecx + 0x479019]
je 0x4670bb
inc ecx
cmp ecx, 5
jne 0x46709b
xor esi, esi
inc esi
jmp 0x467169
lea edi, [ecx - 1]
xor esi, esi
inc esi
cmp edi, 2
mov edi, dword [esp + 0x130]
ja 0x467169
not al
and bl, al
movzx eax, bl
cmp ecx, 2
setae bl
cmp dword [esp + 0xf0], 2
mov dword [esp + 0x5c], ecx
jl 0x46713e
cmp ecx, 2
jb 0x46713e
xor esi, esi
inc esi
mov ecx, eax
mov bl, byte [edx + esi]
xor edi, edi
mov bh, byte [edi + 0x479014]
mov al, bh
and al, bl
cmp al, byte [edi + 0x479019]
je 0x467115
inc edi
cmp edi, 5
jne 0x4670fb
jmp 0x467162
test edi, edi
jne 0x467162
not bh
and bl, bh
movzx eax, bl
shl ecx, 6
or ecx, eax
inc esi
mov eax, dword [esp + 0x5c]
cmp esi, eax
setb bl
cmp esi, dword [esp + 0xf0]
jge 0x467140
cmp esi, eax
jb 0x4670f6
jmp 0x467140
mov ecx, eax
xor esi, esi
test bl, bl
mov edi, dword [esp + 0x130]
mov eax, dword [esp + 0x5c]
jne 0x467169
cmp dword [eax*4 + 0x479020], ecx
jbe 0x46727f
mov esi, eax
jmp 0x467169
mov edi, dword [esp + 0x130]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
xor edx, edx
mov dword [esp + 0xf0], 0xfffd
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x14c], eax
sub esp, 0x14
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc0]
mov dword [esp + 8], eax
vmovss xmm0, dword [esp + 0xa4]
vmovss dword [esp + 4], xmm0
call ecx
add esp, 0x14
vmovss xmm5, dword [esp]
vaddss xmm0, xmm5, dword [esp + 0xbc]
vmovss xmm1, dword [esp + 0x80]
vaddss xmm1, xmm1, dword [esp + 0xc0]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x21c], eax
vmovups xmm3, xmmword [esp + 0xac]
vaddss xmm4, xmm1, dword [esp + 0xc8]
vaddss xmm2, xmm0, dword [esp + 0xc4]
vaddss xmm5, xmm5, dword [esp + 0xcc]
vmovss dword [esp], xmm5
sub esp, 0x18
mov eax, dword [esp + 0x234]
mov dword [esp + 0x14], eax
vmovups xmmword [esp + 4], xmm3
vmovss dword [esp], xmm4
mov ecx, 0x480384
call fcn.00470224
vmovss xmm1, dword [esp + 0x18]
add esp, 0x18
mov edx, dword [esp + 0x100]
add edx, dword [esp + 0x60]
cmp edx, edi
mov ebx, dword [esp + 0xd0]
jge case.default.0x4650d6
test esi, esi
je case.default.0x4650d6
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x30], eax
cmp eax, 0xfffd
jne 0x467073
jmp case.default.0x4650d6
mov esi, eax
lea eax, [ecx - 0xd800]
cmp eax, 0x7ff
jb 0x467169
cmp ecx, dword [esi*4 + 0x479034]
jae 0x4672be
mov eax, dword [esp + 0x20]
mov ebx, ecx
mov ecx, dword [eax + 0xc]
mov edx, ebx
mov dword [esp + 0xf0], ebx
cmp ebx, 0xfffd
je 0x467170
jmp 0x46717d
mov eax, esi
jmp 0x46715e
xor eax, eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esi + 0x40], ymm0
vmovups ymmword [esi + 0x20], ymm0
vmovups ymmword [esi], ymm0
mov ebx, dword [esp + 0x10]
jmp 0x4646ba
vxorps xmm0, xmm0, xmm0
vmovups ymmword [ebx + 0xc], ymm0
vmovups ymmword [ebx], ymm0
mov ebx, dword [esp + 0x10]
jmp 0x464753
xor esi, esi
test ebx, ebx
je 0x4629bb
mov eax, dword [ebx + 0x38dc]
test eax, eax
je 0x4629bb
mov edi, dword [eax + 0x8c]
test edi, edi
je 0x4629bb
mov dword [esp], eax
lea ecx, [esp + 0x120]
mov edx, ebx
call fcn.0046cd89
mov ecx, dword [ebx + 0x38dc]
mov eax, dword [ecx + 0x8c]
vcvttps2dq xmm0, xmmword [esp + 0x120]
vcvtdq2ps xmm0, xmm0
vmovsd xmm1, qword [eax + 0x3c]
vcvttps2dq xmm1, xmm1
vcvtdq2ps xmm3, xmm1
vcmpltps xmm1, xmm3, xmm0
vpmovsxdq xmm1, xmm1
vmovmskpd edx, xmm1
vmovaps xmm4, xmm0
test dl, 1
jne 0x467376
vmovaps xmm4, xmm3
vmovss xmm5, dword [eax + 0x44]
vmovd xmm2, dword [eax + 0x48]
vmovshdup xmm1, xmm0
vmovshdup xmm7, xmm3
vmovaps xmm6, xmm1
test dl, 2
jne 0x467395
vmovaps xmm6, xmm7
vmovss dword [esp + 0x10], xmm6
vcvttps2dq xmm5, xmm5
vcvtdq2ps xmm5, xmm5
vaddss xmm6, xmm3, xmm5
vucomiss xmm6, xmm0
jbe 0x4629bb
vpermilpd xmm5, xmm0, 1
vmovapd xmmword [esp + 0x20], xmm5
vaddss xmm5, xmm0, xmm5
vucomiss xmm5, xmm3
jbe 0x4629bb
vcvttps2dq xmm2, xmm2
vcvtdq2ps xmm2, xmm2
vaddss xmm3, xmm7, xmm2
vucomiss xmm3, xmm1
jbe 0x4629bb
vpermilps xmm2, xmm0, 0xff
vmovaps xmmword [esp + 0x30], xmm2
vaddss xmm2, xmm1, xmm2
vucomiss xmm2, xmm7
jbe 0x4629bb
xor edx, edx
cmp dword [ecx + 0x170], 0
je 0x46766b
mov ecx, dword [ebx + 0x168]
mov edi, dword [ebx + 0x214]
mov eax, dword [ebx + 0x1c90]
vmovups xmmword [esp + 0x1a4], xmm0
test ecx, ecx
je 0x4629bb
mov dword [esp + 0x10], edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x60], edx
lea edx, [ebx + 0x1a8]
add dword [esp], 0x64
lea ecx, [ebx + 0x1c8c]
sub esp, 0x10
lea edi, [esp + 0xbc]
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
vmovaps xmm2, xmmword [esp + 0x40]
vmovss dword [esp], xmm2
vmovaps xmm2, xmmword [esp + 0x30]
mov dword [esp + 0x30], edx
call fcn.0046c474
add esp, 0x10
mov eax, dword [ebx + 0x244]
test eax, eax
je 0x4674a8
mov ecx, dword [ebx + 0x240]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x18c]
push ecx
push dword [esp + 4]
call eax
add esp, 8
mov edi, ebx
mov ebx, dword [ebx + 0x1c8c]
mov ecx, dword [esp]
lea edx, [esp + 0x1a4]
push dword [esp + 0x20]
push ebx
call fcn.0046c653
add esp, 8
lea ecx, [eax + 4]
cmp dword [eax], 0
lea eax, [edi + 0x204]
cmove eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x158], eax
test bl, 0x10
jne 0x4676e2
test bl, 0x20
jne 0x4676ea
lea eax, [edi + 0x208]
jmp 0x4676f0
mov edi, dword [edi + 0x1b7c]
cmp edi, 0x1000000
jb 0x4626fe
vucomiss xmm2, dword [0x47d2d0]
jne 0x46751e
jnp 0x4626fe
vucomiss xmm7, dword [0x47d2d0]
jne 0x46752e
jnp 0x4626fe
cmp dword [ebx + 0x78], 0
je 0x467578
vmovss xmm4, dword [ebx + 0x68]
vaddss xmm3, xmm0, xmm2
vucomiss xmm3, xmm4
jbe 0x4626fe
vaddss xmm3, xmm4, dword [ebx + 0x70]
vucomiss xmm3, xmm0
jbe 0x4626fe
vmovss xmm4, dword [ebx + 0x6c]
vaddss xmm3, xmm1, xmm7
vucomiss xmm3, xmm4
jbe 0x4626fe
vaddss xmm3, xmm4, dword [ebx + 0x74]
vucomiss xmm3, xmm1
jbe 0x4626fe
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
mov edx, 5
push 0x18
vmovaps xmmword [esp + 0x44], xmm0
vmovaps xmmword [esp + 0x64], xmm1
vmovaps xmmword [esp + 0x74], xmm2
vmovaps xmmword [esp + 0x84], xmm7
call fcn.0046c42a
vmovaps xmm3, xmmword [esp + 0x84]
vmovaps xmm0, xmmword [esp + 0x74]
vmovaps xmm2, xmmword [esp + 0x64]
vmovaps xmm1, xmmword [esp + 0x44]
mov ecx, dword [esp + 0x14]
xor edx, edx
inc edx
add esp, 4
test eax, eax
je 0x4626fe
mov word [eax + 8], 0
vinsertps xmm0, xmm0, xmm3, 0x10
vmaxps xmm0, xmm0, xmmword [0x47d2c0]
vinsertps xmm1, xmm1, xmm2, 0x10
vmovlhps xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vpshufb xmm1, xmm0, xmmword [0x47d1f0]
vpshuflw xmm0, xmm0, 0xe8
vpunpckldq xmm0, xmm0, xmm1
vmovq qword [eax + 0xa], xmm0
mov dword [eax + 0x12], edi
jmp 0x4626fe
add edi, 0x1b7c
sub esp, 8
vmovss dword [esp], xmm7
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov edx, edi
call fcn.0046a815
mov ecx, dword [esp + 0x18]
xor edx, edx
inc edx
add esp, 8
jmp 0x4626fe
vmovaps xmm3, xmm4
jmp 0x464457
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x40]
vmovss xmm4, dword [esp + 0x60]
vmovaps xmm2, xmmword [esp + 0x30]
jmp 0x461954
vmovss xmm7, dword [ebx + 0x144]
vucomiss xmm7, xmm4
jb 0x46740a
vminss xmm5, xmm6, xmm5
vsubss xmm5, xmm5, xmm4
vmaxss xmm5, xmm5, dword [0x47d2d0]
vaddss xmm4, xmm4, xmm5
vucomiss xmm4, xmm7
jbe 0x46740a
vmovss xmm4, dword [ebx + 0x148]
vmovss xmm5, dword [esp + 0x10]
vucomiss xmm4, xmm5
jb 0x46740a
vminss xmm2, xmm3, xmm2
vsubss xmm2, xmm2, xmm5
vmaxss xmm2, xmm2, dword [0x47d2d0]
vaddss xmm2, xmm5, xmm2
vucomiss xmm2, xmm4
jbe 0x46740a
test byte [edi + 5], 0x10
mov edx, 0
cmove edx, ebx
jmp 0x46740a
lea eax, [edi + 0x20c]
jmp 0x4676f0
lea eax, [edi + 0x210]
mov ecx, dword [eax]
vmovss xmm0, dword [edi + 0x218]
mov eax, ecx
mov edx, ecx
shr edx, 0x10
vucomiss xmm0, dword [0x47d1e8]
mov dword [esp + 0x40], edi
jne 0x467715
jp 0x467715
mov bl, ch
jmp 0x46774e
movzx eax, al
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmulss xmm1, xmm0, xmm1
vcvttss2si eax, xmm1
movzx edi, ch
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm1, xmm6, edi
vmulss xmm1, xmm0, xmm1
vcvttss2si ebx, xmm1
movzx edx, dl
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm1, xmm6, edx
vmulss xmm0, xmm0, xmm1
vcvttss2si edx, xmm0
mov edi, dword [esp + 0x70]
and ecx, 0xff000000
movzx edx, dl
shl edx, 0x10
or edx, ecx
movzx ecx, bl
shl ecx, 8
or ecx, edx
movzx eax, al
or eax, ecx
mov dword [esp + 0x15c], eax
xor eax, eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x150], eax
vmovss xmm0, dword [esp + 0xac]
vmovss xmm1, dword [esp + 0xb0]
vmovd xmm2, dword [esp + 0xb4]
vmovss xmm3, dword [esp + 0xb8]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x164]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
vmovss dword [esp], xmm3
mov ecx, dword [esp + 0x14]
mov edx, str.helavelavelveli
call fcn.0046bef3
add esp, 0x14
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x248]
test eax, eax
je 0x4629bb
mov ecx, dword [ecx + 0x240]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x150]
push ecx
push dword [esp + 4]
call eax
add esp, 8
jmp 0x4629bb
mov dword [ecx + 0x38], 0
mov al, 1
jmp 0x463357
mov eax, dword [0x481b4c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1b8]
cmp dword [0x48198c], 0
je 0x467979
cmp dword [0x481990], 0
je 0x467979
mov esi, dword [0x481a98]
test esi, esi
je 0x467903
mov edi, dword [esi + 0x30]
cmp edi, esi
je 0x4678a9
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x30]
test eax, eax
je 0x467885
mov ecx, dword [0x481988]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x150]
push eax
push ecx
call dword [0x481990]
add esp, 8
mov eax, dword [0x481988]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1a4]
push edi
push eax
call dword [0x481990]
add esp, 8
mov edi, ebx
cmp ebx, esi
jne 0x46785c
mov edi, dword [esi]
mov eax, dword [esi + 4]
test eax, eax
je 0x4678d1
mov ecx, dword [0x481988]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xac]
push eax
push ecx
call dword [0x481990]
add esp, 8
mov eax, dword [0x481988]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x120]
push esi
push eax
call dword [0x481990]
add esp, 8
mov esi, edi
test edi, edi
jne 0x467855
mov dword [0x481a98], 0
mov eax, dword [0x481a94]
test eax, eax
je 0x46793d
mov esi, dword [eax]
mov ecx, dword [0x481988]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x18c]
push eax
push ecx
call dword [0x481990]
add esp, 8
mov eax, esi
test esi, esi
jne 0x46790c
mov dword [0x481a94], 0
mov eax, dword [0x481a8c]
test eax, eax
je 0x467965
mov ecx, dword [0x481988]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x198]
push eax
push ecx
call dword [0x481990]
add esp, 8
push 0x124
push 0
push 0x48197c
call fcn.00478a71
add esp, 0xc
mov eax, dword [0x481ac0]
test eax, eax
je 0x4679b0
cmp dword [0x481abc], 0
je 0x4679b0
mov ecx, dword [0x481ab8]
test ecx, ecx
je 0x4679b0
mov edx, dword [0x481ab0]
mov dword [esp + 0x150], edx
mov edx, dword [esp + 0x150]
push eax
push edx
call ecx
add esp, 8
mov eax, dword [0x47fcf4]
test eax, eax
je 0x4679e7
cmp dword [0x47fcf0], 0
je 0x4679e7
mov ecx, dword [0x47fcec]
test ecx, ecx
je 0x4679e7
mov edx, dword [0x47fce4]
mov dword [esp + 0x150], edx
mov edx, dword [esp + 0x150]
push eax
push edx
call ecx
add esp, 8
cmp dword [0x481934], 0
je 0x467a2a
cmp dword [0x481944], 0
je 0x467a2a
mov eax, dword [0x48194c]
test eax, eax
je 0x467a2a
mov esi, dword [eax + 4]
mov ecx, dword [0x481938]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x150]
push eax
push ecx
call dword [0x481940]
add esp, 8
mov eax, esi
test esi, esi
jne 0x467a02
xor eax, eax
mov dword [0x481930], eax
push 0x1c80
push eax
push 0x47e090
call fcn.00478a71
add esp, 0xc
vxorps xmm0, xmm0, xmm0
vmovups xmmword [0x481960], xmm0
vmovups xmmword [0x48196c], xmm0
mov eax, dword [0x481b30]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b2c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b28]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b24]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b20]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b18]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b0c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b08]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b50]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b4c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b58]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b54]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x467b09
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x467b09
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x467b63
add eax, dword [esp]
mov ebx, 0xb2b4147d
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x467b49
cmp ebx, 0xc7c3908e
je 0x467b6d
test esi, esi
jne 0x467b35
mov edx, dword [esp + 0x20]
jmp 0x467b09
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
push dword [0x481b6c]
push dword [0x481b80]
call ecx
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [eax + ecx + 0x78]
test ecx, ecx
je 0x467b9e
mov esi, dword [eax + ecx + 0x18]
test esi, esi
je 0x467b9e
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
mov edi, dword [eax + ecx + 0x20]
add edi, eax
lea ecx, [eax + 1]
mov dword [esp], ecx
mov ecx, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [eax + ecx]
test dl, dl
je 0x467bf8
add ecx, dword [esp]
mov ebx, 0x26e085ea
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x467bde
cmp ebx, 0x2491b9a7
je 0x467c02
test esi, esi
jne 0x467bca
mov edx, dword [esp + 0x20]
jmp 0x467b9e
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + edx + 0x1c]
add ecx, eax
mov edx, dword [eax + edx + 0x24]
add edx, eax
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
push 0
call eax