403e47:	e8 84 ff ff ff       	call   0x403dd0
403e4c:	ff 75 10             	push   0x10(%ebp)
403e4f:	e8 88 11 00 00       	call   0x404fdc
403e54:	8b 45 08             	mov    0x8(%ebp),%eax
403e57:	83 c4 10             	add    $0x10,%esp
403e5a:	8b 7b 0c             	mov    0xc(%ebx),%edi
403e5d:	f6 40 04 66          	testb  $0x66,0x4(%eax)
403e61:	75 5a                	jne    0x403ebd
403e63:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403e66:	8b 45 10             	mov    0x10(%ebp),%eax
403e69:	89 45 e8             	mov    %eax,-0x18(%ebp)
403e6c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403e6f:	89 43 fc             	mov    %eax,-0x4(%ebx)
403e72:	83 ff fe             	cmp    $0xfffffffe,%edi
403e75:	74 69                	je     0x403ee0
403e77:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403e7a:	8d 47 02             	lea    0x2(%edi),%eax
403e7d:	8d 04 47             	lea    (%edi,%eax,2),%eax
403e80:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
403e83:	8d 04 81             	lea    (%ecx,%eax,4),%eax
403e86:	8b 48 04             	mov    0x4(%eax),%ecx
403e89:	89 45 ec             	mov    %eax,-0x14(%ebp)
403e8c:	85 c9                	test   %ecx,%ecx
403e8e:	74 14                	je     0x403ea4
403e90:	8b d6                	mov    %esi,%edx
403e92:	e8 69 12 00 00       	call   0x405100
403e97:	b1 01                	mov    $0x1,%cl
403e99:	88 4d ff             	mov    %cl,-0x1(%ebp)
403e9c:	85 c0                	test   %eax,%eax
403e9e:	78 14                	js     0x403eb4
403ea0:	7f 48                	jg     0x403eea
403ea2:	eb 03                	jmp    0x403ea7
403ea4:	8a 4d ff             	mov    -0x1(%ebp),%cl
403ea7:	8b fb                	mov    %ebx,%edi
403ea9:	83 fb fe             	cmp    $0xfffffffe,%ebx
403eac:	75 c9                	jne    0x403e77
403eae:	84 c9                	test   %cl,%cl
403eb0:	74 2e                	je     0x403ee0
403eb2:	eb 20                	jmp    0x403ed4
403eb4:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
403ebb:	eb 17                	jmp    0x403ed4
403ebd:	83 ff fe             	cmp    $0xfffffffe,%edi
403ec0:	74 1e                	je     0x403ee0
403ec2:	68 14 60 41 00       	push   $0x416014
403ec7:	56                   	push   %esi
403ec8:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
403ecd:	8b cb                	mov    %ebx,%ecx
403ecf:	e8 8c 12 00 00       	call   0x405160
403ed4:	56                   	push   %esi
403ed5:	ff 75 f8             	push   -0x8(%ebp)
403ed8:	e8 f3 fe ff ff       	call   0x403dd0
403edd:	83 c4 08             	add    $0x8,%esp
403ee0:	8b 45 f4             	mov    -0xc(%ebp),%eax
403ee3:	5f                   	pop    %edi
403ee4:	5e                   	pop    %esi
403ee5:	5b                   	pop    %ebx
403ee6:	8b e5                	mov    %ebp,%esp
403ee8:	5d                   	pop    %ebp
403ee9:	c3                   	ret
403eea:	8b 45 08             	mov    0x8(%ebp),%eax
403eed:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
403ef3:	75 38                	jne    0x403f2d
403ef5:	83 3d d8 f1 40 00 00 	cmpl   $0x0,0x40f1d8
403efc:	74 2f                	je     0x403f2d
403efe:	68 d8 f1 40 00       	push   $0x40f1d8
403f03:	e8 d8 ac 00 00       	call   0x40ebe0
403f08:	83 c4 04             	add    $0x4,%esp
403f0b:	85 c0                	test   %eax,%eax
403f0d:	74 1b                	je     0x403f2a
403f0f:	8b 35 d8 f1 40 00    	mov    0x40f1d8,%esi
403f15:	8b ce                	mov    %esi,%ecx
403f17:	6a 01                	push   $0x1
403f19:	ff 75 08             	push   0x8(%ebp)
403f1c:	ff 15 18 f1 40 00    	call   *0x40f118
403f22:	ff d6                	call   *%esi
403f24:	8b 75 f0             	mov    -0x10(%ebp),%esi
403f27:	83 c4 08             	add    $0x8,%esp
403f2a:	8b 45 08             	mov    0x8(%ebp),%eax
403f2d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403f30:	8b d0                	mov    %eax,%edx
403f32:	e8 09 12 00 00       	call   0x405140
403f37:	8b 45 0c             	mov    0xc(%ebp),%eax
403f3a:	39 78 0c             	cmp    %edi,0xc(%eax)
403f3d:	74 12                	je     0x403f51
403f3f:	68 14 60 41 00       	push   $0x416014
403f44:	56                   	push   %esi
403f45:	8b d7                	mov    %edi,%edx
403f47:	8b c8                	mov    %eax,%ecx
403f49:	e8 12 12 00 00       	call   0x405160
403f4e:	8b 45 0c             	mov    0xc(%ebp),%eax
403f51:	56                   	push   %esi
403f52:	ff 75 f8             	push   -0x8(%ebp)
403f55:	89 58 0c             	mov    %ebx,0xc(%eax)
403f58:	e8 73 fe ff ff       	call   0x403dd0
403f5d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403f60:	83 c4 08             	add    $0x8,%esp
403f63:	8b d6                	mov    %esi,%edx
403f65:	8b 49 08             	mov    0x8(%ecx),%ecx
403f68:	e8 b3 11 00 00       	call   0x405120
403f6d:	cc                   	int3
403f6e:	e8 04 12 00 00       	call   0x405177
403f73:	84 c0                	test   %al,%al
403f75:	75 03                	jne    0x403f7a
403f77:	32 c0                	xor    %al,%al
403f79:	c3                   	ret
403f7a:	e8 77 02 00 00       	call   0x4041f6
403f7f:	84 c0                	test   %al,%al
403f81:	75 07                	jne    0x403f8a
403f83:	e8 2b 12 00 00       	call   0x4051b3
403f88:	eb ed                	jmp    0x403f77
403f8a:	b0 01                	mov    $0x1,%al
403f8c:	c3                   	ret
403f8d:	55                   	push   %ebp
403f8e:	8b ec                	mov    %esp,%ebp
403f90:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
403f94:	75 0a                	jne    0x403fa0
403f96:	e8 8e 02 00 00       	call   0x404229
403f9b:	e8 13 12 00 00       	call   0x4051b3
403fa0:	b0 01                	mov    $0x1,%al
403fa2:	5d                   	pop    %ebp
403fa3:	c3                   	ret
403fa4:	55                   	push   %ebp
403fa5:	8b ec                	mov    %esp,%ebp
403fa7:	8b 45 08             	mov    0x8(%ebp),%eax
403faa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403fad:	3b c1                	cmp    %ecx,%eax
403faf:	75 04                	jne    0x403fb5
403fb1:	33 c0                	xor    %eax,%eax
403fb3:	5d                   	pop    %ebp
403fb4:	c3                   	ret
403fb5:	83 c1 05             	add    $0x5,%ecx
403fb8:	83 c0 05             	add    $0x5,%eax
403fbb:	8a 10                	mov    (%eax),%dl
403fbd:	3a 11                	cmp    (%ecx),%dl
403fbf:	75 18                	jne    0x403fd9
403fc1:	84 d2                	test   %dl,%dl
403fc3:	74 ec                	je     0x403fb1
403fc5:	8a 50 01             	mov    0x1(%eax),%dl
403fc8:	3a 51 01             	cmp    0x1(%ecx),%dl
403fcb:	75 0c                	jne    0x403fd9
403fcd:	83 c0 02             	add    $0x2,%eax
403fd0:	83 c1 02             	add    $0x2,%ecx
403fd3:	84 d2                	test   %dl,%dl
403fd5:	75 e4                	jne    0x403fbb
403fd7:	eb d8                	jmp    0x403fb1
403fd9:	1b c0                	sbb    %eax,%eax
403fdb:	83 c8 01             	or     $0x1,%eax
403fde:	5d                   	pop    %ebp
403fdf:	c3                   	ret
403fe0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
403fe4:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
403fe9:	8b d7                	mov    %edi,%edx
403feb:	8b 7c 24 04          	mov    0x4(%esp),%edi
403fef:	85 c9                	test   %ecx,%ecx
403ff1:	0f 84 3c 01 00 00    	je     0x404133
403ff7:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
403ffd:	83 f9 20             	cmp    $0x20,%ecx
404000:	0f 86 df 00 00 00    	jbe    0x4040e5
404006:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40400c:	0f 82 8b 00 00 00    	jb     0x40409d
404012:	0f ba 25 c0 69 41 00 	btl    $0x1,0x4169c0
404019:	01
40401a:	73 09                	jae    0x404025
40401c:	f3 aa                	rep stos %al,%es:(%edi)
40401e:	8b 44 24 04          	mov    0x4(%esp),%eax
404022:	8b fa                	mov    %edx,%edi
404024:	c3                   	ret
404025:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
40402c:	01
40402d:	0f 83 b2 00 00 00    	jae    0x4040e5
404033:	66 0f 6e c0          	movd   %eax,%xmm0
404037:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
40403c:	03 cf                	add    %edi,%ecx
40403e:	0f 11 07             	movups %xmm0,(%edi)
404041:	83 c7 10             	add    $0x10,%edi
404044:	83 e7 f0             	and    $0xfffffff0,%edi
404047:	2b cf                	sub    %edi,%ecx
404049:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40404f:	76 4c                	jbe    0x40409d
404051:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404058:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40405f:	90                   	nop
404060:	66 0f 7f 07          	movdqa %xmm0,(%edi)
404064:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
404069:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
40406e:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
404073:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
404078:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
40407d:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
404082:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
404087:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40408d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
404093:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
404099:	75 c5                	jne    0x404060
40409b:	eb 13                	jmp    0x4040b0
40409d:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
4040a4:	01
4040a5:	73 3e                	jae    0x4040e5
4040a7:	66 0f 6e c0          	movd   %eax,%xmm0
4040ab:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4040b0:	83 f9 20             	cmp    $0x20,%ecx
4040b3:	72 1c                	jb     0x4040d1
4040b5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
4040b9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
4040be:	83 c7 20             	add    $0x20,%edi
4040c1:	83 e9 20             	sub    $0x20,%ecx
4040c4:	83 f9 20             	cmp    $0x20,%ecx
4040c7:	73 ec                	jae    0x4040b5
4040c9:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
4040cf:	74 62                	je     0x404133
4040d1:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
4040d5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
4040d9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
4040de:	8b 44 24 04          	mov    0x4(%esp),%eax
4040e2:	8b fa                	mov    %edx,%edi
4040e4:	c3                   	ret
4040e5:	f7 c1 03 00 00 00    	test   $0x3,%ecx
4040eb:	74 0e                	je     0x4040fb
4040ed:	88 07                	mov    %al,(%edi)
4040ef:	47                   	inc    %edi
4040f0:	83 e9 01             	sub    $0x1,%ecx
4040f3:	f7 c1 03 00 00 00    	test   $0x3,%ecx
4040f9:	75 f2                	jne    0x4040ed
4040fb:	f7 c1 04 00 00 00    	test   $0x4,%ecx
404101:	74 08                	je     0x40410b
404103:	89 07                	mov    %eax,(%edi)
404105:	83 c7 04             	add    $0x4,%edi
404108:	83 e9 04             	sub    $0x4,%ecx
40410b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404111:	74 20                	je     0x404133
404113:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40411a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404120:	89 07                	mov    %eax,(%edi)
404122:	89 47 04             	mov    %eax,0x4(%edi)
404125:	83 c7 08             	add    $0x8,%edi
404128:	83 e9 08             	sub    $0x8,%ecx
40412b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404131:	75 ed                	jne    0x404120
404133:	8b 44 24 04          	mov    0x4(%esp),%eax
404137:	8b fa                	mov    %edx,%edi
404139:	c3                   	ret
40413a:	55                   	push   %ebp
40413b:	8b ec                	mov    %esp,%ebp
40413d:	8b 45 08             	mov    0x8(%ebp),%eax
404140:	85 c0                	test   %eax,%eax
404142:	74 0e                	je     0x404152
404144:	3d e8 6c 41 00       	cmp    $0x416ce8,%eax
404149:	74 07                	je     0x404152
40414b:	50                   	push   %eax
40414c:	e8 e4 1c 00 00       	call   0x405e35
404151:	59                   	pop    %ecx
404152:	5d                   	pop    %ebp
404153:	c2 04 00             	ret    $0x4
404156:	e8 09 00 00 00       	call   0x404164
40415b:	85 c0                	test   %eax,%eax
40415d:	0f 84 3b 2e 00 00    	je     0x406f9e
404163:	c3                   	ret
404164:	83 3d 20 60 41 00 ff 	cmpl   $0xffffffff,0x416020
40416b:	75 03                	jne    0x404170
40416d:	33 c0                	xor    %eax,%eax
40416f:	c3                   	ret
404170:	53                   	push   %ebx
404171:	57                   	push   %edi
404172:	ff 15 58 f0 40 00    	call   *0x40f058
404178:	ff 35 20 60 41 00    	push   0x416020
40417e:	8b f8                	mov    %eax,%edi
404180:	e8 be 11 00 00       	call   0x405343
404185:	8b d8                	mov    %eax,%ebx
404187:	59                   	pop    %ecx
404188:	83 fb ff             	cmp    $0xffffffff,%ebx
40418b:	74 17                	je     0x4041a4
40418d:	85 db                	test   %ebx,%ebx
40418f:	75 59                	jne    0x4041ea
404191:	6a ff                	push   $0xffffffff
404193:	ff 35 20 60 41 00    	push   0x416020
404199:	e8 e0 11 00 00       	call   0x40537e
40419e:	59                   	pop    %ecx
40419f:	59                   	pop    %ecx
4041a0:	85 c0                	test   %eax,%eax
4041a2:	75 04                	jne    0x4041a8
4041a4:	33 db                	xor    %ebx,%ebx
4041a6:	eb 42                	jmp    0x4041ea
4041a8:	56                   	push   %esi
4041a9:	6a 28                	push   $0x28
4041ab:	6a 01                	push   $0x1
4041ad:	e8 8a 2e 00 00       	call   0x40703c
4041b2:	8b f0                	mov    %eax,%esi
4041b4:	59                   	pop    %ecx
4041b5:	59                   	pop    %ecx
4041b6:	85 f6                	test   %esi,%esi
4041b8:	74 12                	je     0x4041cc
4041ba:	56                   	push   %esi
4041bb:	ff 35 20 60 41 00    	push   0x416020
4041c1:	e8 b8 11 00 00       	call   0x40537e
4041c6:	59                   	pop    %ecx
4041c7:	59                   	pop    %ecx
4041c8:	85 c0                	test   %eax,%eax
4041ca:	75 12                	jne    0x4041de
4041cc:	33 db                	xor    %ebx,%ebx
4041ce:	53                   	push   %ebx
4041cf:	ff 35 20 60 41 00    	push   0x416020
4041d5:	e8 a4 11 00 00       	call   0x40537e
4041da:	59                   	pop    %ecx
4041db:	59                   	pop    %ecx
4041dc:	eb 04                	jmp    0x4041e2
4041de:	8b de                	mov    %esi,%ebx
4041e0:	33 f6                	xor    %esi,%esi
4041e2:	56                   	push   %esi
4041e3:	e8 4d 1c 00 00       	call   0x405e35
4041e8:	59                   	pop    %ecx
4041e9:	5e                   	pop    %esi
4041ea:	57                   	push   %edi
4041eb:	ff 15 5c f0 40 00    	call   *0x40f05c
4041f1:	5f                   	pop    %edi
4041f2:	8b c3                	mov    %ebx,%eax
4041f4:	5b                   	pop    %ebx
4041f5:	c3                   	ret
4041f6:	68 3a 41 40 00       	push   $0x40413a
4041fb:	e8 cd 10 00 00       	call   0x4052cd
404200:	a3 20 60 41 00       	mov    %eax,0x416020
404205:	59                   	pop    %ecx
404206:	83 f8 ff             	cmp    $0xffffffff,%eax
404209:	75 03                	jne    0x40420e
40420b:	32 c0                	xor    %al,%al
40420d:	c3                   	ret
40420e:	68 e8 6c 41 00       	push   $0x416ce8
404213:	50                   	push   %eax
404214:	e8 65 11 00 00       	call   0x40537e
404219:	59                   	pop    %ecx
40421a:	59                   	pop    %ecx
40421b:	85 c0                	test   %eax,%eax
40421d:	75 07                	jne    0x404226
40421f:	e8 05 00 00 00       	call   0x404229
404224:	eb e5                	jmp    0x40420b
404226:	b0 01                	mov    $0x1,%al
404228:	c3                   	ret
404229:	a1 20 60 41 00       	mov    0x416020,%eax
40422e:	83 f8 ff             	cmp    $0xffffffff,%eax
404231:	74 0e                	je     0x404241
404233:	50                   	push   %eax
404234:	e8 cf 10 00 00       	call   0x405308
404239:	83 0d 20 60 41 00 ff 	orl    $0xffffffff,0x416020
404240:	59                   	pop    %ecx
404241:	b0 01                	mov    $0x1,%al
404243:	c3                   	ret
404244:	6a 10                	push   $0x10
404246:	68 18 49 41 00       	push   $0x414918
40424b:	e8 c0 f1 ff ff       	call   0x403410
404250:	33 db                	xor    %ebx,%ebx
404252:	8b 45 10             	mov    0x10(%ebp),%eax