40c901:	e8 fa 48 ff ff       	call   0x401200
40c906:	e8 74 41 01 00       	call   0x420a7f
40c90b:	cc                   	int3
40c90c:	cc                   	int3
40c90d:	cc                   	int3
40c90e:	cc                   	int3
40c90f:	cc                   	int3
40c910:	57                   	push   %edi
40c911:	8b 39                	mov    (%ecx),%edi
40c913:	85 ff                	test   %edi,%edi
40c915:	74 14                	je     0x40c92b
40c917:	8b 07                	mov    (%edi),%eax
40c919:	56                   	push   %esi
40c91a:	6a 01                	push   $0x1
40c91c:	8b 30                	mov    (%eax),%esi
40c91e:	8b ce                	mov    %esi,%ecx
40c920:	ff 15 3c f2 43 00    	call   *0x43f23c
40c926:	8b cf                	mov    %edi,%ecx
40c928:	ff d6                	call   *%esi
40c92a:	5e                   	pop    %esi
40c92b:	5f                   	pop    %edi
40c92c:	c3                   	ret
40c92d:	cc                   	int3
40c92e:	cc                   	int3
40c92f:	cc                   	int3
40c930:	53                   	push   %ebx
40c931:	8b dc                	mov    %esp,%ebx
40c933:	83 ec 08             	sub    $0x8,%esp
40c936:	83 e4 f8             	and    $0xfffffff8,%esp
40c939:	83 c4 04             	add    $0x4,%esp
40c93c:	55                   	push   %ebp
40c93d:	8b 6b 04             	mov    0x4(%ebx),%ebp
40c940:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40c944:	8b ec                	mov    %esp,%ebp
40c946:	6a ff                	push   $0xffffffff
40c948:	68 d1 dd 43 00       	push   $0x43ddd1
40c94d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c953:	50                   	push   %eax
40c954:	53                   	push   %ebx
40c955:	81 ec e8 00 00 00    	sub    $0xe8,%esp
40c95b:	a1 14 40 45 00       	mov    0x454014,%eax
40c960:	33 c5                	xor    %ebp,%eax
40c962:	89 45 ec             	mov    %eax,-0x14(%ebp)
40c965:	56                   	push   %esi
40c966:	57                   	push   %edi
40c967:	50                   	push   %eax
40c968:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c96b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c971:	8b 43 08             	mov    0x8(%ebx),%eax
40c974:	8b 7b 0c             	mov    0xc(%ebx),%edi
40c977:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
40c97d:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40c984:	85 c0                	test   %eax,%eax
40c986:	0f 84 90 02 00 00    	je     0x40cc1c
40c98c:	83 38 00             	cmpl   $0x0,(%eax)
40c98f:	0f 85 87 02 00 00    	jne    0x40cc1c
40c995:	6a 18                	push   $0x18
40c997:	e8 42 ef 00 00       	call   0x41b8de
40c99c:	8b f0                	mov    %eax,%esi
40c99e:	83 c4 04             	add    $0x4,%esp
40c9a1:	89 75 dc             	mov    %esi,-0x24(%ebp)
40c9a4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40c9ab:	0f 57 c0             	xorps  %xmm0,%xmm0
40c9ae:	0f 11 06             	movups %xmm0,(%esi)
40c9b1:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
40c9b6:	8b 47 04             	mov    0x4(%edi),%eax
40c9b9:	85 c0                	test   %eax,%eax
40c9bb:	74 0c                	je     0x40c9c9
40c9bd:	8b 78 18             	mov    0x18(%eax),%edi
40c9c0:	85 ff                	test   %edi,%edi
40c9c2:	75 0a                	jne    0x40c9ce
40c9c4:	8d 78 1c             	lea    0x1c(%eax),%edi
40c9c7:	eb 05                	jmp    0x40c9ce
40c9c9:	bf d7 da 44 00       	mov    $0x44dad7,%edi
40c9ce:	6a 00                	push   $0x0
40c9d0:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40c9d6:	e8 75 e6 00 00       	call   0x41b050
40c9db:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
40c9e2:	00 00 00
40c9e5:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
40c9ec:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
40c9f3:	00 00 00
40c9f6:	c6 85 7c ff ff ff 00 	movb   $0x0,-0x84(%ebp)
40c9fd:	33 c0                	xor    %eax,%eax
40c9ff:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
40ca06:	66 89 45 84          	mov    %ax,-0x7c(%ebp)
40ca0a:	89 45 88             	mov    %eax,-0x78(%ebp)
40ca0d:	66 89 45 8c          	mov    %ax,-0x74(%ebp)
40ca11:	89 45 90             	mov    %eax,-0x70(%ebp)
40ca14:	88 45 94             	mov    %al,-0x6c(%ebp)
40ca17:	89 45 98             	mov    %eax,-0x68(%ebp)
40ca1a:	88 45 9c             	mov    %al,-0x64(%ebp)
40ca1d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40ca21:	85 ff                	test   %edi,%edi
40ca23:	0f 84 16 02 00 00    	je     0x40cc3f
40ca29:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40ca2f:	57                   	push   %edi
40ca30:	50                   	push   %eax
40ca31:	e8 fe e8 00 00       	call   0x41b334
40ca36:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40ca3d:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
40ca44:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
40ca4b:	c7 06 54 06 44 00    	movl   $0x440654,(%esi)
40ca51:	e8 30 83 01 00       	call   0x424d86
40ca56:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
40ca5c:	50                   	push   %eax
40ca5d:	e8 0a ec 00 00       	call   0x41b66c
40ca62:	83 c4 0c             	add    $0xc,%esp
40ca65:	89 75 d8             	mov    %esi,-0x28(%ebp)
40ca68:	0f 10 00             	movups (%eax),%xmm0
40ca6b:	0f 11 45 a0          	movups %xmm0,-0x60(%ebp)
40ca6f:	0f 10 40 10          	movups 0x10(%eax),%xmm0
40ca73:	0f 11 45 b0          	movups %xmm0,-0x50(%ebp)
40ca77:	f3 0f 7e 40 20       	movq   0x20(%eax),%xmm0
40ca7c:	66 0f d6 45 c0       	movq   %xmm0,-0x40(%ebp)
40ca81:	8b 40 28             	mov    0x28(%eax),%eax
40ca84:	89 45 c8             	mov    %eax,-0x38(%ebp)
40ca87:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40ca8e:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40ca95:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
40ca9c:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
40caa2:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40caa6:	50                   	push   %eax
40caa7:	e8 c0 eb 00 00       	call   0x41b66c
40caac:	83 c4 04             	add    $0x4,%esp
40caaf:	6a 01                	push   $0x1
40cab1:	6a 01                	push   $0x1
40cab3:	e8 18 40 01 00       	call   0x420ad0
40cab8:	83 c4 08             	add    $0x8,%esp
40cabb:	85 c0                	test   %eax,%eax
40cabd:	0f 84 86 01 00 00    	je     0x40cc49
40cac3:	c6 00 00             	movb   $0x0,(%eax)
40cac6:	89 46 08             	mov    %eax,0x8(%esi)
40cac9:	8d 45 a0             	lea    -0x60(%ebp),%eax
40cacc:	50                   	push   %eax
40cacd:	6a 00                	push   $0x0
40cacf:	68 00 db 44 00       	push   $0x44db00
40cad4:	e8 d7 78 ff ff       	call   0x4043b0
40cad9:	83 c4 0c             	add    $0xc,%esp
40cadc:	89 46 10             	mov    %eax,0x10(%esi)
40cadf:	8d 45 a0             	lea    -0x60(%ebp),%eax
40cae2:	50                   	push   %eax
40cae3:	6a 00                	push   $0x0
40cae5:	68 08 db 44 00       	push   $0x44db08
40caea:	e8 c1 78 ff ff       	call   0x4043b0
40caef:	89 46 14             	mov    %eax,0x14(%esi)
40caf2:	83 c4 0c             	add    $0xc,%esp
40caf5:	33 c0                	xor    %eax,%eax
40caf7:	c6 45 e8 2e          	movb   $0x2e,-0x18(%ebp)
40cafb:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
40caff:	0f 57 c0             	xorps  %xmm0,%xmm0
40cb02:	8d 45 a0             	lea    -0x60(%ebp),%eax
40cb05:	66 0f 13 45 d4       	movlpd %xmm0,-0x2c(%ebp)
40cb0a:	50                   	push   %eax
40cb0b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40cb0e:	50                   	push   %eax
40cb0f:	6a 01                	push   $0x1
40cb11:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cb14:	50                   	push   %eax
40cb15:	8d 45 dc             	lea    -0x24(%ebp),%eax
40cb18:	50                   	push   %eax
40cb19:	e8 7c e3 00 00       	call   0x41ae9a
40cb1e:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
40cb22:	83 c4 14             	add    $0x14,%esp
40cb25:	66 89 46 0c          	mov    %ax,0xc(%esi)
40cb29:	0f 57 c0             	xorps  %xmm0,%xmm0
40cb2c:	33 c0                	xor    %eax,%eax
40cb2e:	c6 45 e4 2c          	movb   $0x2c,-0x1c(%ebp)
40cb32:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
40cb36:	8d 45 a0             	lea    -0x60(%ebp),%eax
40cb39:	50                   	push   %eax
40cb3a:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cb3d:	66 0f 13 45 cc       	movlpd %xmm0,-0x34(%ebp)
40cb42:	50                   	push   %eax
40cb43:	6a 01                	push   $0x1
40cb45:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40cb48:	50                   	push   %eax
40cb49:	8d 45 e0             	lea    -0x20(%ebp),%eax
40cb4c:	50                   	push   %eax
40cb4d:	e8 48 e3 00 00       	call   0x41ae9a
40cb52:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
40cb56:	83 c4 14             	add    $0x14,%esp
40cb59:	66 89 46 0e          	mov    %ax,0xe(%esi)
40cb5d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
40cb63:	89 30                	mov    %esi,(%eax)
40cb65:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40cb6b:	c7 45 fc 0c 00 00 00 	movl   $0xc,-0x4(%ebp)
40cb72:	50                   	push   %eax
40cb73:	e8 07 e8 00 00       	call   0x41b37f
40cb78:	8b 45 98             	mov    -0x68(%ebp),%eax
40cb7b:	83 c4 04             	add    $0x4,%esp
40cb7e:	85 c0                	test   %eax,%eax
40cb80:	74 09                	je     0x40cb8b
40cb82:	50                   	push   %eax
40cb83:	e8 c5 94 01 00       	call   0x42604d
40cb88:	83 c4 04             	add    $0x4,%esp
40cb8b:	8b 45 90             	mov    -0x70(%ebp),%eax
40cb8e:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
40cb95:	85 c0                	test   %eax,%eax
40cb97:	74 09                	je     0x40cba2
40cb99:	50                   	push   %eax
40cb9a:	e8 ae 94 01 00       	call   0x42604d
40cb9f:	83 c4 04             	add    $0x4,%esp
40cba2:	8b 45 88             	mov    -0x78(%ebp),%eax
40cba5:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
40cbac:	85 c0                	test   %eax,%eax
40cbae:	74 09                	je     0x40cbb9
40cbb0:	50                   	push   %eax
40cbb1:	e8 97 94 01 00       	call   0x42604d
40cbb6:	83 c4 04             	add    $0x4,%esp
40cbb9:	8b 45 80             	mov    -0x80(%ebp),%eax
40cbbc:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
40cbc3:	85 c0                	test   %eax,%eax
40cbc5:	74 09                	je     0x40cbd0
40cbc7:	50                   	push   %eax
40cbc8:	e8 80 94 01 00       	call   0x42604d
40cbcd:	83 c4 04             	add    $0x4,%esp
40cbd0:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
40cbd6:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
40cbdd:	85 c0                	test   %eax,%eax
40cbdf:	74 09                	je     0x40cbea
40cbe1:	50                   	push   %eax
40cbe2:	e8 66 94 01 00       	call   0x42604d
40cbe7:	83 c4 04             	add    $0x4,%esp
40cbea:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
40cbf0:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
40cbf7:	00 00 00
40cbfa:	85 c0                	test   %eax,%eax
40cbfc:	74 09                	je     0x40cc07
40cbfe:	50                   	push   %eax
40cbff:	e8 49 94 01 00       	call   0x42604d
40cc04:	83 c4 04             	add    $0x4,%esp
40cc07:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40cc0d:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
40cc14:	00 00 00
40cc17:	e8 8c e4 00 00       	call   0x41b0a8
40cc1c:	b8 04 00 00 00       	mov    $0x4,%eax
40cc21:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cc24:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40cc2b:	59                   	pop    %ecx
40cc2c:	5f                   	pop    %edi
40cc2d:	5e                   	pop    %esi
40cc2e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40cc31:	33 cd                	xor    %ebp,%ecx
40cc33:	e8 98 ec 00 00       	call   0x41b8d0
40cc38:	8b e5                	mov    %ebp,%esp
40cc3a:	5d                   	pop    %ebp
40cc3b:	8b e3                	mov    %ebx,%esp
40cc3d:	5b                   	pop    %ebx
40cc3e:	c3                   	ret
40cc3f:	68 f0 da 44 00       	push   $0x44daf0
40cc44:	e8 31 e2 00 00       	call   0x41ae7a
40cc49:	e8 cf e1 00 00       	call   0x41ae1d
40cc4e:	cc                   	int3
40cc4f:	cc                   	int3
40cc50:	55                   	push   %ebp
40cc51:	8b ec                	mov    %esp,%ebp
40cc53:	83 ec 14             	sub    $0x14,%esp
40cc56:	53                   	push   %ebx
40cc57:	8b 5d 10             	mov    0x10(%ebp),%ebx
40cc5a:	56                   	push   %esi
40cc5b:	8b 75 0c             	mov    0xc(%ebp),%esi
40cc5e:	57                   	push   %edi
40cc5f:	8b f9                	mov    %ecx,%edi
40cc61:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40cc67:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40cc6e:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
40cc75:	8b 46 10             	mov    0x10(%esi),%eax
40cc78:	8b 4b 10             	mov    0x10(%ebx),%ecx
40cc7b:	8b 53 14             	mov    0x14(%ebx),%edx
40cc7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cc81:	03 c1                	add    %ecx,%eax
40cc83:	89 45 f4             	mov    %eax,-0xc(%ebp)
40cc86:	8b 46 14             	mov    0x14(%esi),%eax
40cc89:	2b 45 fc             	sub    -0x4(%ebp),%eax
40cc8c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40cc8f:	3b c8                	cmp    %eax,%ecx
40cc91:	77 63                	ja     0x40ccf6
40cc93:	3b 56 14             	cmp    0x14(%esi),%edx
40cc96:	77 5e                	ja     0x40ccf6
40cc98:	0f 10 06             	movups (%esi),%xmm0
40cc9b:	33 c0                	xor    %eax,%eax
40cc9d:	8b d7                	mov    %edi,%edx
40cc9f:	0f 11 07             	movups %xmm0,(%edi)
40cca2:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
40cca7:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
40ccac:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40ccb3:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40ccba:	66 89 06             	mov    %ax,(%esi)
40ccbd:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40ccc1:	72 02                	jb     0x40ccc5
40ccc3:	8b 17                	mov    (%edi),%edx
40ccc5:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40ccc9:	72 02                	jb     0x40cccd
40cccb:	8b 1b                	mov    (%ebx),%ebx
40cccd:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
40ccd4:	50                   	push   %eax
40ccd5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ccd8:	53                   	push   %ebx
40ccd9:	8d 04 42             	lea    (%edx,%eax,2),%eax
40ccdc:	50                   	push   %eax
40ccdd:	e8 6e 07 01 00       	call   0x41d450
40cce2:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cce5:	83 c4 0c             	add    $0xc,%esp
40cce8:	89 47 10             	mov    %eax,0x10(%edi)
40cceb:	8b c7                	mov    %edi,%eax
40cced:	5f                   	pop    %edi
40ccee:	5e                   	pop    %esi
40ccef:	5b                   	pop    %ebx
40ccf0:	8b e5                	mov    %ebp,%esp
40ccf2:	5d                   	pop    %ebp
40ccf3:	c2 0c 00             	ret    $0xc
40ccf6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ccf9:	2b d1                	sub    %ecx,%edx
40ccfb:	3b c2                	cmp    %edx,%eax
40ccfd:	77 66                	ja     0x40cd65
40ccff:	0f 10 03             	movups (%ebx),%xmm0
40cd02:	33 d2                	xor    %edx,%edx
40cd04:	0f 11 07             	movups %xmm0,(%edi)
40cd07:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
40cd0c:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
40cd11:	66 89 13             	mov    %dx,(%ebx)
40cd14:	8d 14 00             	lea    (%eax,%eax,1),%edx
40cd17:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
40cd1e:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
40cd25:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
40cd2c:	8b 1f                	mov    (%edi),%ebx
40cd2e:	50                   	push   %eax
40cd2f:	53                   	push   %ebx
40cd30:	89 55 f8             	mov    %edx,-0x8(%ebp)
40cd33:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
40cd36:	50                   	push   %eax
40cd37:	e8 14 07 01 00       	call   0x41d450
40cd3c:	83 c4 0c             	add    $0xc,%esp
40cd3f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40cd43:	72 02                	jb     0x40cd47
40cd45:	8b 36                	mov    (%esi),%esi
40cd47:	ff 75 f8             	push   -0x8(%ebp)
40cd4a:	56                   	push   %esi
40cd4b:	53                   	push   %ebx
40cd4c:	e8 ff 06 01 00       	call   0x41d450
40cd51:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cd54:	83 c4 0c             	add    $0xc,%esp
40cd57:	89 47 10             	mov    %eax,0x10(%edi)
40cd5a:	8b c7                	mov    %edi,%eax
40cd5c:	5f                   	pop    %edi
40cd5d:	5e                   	pop    %esi
40cd5e:	5b                   	pop    %ebx
40cd5f:	8b e5                	mov    %ebp,%esp
40cd61:	5d                   	pop    %ebp