403ddc:	ff 75 08             	push   0x8(%ebp)
403ddf:	03 ce                	add    %esi,%ecx
403de1:	e8 3d 08 00 00       	call   0x404623
403de6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403de9:	8b c6                	mov    %esi,%eax
403deb:	5e                   	pop    %esi
403dec:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403df3:	c9                   	leave
403df4:	c2 10 00             	ret    $0x10
403df7:	b8 3e c6 40 00       	mov    $0x40c63e,%eax
403dfc:	e8 3f 1f 00 00       	call   0x405d40
403e01:	51                   	push   %ecx
403e02:	51                   	push   %ecx
403e03:	56                   	push   %esi
403e04:	33 c0                	xor    %eax,%eax
403e06:	39 45 0c             	cmp    %eax,0xc(%ebp)
403e09:	8b f1                	mov    %ecx,%esi
403e0b:	89 75 ec             	mov    %esi,-0x14(%ebp)
403e0e:	89 45 f0             	mov    %eax,-0x10(%ebp)
403e11:	74 1a                	je     0x403e2d
403e13:	c7 06 84 d2 40 00    	movl   $0x40d284,(%esi)
403e19:	89 46 28             	mov    %eax,0x28(%esi)
403e1c:	c7 46 04 80 d2 40 00 	movl   $0x40d280,0x4(%esi)
403e23:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
403e2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e2d:	8b 06                	mov    (%esi),%eax
403e2f:	8b 40 04             	mov    0x4(%eax),%eax
403e32:	c7 04 30 78 d2 40 00 	movl   $0x40d278,(%eax,%esi,1)
403e39:	8b 06                	mov    (%esi),%eax
403e3b:	8b 48 04             	mov    0x4(%eax),%ecx
403e3e:	03 ce                	add    %esi,%ecx
403e40:	e8 ed 0c 00 00       	call   0x404b32
403e45:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403e48:	8b c6                	mov    %esi,%eax
403e4a:	5e                   	pop    %esi
403e4b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403e52:	c9                   	leave
403e53:	c2 08 00             	ret    $0x8
403e56:	c7 01 80 d2 40 00    	movl   $0x40d280,(%ecx)
403e5c:	e9 43 0c 00 00       	jmp    0x404aa4
403e61:	b8 62 c6 40 00       	mov    $0x40c662,%eax
403e66:	e8 d5 1e 00 00       	call   0x405d40
403e6b:	51                   	push   %ecx
403e6c:	51                   	push   %ecx
403e6d:	56                   	push   %esi
403e6e:	33 c0                	xor    %eax,%eax
403e70:	39 45 10             	cmp    %eax,0x10(%ebp)
403e73:	8b f1                	mov    %ecx,%esi
403e75:	89 75 ec             	mov    %esi,-0x14(%ebp)
403e78:	89 45 f0             	mov    %eax,-0x10(%ebp)
403e7b:	74 1a                	je     0x403e97
403e7d:	c7 06 8c d2 40 00    	movl   $0x40d28c,(%esi)
403e83:	89 46 2c             	mov    %eax,0x2c(%esi)
403e86:	c7 46 08 80 d2 40 00 	movl   $0x40d280,0x8(%esi)
403e8d:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
403e94:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e97:	89 46 04             	mov    %eax,0x4(%esi)
403e9a:	8b 06                	mov    (%esi),%eax
403e9c:	ff 75 0c             	push   0xc(%ebp)
403e9f:	8b 40 04             	mov    0x4(%eax),%eax
403ea2:	ff 75 08             	push   0x8(%ebp)
403ea5:	c7 04 30 70 d2 40 00 	movl   $0x40d270,(%eax,%esi,1)
403eac:	8b 06                	mov    (%esi),%eax
403eae:	8b 48 04             	mov    0x4(%eax),%ecx
403eb1:	03 ce                	add    %esi,%ecx
403eb3:	e8 6b 07 00 00       	call   0x404623
403eb8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403ebb:	8b c6                	mov    %esi,%eax
403ebd:	5e                   	pop    %esi
403ebe:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403ec5:	c9                   	leave
403ec6:	c2 0c 00             	ret    $0xc
403ec9:	b8 86 c6 40 00       	mov    $0x40c686,%eax
403ece:	e8 6d 1e 00 00       	call   0x405d40
403ed3:	51                   	push   %ecx
403ed4:	51                   	push   %ecx
403ed5:	56                   	push   %esi
403ed6:	33 c0                	xor    %eax,%eax
403ed8:	39 45 0c             	cmp    %eax,0xc(%ebp)
403edb:	8b f1                	mov    %ecx,%esi
403edd:	89 75 ec             	mov    %esi,-0x14(%ebp)
403ee0:	89 45 f0             	mov    %eax,-0x10(%ebp)
403ee3:	74 1a                	je     0x403eff
403ee5:	c7 06 8c d2 40 00    	movl   $0x40d28c,(%esi)
403eeb:	89 46 2c             	mov    %eax,0x2c(%esi)
403eee:	c7 46 08 80 d2 40 00 	movl   $0x40d280,0x8(%esi)
403ef5:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
403efc:	89 45 fc             	mov    %eax,-0x4(%ebp)
403eff:	8b 06                	mov    (%esi),%eax
403f01:	8b 40 04             	mov    0x4(%eax),%eax
403f04:	c7 04 30 70 d2 40 00 	movl   $0x40d270,(%eax,%esi,1)
403f0b:	8b 06                	mov    (%esi),%eax
403f0d:	8b 48 04             	mov    0x4(%eax),%ecx
403f10:	03 ce                	add    %esi,%ecx
403f12:	e8 1b 0c 00 00       	call   0x404b32
403f17:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403f1a:	8b c6                	mov    %esi,%eax
403f1c:	5e                   	pop    %esi
403f1d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403f24:	c9                   	leave
403f25:	c2 08 00             	ret    $0x8
403f28:	b8 ae c6 40 00       	mov    $0x40c6ae,%eax
403f2d:	e8 0e 1e 00 00       	call   0x405d40
403f32:	51                   	push   %ecx
403f33:	56                   	push   %esi
403f34:	8b f1                	mov    %ecx,%esi
403f36:	89 75 f0             	mov    %esi,-0x10(%ebp)
403f39:	8d 4e 34             	lea    0x34(%esi),%ecx
403f3c:	e8 13 ef ff ff       	call   0x402e54
403f41:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403f45:	8b ce                	mov    %esi,%ecx
403f47:	c7 06 d0 d2 40 00    	movl   $0x40d2d0,(%esi)
403f4d:	e8 27 f9 ff ff       	call   0x403879
403f52:	8d 4e 4c             	lea    0x4c(%esi),%ecx
403f55:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
403f5c:	e8 f3 ee ff ff       	call   0x402e54
403f61:	6a 00                	push   $0x0
403f63:	8b ce                	mov    %esi,%ecx
403f65:	ff 75 08             	push   0x8(%ebp)
403f68:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
403f6c:	c7 06 98 d2 40 00    	movl   $0x40d298,(%esi)
403f72:	e8 76 07 00 00       	call   0x4046ed
403f77:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403f7a:	8b c6                	mov    %esi,%eax
403f7c:	5e                   	pop    %esi
403f7d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403f84:	c9                   	leave
403f85:	c2 04 00             	ret    $0x4
403f88:	c7 01 d0 d2 40 00    	movl   $0x40d2d0,(%ecx)
403f8e:	83 c1 34             	add    $0x34,%ecx
403f91:	e9 12 ef ff ff       	jmp    0x402ea8
403f96:	66 0d ff ff          	or     $0xffff,%ax
403f9a:	c2 04 00             	ret    $0x4
403f9d:	66 0d ff ff          	or     $0xffff,%ax
403fa1:	c3                   	ret
403fa2:	56                   	push   %esi
403fa3:	8b f1                	mov    %ecx,%esi
403fa5:	8b 06                	mov    (%esi),%eax
403fa7:	ff 50 10             	call   *0x10(%eax)
403faa:	66 3d ff ff          	cmp    $0xffff,%ax
403fae:	75 07                	jne    0x403fb7
403fb0:	b8 ff ff 00 00       	mov    $0xffff,%eax
403fb5:	5e                   	pop    %esi
403fb6:	c3                   	ret
403fb7:	8b ce                	mov    %esi,%ecx
403fb9:	e8 d4 06 00 00       	call   0x404692
403fbe:	66 8b 00             	mov    (%eax),%ax
403fc1:	5e                   	pop    %esi
403fc2:	c3                   	ret
403fc3:	55                   	push   %ebp
403fc4:	8b ec                	mov    %esp,%ebp
403fc6:	51                   	push   %ecx
403fc7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403fcb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
403fcf:	53                   	push   %ebx
403fd0:	56                   	push   %esi
403fd1:	57                   	push   %edi
403fd2:	8b f9                	mov    %ecx,%edi
403fd4:	7e 6a                	jle    0x404040
403fd6:	8b 75 08             	mov    0x8(%ebp),%esi
403fd9:	8b 47 1c             	mov    0x1c(%edi),%eax
403fdc:	8b 10                	mov    (%eax),%edx
403fde:	85 d2                	test   %edx,%edx
403fe0:	74 40                	je     0x404022
403fe2:	8b 47 2c             	mov    0x2c(%edi),%eax
403fe5:	8b 00                	mov    (%eax),%eax
403fe7:	d1 e0                	shl    $1,%eax
403fe9:	d1 f8                	sar    $1,%eax
403feb:	85 c0                	test   %eax,%eax
403fed:	7e 33                	jle    0x404022
403fef:	39 45 0c             	cmp    %eax,0xc(%ebp)
403ff2:	7d 03                	jge    0x403ff7
403ff4:	8b 45 0c             	mov    0xc(%ebp),%eax
403ff7:	85 c0                	test   %eax,%eax
403ff9:	8b ce                	mov    %esi,%ecx
403ffb:	76 12                	jbe    0x40400f
403ffd:	89 45 08             	mov    %eax,0x8(%ebp)
404000:	66 8b 1a             	mov    (%edx),%bx
404003:	66 89 19             	mov    %bx,(%ecx)
404006:	41                   	inc    %ecx
404007:	41                   	inc    %ecx
404008:	42                   	inc    %edx
404009:	42                   	inc    %edx
40400a:	ff 4d 08             	decl   0x8(%ebp)
40400d:	75 f1                	jne    0x404000
40400f:	01 45 fc             	add    %eax,-0x4(%ebp)
404012:	29 45 0c             	sub    %eax,0xc(%ebp)
404015:	50                   	push   %eax
404016:	8b cf                	mov    %edi,%ecx
404018:	8d 34 46             	lea    (%esi,%eax,2),%esi
40401b:	e8 4d 06 00 00       	call   0x40466d
404020:	eb 18                	jmp    0x40403a
404022:	8b 07                	mov    (%edi),%eax
404024:	8b cf                	mov    %edi,%ecx
404026:	ff 50 14             	call   *0x14(%eax)
404029:	66 3d ff ff          	cmp    $0xffff,%ax
40402d:	74 11                	je     0x404040
40402f:	66 89 06             	mov    %ax,(%esi)
404032:	46                   	inc    %esi
404033:	46                   	inc    %esi
404034:	ff 45 fc             	incl   -0x4(%ebp)
404037:	ff 4d 0c             	decl   0xc(%ebp)
40403a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40403e:	7f 99                	jg     0x403fd9
404040:	8b 45 fc             	mov    -0x4(%ebp),%eax
404043:	5f                   	pop    %edi
404044:	5e                   	pop    %esi
404045:	5b                   	pop    %ebx
404046:	c9                   	leave
404047:	c2 08 00             	ret    $0x8
40404a:	55                   	push   %ebp
40404b:	8b ec                	mov    %esp,%ebp
40404d:	51                   	push   %ecx
40404e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404052:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
404056:	53                   	push   %ebx
404057:	56                   	push   %esi
404058:	57                   	push   %edi
404059:	8b f9                	mov    %ecx,%edi
40405b:	7e 6b                	jle    0x4040c8
40405d:	8b 75 08             	mov    0x8(%ebp),%esi
404060:	8b 47 20             	mov    0x20(%edi),%eax
404063:	8b 08                	mov    (%eax),%ecx
404065:	85 c9                	test   %ecx,%ecx
404067:	74 40                	je     0x4040a9
404069:	8b 47 30             	mov    0x30(%edi),%eax
40406c:	8b 00                	mov    (%eax),%eax
40406e:	d1 e0                	shl    $1,%eax
404070:	d1 f8                	sar    $1,%eax
404072:	85 c0                	test   %eax,%eax
404074:	7e 33                	jle    0x4040a9
404076:	39 45 0c             	cmp    %eax,0xc(%ebp)
404079:	7d 03                	jge    0x40407e
40407b:	8b 45 0c             	mov    0xc(%ebp),%eax
40407e:	85 c0                	test   %eax,%eax
404080:	8b d6                	mov    %esi,%edx
404082:	76 12                	jbe    0x404096
404084:	89 45 08             	mov    %eax,0x8(%ebp)
404087:	66 8b 1a             	mov    (%edx),%bx
40408a:	66 89 19             	mov    %bx,(%ecx)
40408d:	41                   	inc    %ecx
40408e:	41                   	inc    %ecx
40408f:	42                   	inc    %edx
404090:	42                   	inc    %edx
404091:	ff 4d 08             	decl   0x8(%ebp)
404094:	75 f1                	jne    0x404087
404096:	01 45 fc             	add    %eax,-0x4(%ebp)
404099:	29 45 0c             	sub    %eax,0xc(%ebp)
40409c:	50                   	push   %eax
40409d:	8b cf                	mov    %edi,%ecx
40409f:	8d 34 46             	lea    (%esi,%eax,2),%esi
4040a2:	e8 fb 05 00 00       	call   0x4046a2
4040a7:	eb 19                	jmp    0x4040c2
4040a9:	66 8b 06             	mov    (%esi),%ax
4040ac:	8b 17                	mov    (%edi),%edx
4040ae:	50                   	push   %eax
4040af:	8b cf                	mov    %edi,%ecx
4040b1:	ff 52 04             	call   *0x4(%edx)
4040b4:	66 3d ff ff          	cmp    $0xffff,%ax
4040b8:	74 0e                	je     0x4040c8
4040ba:	46                   	inc    %esi
4040bb:	46                   	inc    %esi
4040bc:	ff 45 fc             	incl   -0x4(%ebp)
4040bf:	ff 4d 0c             	decl   0xc(%ebp)
4040c2:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4040c6:	7f 98                	jg     0x404060
4040c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4040cb:	5f                   	pop    %edi
4040cc:	5e                   	pop    %esi
4040cd:	5b                   	pop    %ebx
4040ce:	c9                   	leave
4040cf:	c2 08 00             	ret    $0x8
4040d2:	55                   	push   %ebp
4040d3:	8b ec                	mov    %esp,%ebp
4040d5:	83 ec 18             	sub    $0x18,%esp
4040d8:	56                   	push   %esi
4040d9:	57                   	push   %edi
4040da:	6a ff                	push   $0xffffffff
4040dc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4040df:	e8 76 f5 ff ff       	call   0x40365a
4040e4:	8b f0                	mov    %eax,%esi
4040e6:	8b 45 08             	mov    0x8(%ebp),%eax
4040e9:	6a 06                	push   $0x6
4040eb:	8b f8                	mov    %eax,%edi
4040ed:	59                   	pop    %ecx
4040ee:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4040f0:	5f                   	pop    %edi
4040f1:	5e                   	pop    %esi
4040f2:	c9                   	leave
4040f3:	c2 20 00             	ret    $0x20
4040f6:	33 c0                	xor    %eax,%eax
4040f8:	c3                   	ret
4040f9:	8b c1                	mov    %ecx,%eax
4040fb:	c7 00 98 d2 40 00    	movl   $0x40d298,(%eax)
404101:	c2 04 00             	ret    $0x4
404104:	b8 cb c6 40 00       	mov    $0x40c6cb,%eax
404109:	e8 32 1c 00 00       	call   0x405d40
40410e:	51                   	push   %ecx
40410f:	56                   	push   %esi
404110:	8b f1                	mov    %ecx,%esi
404112:	57                   	push   %edi
404113:	89 75 f0             	mov    %esi,-0x10(%ebp)
404116:	c7 06 98 d2 40 00    	movl   $0x40d298,(%esi)
40411c:	80 7e 48 00          	cmpb   $0x0,0x48(%esi)
404120:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404127:	74 05                	je     0x40412e
404129:	e8 98 05 00 00       	call   0x4046c6
40412e:	8b 7e 44             	mov    0x44(%esi),%edi
404131:	85 ff                	test   %edi,%edi
404133:	74 10                	je     0x404145
404135:	6a 01                	push   $0x1
404137:	8b cf                	mov    %edi,%ecx
404139:	e8 a0 f4 ff ff       	call   0x4035de
40413e:	57                   	push   %edi
40413f:	e8 3d 0e 00 00       	call   0x404f81
404144:	59                   	pop    %ecx
404145:	8d 4e 4c             	lea    0x4c(%esi),%ecx
404148:	e8 5b ed ff ff       	call   0x402ea8
40414d:	8d 4e 34             	lea    0x34(%esi),%ecx
404150:	c7 06 d0 d2 40 00    	movl   $0x40d2d0,(%esi)
404156:	e8 4d ed ff ff       	call   0x402ea8
40415b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40415e:	5f                   	pop    %edi
40415f:	5e                   	pop    %esi
404160:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404167:	c9                   	leave
404168:	c3                   	ret
404169:	55                   	push   %ebp
40416a:	8b ec                	mov    %esp,%ebp
40416c:	83 ec 10             	sub    $0x10,%esp
40416f:	53                   	push   %ebx
404170:	56                   	push   %esi
404171:	57                   	push   %edi
404172:	8b 7d 08             	mov    0x8(%ebp),%edi
404175:	66 81 ff ff ff       	cmp    $0xffff,%di
40417a:	8b f1                	mov    %ecx,%esi
40417c:	75 08                	jne    0x404186
40417e:	66 33 c0             	xor    %ax,%ax
404181:	e9 24 01 00 00       	jmp    0x4042aa
404186:	8b 46 20             	mov    0x20(%esi),%eax
404189:	33 db                	xor    %ebx,%ebx
40418b:	8b 00                	mov    (%eax),%eax
40418d:	3b c3                	cmp    %ebx,%eax
40418f:	74 1e                	je     0x4041af
404191:	8b 4e 30             	mov    0x30(%esi),%ecx
404194:	8b 09                	mov    (%ecx),%ecx
404196:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
404199:	3b c1                	cmp    %ecx,%eax
40419b:	73 12                	jae    0x4041af
40419d:	8b ce                	mov    %esi,%ecx