4019f2:	00
4019f3:	c7 84 24 80 00 00 00 	movl   $0x7,0x80(%esp)
4019fa:	07 00 00 00
4019fe:	c7 84 24 98 00 00 00 	movl   $0x7,0x98(%esp)
401a05:	07 00 00 00
401a09:	e8 d2 25 00 00       	call   0x403fe0
401a0e:	83 c4 0c             	add    $0xc,%esp
401a11:	8d 84 24 b0 00 00 00 	lea    0xb0(%esp),%eax
401a18:	68 04 01 00 00       	push   $0x104
401a1d:	50                   	push   %eax
401a1e:	6a 00                	push   $0x0
401a20:	ff 15 04 f0 40 00    	call   *0x40f004
401a26:	0f 57 c0             	xorps  %xmm0,%xmm0
401a29:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
401a30:	00
401a31:	8d 8c 24 b0 00 00 00 	lea    0xb0(%esp),%ecx
401a38:	0f 29 44 24 10       	movaps %xmm0,0x10(%esp)
401a3d:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
401a44:	00
401a45:	8d 51 02             	lea    0x2(%ecx),%edx
401a48:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
401a4f:	00
401a50:	66 8b 01             	mov    (%ecx),%ax
401a53:	83 c1 02             	add    $0x2,%ecx
401a56:	66 85 c0             	test   %ax,%ax
401a59:	75 f5                	jne    0x401a50
401a5b:	2b ca                	sub    %edx,%ecx
401a5d:	8d 84 24 b0 00 00 00 	lea    0xb0(%esp),%eax
401a64:	d1 f9                	sar    $1,%ecx
401a66:	51                   	push   %ecx
401a67:	50                   	push   %eax
401a68:	8d 4c 24 18          	lea    0x18(%esp),%ecx
401a6c:	e8 9f 06 00 00       	call   0x402110
401a71:	8b 7c 24 24          	mov    0x24(%esp),%edi
401a75:	8d 74 24 10          	lea    0x10(%esp),%esi
401a79:	8b 4c 24 10          	mov    0x10(%esp),%ecx
401a7d:	83 ff 08             	cmp    $0x8,%edi
401a80:	8b 54 24 20          	mov    0x20(%esp),%edx
401a84:	0f 43 f1             	cmovae %ecx,%esi
401a87:	89 54 24 40          	mov    %edx,0x40(%esp)
401a8b:	85 d2                	test   %edx,%edx
401a8d:	0f 84 ae 00 00 00    	je     0x401b41
401a93:	83 c9 ff             	or     $0xffffffff,%ecx
401a96:	8d 42 ff             	lea    -0x1(%edx),%eax
401a99:	3b c1                	cmp    %ecx,%eax
401a9b:	0f 42 c8             	cmovb  %eax,%ecx
401a9e:	66 83 3c 4e 5c       	cmpw   $0x5c,(%esi,%ecx,2)
401aa3:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
401aa6:	74 11                	je     0x401ab9
401aa8:	3b ce                	cmp    %esi,%ecx
401aaa:	0f 84 8d 00 00 00    	je     0x401b3d
401ab0:	83 e9 02             	sub    $0x2,%ecx
401ab3:	66 83 39 5c          	cmpw   $0x5c,(%ecx)
401ab7:	75 ef                	jne    0x401aa8
401ab9:	2b ce                	sub    %esi,%ecx
401abb:	d1 f9                	sar    $1,%ecx
401abd:	83 f9 ff             	cmp    $0xffffffff,%ecx
401ac0:	74 7b                	je     0x401b3d
401ac2:	3b ca                	cmp    %edx,%ecx
401ac4:	77 18                	ja     0x401ade
401ac6:	83 ff 08             	cmp    $0x8,%edi
401ac9:	89 4c 24 20          	mov    %ecx,0x20(%esp)
401acd:	8d 44 24 10          	lea    0x10(%esp),%eax
401ad1:	0f 43 44 24 10       	cmovae 0x10(%esp),%eax
401ad6:	33 d2                	xor    %edx,%edx
401ad8:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
401adc:	eb 53                	jmp    0x401b31
401ade:	8b f1                	mov    %ecx,%esi
401ae0:	8b c7                	mov    %edi,%eax
401ae2:	2b f2                	sub    %edx,%esi
401ae4:	2b c2                	sub    %edx,%eax
401ae6:	3b f0                	cmp    %eax,%esi
401ae8:	77 37                	ja     0x401b21
401aea:	83 ff 08             	cmp    $0x8,%edi
401aed:	89 4c 24 20          	mov    %ecx,0x20(%esp)
401af1:	8d 44 24 10          	lea    0x10(%esp),%eax
401af5:	0f 43 44 24 10       	cmovae 0x10(%esp),%eax
401afa:	89 44 24 40          	mov    %eax,0x40(%esp)
401afe:	8d 3c 50             	lea    (%eax,%edx,2),%edi
401b01:	85 f6                	test   %esi,%esi
401b03:	74 0d                	je     0x401b12
401b05:	33 c0                	xor    %eax,%eax
401b07:	8b ce                	mov    %esi,%ecx
401b09:	d1 e9                	shr    $1,%ecx
401b0b:	f3 ab                	rep stos %eax,%es:(%edi)
401b0d:	13 c9                	adc    %ecx,%ecx
401b0f:	66 f3 ab             	rep stos %ax,%es:(%edi)
401b12:	8b 4c 24 40          	mov    0x40(%esp),%ecx
401b16:	8d 04 16             	lea    (%esi,%edx,1),%eax
401b19:	33 d2                	xor    %edx,%edx
401b1b:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
401b1f:	eb 10                	jmp    0x401b31
401b21:	51                   	push   %ecx
401b22:	56                   	push   %esi
401b23:	ff 74 24 44          	push   0x44(%esp)
401b27:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
401b2b:	56                   	push   %esi
401b2c:	e8 4f 07 00 00       	call   0x402280
401b31:	8b 54 24 20          	mov    0x20(%esp),%edx
401b35:	8b 7c 24 24          	mov    0x24(%esp),%edi
401b39:	89 54 24 40          	mov    %edx,0x40(%esp)
401b3d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
401b41:	8b c7                	mov    %edi,%eax
401b43:	2b c2                	sub    %edx,%eax
401b45:	83 f8 0f             	cmp    $0xf,%eax
401b48:	72 35                	jb     0x401b7f
401b4a:	83 ff 08             	cmp    $0x8,%edi
401b4d:	8d 74 24 10          	lea    0x10(%esp),%esi
401b51:	8d 42 0f             	lea    0xf(%edx),%eax
401b54:	0f 43 f1             	cmovae %ecx,%esi
401b57:	89 44 24 20          	mov    %eax,0x20(%esp)
401b5b:	6a 1e                	push   $0x1e
401b5d:	68 80 3d 41 00       	push   $0x413d80
401b62:	8d 04 56             	lea    (%esi,%edx,2),%eax
401b65:	50                   	push   %eax
401b66:	e8 e5 38 00 00       	call   0x405450
401b6b:	8b 44 24 4c          	mov    0x4c(%esp),%eax
401b6f:	83 c4 0c             	add    $0xc,%esp
401b72:	33 c9                	xor    %ecx,%ecx
401b74:	66 89 4c 46 1e       	mov    %cx,0x1e(%esi,%eax,2)
401b79:	8d 44 24 10          	lea    0x10(%esp),%eax
401b7d:	eb 16                	jmp    0x401b95
401b7f:	6a 0f                	push   $0xf
401b81:	68 80 3d 41 00       	push   $0x413d80
401b86:	ff 74 24 44          	push   0x44(%esp)
401b8a:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
401b8e:	6a 0f                	push   $0xf
401b90:	e8 8b 08 00 00       	call   0x402420
401b95:	0f 10 00             	movups (%eax),%xmm0
401b98:	33 c9                	xor    %ecx,%ecx
401b9a:	f3 0f 7e 48 10       	movq   0x10(%eax),%xmm1
401b9f:	0f 29 84 24 90 00 00 	movaps %xmm0,0x90(%esp)
401ba6:	00
401ba7:	66 0f d6 4c 24 40    	movq   %xmm1,0x40(%esp)
401bad:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
401bb4:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
401bbb:	66 89 08             	mov    %cx,(%eax)
401bbe:	8b 4c 24 74          	mov    0x74(%esp),%ecx
401bc2:	83 f9 08             	cmp    $0x8,%ecx
401bc5:	72 41                	jb     0x401c08
401bc7:	8b 54 24 60          	mov    0x60(%esp),%edx
401bcb:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401bd2:	8b c2                	mov    %edx,%eax
401bd4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401bda:	72 14                	jb     0x401bf0
401bdc:	8b 50 fc             	mov    -0x4(%eax),%edx
401bdf:	83 c1 23             	add    $0x23,%ecx
401be2:	2b c2                	sub    %edx,%eax
401be4:	83 c0 fc             	add    $0xfffffffc,%eax
401be7:	83 f8 1f             	cmp    $0x1f,%eax
401bea:	0f 87 59 02 00 00    	ja     0x401e49
401bf0:	51                   	push   %ecx
401bf1:	52                   	push   %edx
401bf2:	e8 87 0f 00 00       	call   0x402b7e
401bf7:	0f 28 84 24 98 00 00 	movaps 0x98(%esp),%xmm0
401bfe:	00
401bff:	83 c4 08             	add    $0x8,%esp
401c02:	f3 0f 7e 4c 24 40    	movq   0x40(%esp),%xmm1
401c08:	8b 4c 24 24          	mov    0x24(%esp),%ecx
401c0c:	66 0f d6 4c 24 70    	movq   %xmm1,0x70(%esp)
401c12:	0f 11 44 24 60       	movups %xmm0,0x60(%esp)
401c17:	83 f9 08             	cmp    $0x8,%ecx
401c1a:	72 33                	jb     0x401c4f
401c1c:	8b 54 24 10          	mov    0x10(%esp),%edx
401c20:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401c27:	8b c2                	mov    %edx,%eax
401c29:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401c2f:	72 14                	jb     0x401c45
401c31:	8b 50 fc             	mov    -0x4(%eax),%edx
401c34:	83 c1 23             	add    $0x23,%ecx
401c37:	2b c2                	sub    %edx,%eax
401c39:	83 c0 fc             	add    $0xfffffffc,%eax
401c3c:	83 f8 1f             	cmp    $0x1f,%eax
401c3f:	0f 87 09 02 00 00    	ja     0x401e4e
401c45:	51                   	push   %ecx
401c46:	52                   	push   %edx
401c47:	e8 32 0f 00 00       	call   0x402b7e
401c4c:	83 c4 08             	add    $0x8,%esp
401c4f:	be 01 00 00 00       	mov    $0x1,%esi
401c54:	39 74 24 38          	cmp    %esi,0x38(%esp)
401c58:	0f 8e d8 00 00 00    	jle    0x401d36
401c5e:	66 90                	xchg   %ax,%ax
401c60:	8b 44 24 3c          	mov    0x3c(%esp),%eax
401c64:	0f 57 c0             	xorps  %xmm0,%xmm0
401c67:	0f 29 84 24 90 00 00 	movaps %xmm0,0x90(%esp)
401c6e:	00
401c6f:	c7 84 24 a0 00 00 00 	movl   $0x0,0xa0(%esp)
401c76:	00 00 00 00
401c7a:	c7 84 24 a4 00 00 00 	movl   $0x0,0xa4(%esp)
401c81:	00 00 00 00
401c85:	8b 14 b0             	mov    (%eax,%esi,4),%edx
401c88:	8b ca                	mov    %edx,%ecx
401c8a:	8d 79 02             	lea    0x2(%ecx),%edi
401c8d:	0f 1f 00             	nopl   (%eax)
401c90:	66 8b 01             	mov    (%ecx),%ax
401c93:	83 c1 02             	add    $0x2,%ecx
401c96:	66 85 c0             	test   %ax,%ax
401c99:	75 f5                	jne    0x401c90
401c9b:	2b cf                	sub    %edi,%ecx
401c9d:	d1 f9                	sar    $1,%ecx
401c9f:	51                   	push   %ecx
401ca0:	52                   	push   %edx
401ca1:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
401ca8:	e8 63 04 00 00       	call   0x402110
401cad:	8b 44 24 58          	mov    0x58(%esp),%eax
401cb1:	3b 44 24 5c          	cmp    0x5c(%esp),%eax
401cb5:	74 20                	je     0x401cd7
401cb7:	0f 10 84 24 90 00 00 	movups 0x90(%esp),%xmm0
401cbe:	00
401cbf:	0f 11 00             	movups %xmm0,(%eax)
401cc2:	f3 0f 7e 84 24 a0 00 	movq   0xa0(%esp),%xmm0
401cc9:	00 00
401ccb:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
401cd0:	83 44 24 58 18       	addl   $0x18,0x58(%esp)
401cd5:	eb 54                	jmp    0x401d2b
401cd7:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
401cde:	51                   	push   %ecx
401cdf:	50                   	push   %eax
401ce0:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
401ce4:	e8 f7 0a 00 00       	call   0x4027e0
401ce9:	8b 8c 24 a4 00 00 00 	mov    0xa4(%esp),%ecx
401cf0:	83 f9 08             	cmp    $0x8,%ecx
401cf3:	72 36                	jb     0x401d2b
401cf5:	8b 94 24 90 00 00 00 	mov    0x90(%esp),%edx
401cfc:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401d03:	8b c2                	mov    %edx,%eax
401d05:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401d0b:	72 14                	jb     0x401d21
401d0d:	8b 50 fc             	mov    -0x4(%eax),%edx
401d10:	83 c1 23             	add    $0x23,%ecx
401d13:	2b c2                	sub    %edx,%eax
401d15:	83 c0 fc             	add    $0xfffffffc,%eax
401d18:	83 f8 1f             	cmp    $0x1f,%eax
401d1b:	0f 87 32 01 00 00    	ja     0x401e53
401d21:	51                   	push   %ecx
401d22:	52                   	push   %edx
401d23:	e8 56 0e 00 00       	call   0x402b7e
401d28:	83 c4 08             	add    $0x8,%esp
401d2b:	46                   	inc    %esi
401d2c:	3b 74 24 38          	cmp    0x38(%esp),%esi
401d30:	0f 8c 2a ff ff ff    	jl     0x401c60
401d36:	ff 74 24 3c          	push   0x3c(%esp)
401d3a:	ff 15 0c f0 40 00    	call   *0x40f00c
401d40:	8b 44 24 58          	mov    0x58(%esp),%eax
401d44:	3b 44 24 5c          	cmp    0x5c(%esp),%eax
401d48:	74 29                	je     0x401d73
401d4a:	0f 57 c0             	xorps  %xmm0,%xmm0
401d4d:	8b c8                	mov    %eax,%ecx
401d4f:	6a 0f                	push   $0xf
401d51:	0f 11 00             	movups %xmm0,(%eax)
401d54:	68 a0 3d 41 00       	push   $0x413da0
401d59:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
401d60:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
401d67:	e8 a4 03 00 00       	call   0x402110
401d6c:	83 44 24 58 18       	addl   $0x18,0x58(%esp)
401d71:	eb 0f                	jmp    0x401d82
401d73:	68 a0 3d 41 00       	push   $0x413da0
401d78:	50                   	push   %eax
401d79:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
401d7d:	e8 1e 08 00 00       	call   0x4025a0
401d82:	8d 4c 24 54          	lea    0x54(%esp),%ecx
401d86:	e8 b5 f9 ff ff       	call   0x401740
401d8b:	8b 8c 24 8c 00 00 00 	mov    0x8c(%esp),%ecx
401d92:	83 f9 08             	cmp    $0x8,%ecx
401d95:	72 33                	jb     0x401dca
401d97:	8b 54 24 78          	mov    0x78(%esp),%edx
401d9b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401da2:	8b c2                	mov    %edx,%eax
401da4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401daa:	72 14                	jb     0x401dc0
401dac:	8b 50 fc             	mov    -0x4(%eax),%edx
401daf:	83 c1 23             	add    $0x23,%ecx
401db2:	2b c2                	sub    %edx,%eax
401db4:	83 c0 fc             	add    $0xfffffffc,%eax
401db7:	83 f8 1f             	cmp    $0x1f,%eax
401dba:	0f 87 93 00 00 00    	ja     0x401e53
401dc0:	51                   	push   %ecx
401dc1:	52                   	push   %edx
401dc2:	e8 b7 0d 00 00       	call   0x402b7e
401dc7:	83 c4 08             	add    $0x8,%esp
401dca:	8b 4c 24 74          	mov    0x74(%esp),%ecx
401dce:	33 c0                	xor    %eax,%eax
401dd0:	c7 84 24 88 00 00 00 	movl   $0x0,0x88(%esp)
401dd7:	00 00 00 00
401ddb:	c7 84 24 8c 00 00 00 	movl   $0x7,0x8c(%esp)
401de2:	07 00 00 00
401de6:	66 89 44 24 78       	mov    %ax,0x78(%esp)
401deb:	83 f9 08             	cmp    $0x8,%ecx
401dee:	72 2f                	jb     0x401e1f
401df0:	8b 54 24 60          	mov    0x60(%esp),%edx
401df4:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401dfb:	8b c2                	mov    %edx,%eax
401dfd:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401e03:	72 10                	jb     0x401e15
401e05:	8b 50 fc             	mov    -0x4(%eax),%edx
401e08:	83 c1 23             	add    $0x23,%ecx
401e0b:	2b c2                	sub    %edx,%eax
401e0d:	83 c0 fc             	add    $0xfffffffc,%eax
401e10:	83 f8 1f             	cmp    $0x1f,%eax
401e13:	77 3e                	ja     0x401e53
401e15:	51                   	push   %ecx
401e16:	52                   	push   %edx
401e17:	e8 62 0d 00 00       	call   0x402b7e
401e1c:	83 c4 08             	add    $0x8,%esp
401e1f:	33 c0                	xor    %eax,%eax
401e21:	c7 44 24 70 00 00 00 	movl   $0x0,0x70(%esp)
401e28:	00
401e29:	8d 4c 24 54          	lea    0x54(%esp),%ecx
401e2d:	c7 44 24 74 07 00 00 	movl   $0x7,0x74(%esp)
401e34:	00
401e35:	66 89 44 24 60       	mov    %ax,0x60(%esp)
401e3a:	e8 21 00 00 00       	call   0x401e60
401e3f:	5f                   	pop    %edi
401e40:	33 c0                	xor    %eax,%eax
401e42:	5e                   	pop    %esi
401e43:	8b e5                	mov    %ebp,%esp
401e45:	5d                   	pop    %ebp
401e46:	c2 10 00             	ret    $0x10
401e49:	e8 de 3e 00 00       	call   0x405d2c
401e4e:	e8 d9 3e 00 00       	call   0x405d2c
401e53:	e8 d4 3e 00 00       	call   0x405d2c
401e58:	cc                   	int3
401e59:	cc                   	int3
401e5a:	cc                   	int3
401e5b:	cc                   	int3
401e5c:	cc                   	int3
401e5d:	cc                   	int3
401e5e:	cc                   	int3
401e5f:	cc                   	int3
401e60:	57                   	push   %edi
401e61:	8b f9                	mov    %ecx,%edi
401e63:	8b 0f                	mov    (%edi),%ecx
401e65:	85 c9                	test   %ecx,%ecx
401e67:	74 64                	je     0x401ecd
401e69:	8b 57 04             	mov    0x4(%edi),%edx
401e6c:	56                   	push   %esi
401e6d:	51                   	push   %ecx
401e6e:	e8 9d 03 00 00       	call   0x402210
401e73:	8b 4f 08             	mov    0x8(%edi),%ecx
401e76:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
401e7b:	8b 37                	mov    (%edi),%esi
401e7d:	83 c4 04             	add    $0x4,%esp
401e80:	2b ce                	sub    %esi,%ecx
401e82:	f7 e9                	imul   %ecx
401e84:	c1 fa 02             	sar    $0x2,%edx
401e87:	8b c2                	mov    %edx,%eax
401e89:	c1 e8 1f             	shr    $0x1f,%eax
401e8c:	03 c2                	add    %edx,%eax
401e8e:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
401e91:	c1 e1 03             	shl    $0x3,%ecx