404dd0:	c3                   	ret
404dd1:	6a 10                	push   $0x10
404dd3:	68 70 48 41 00       	push   $0x414870
404dd8:	e8 33 e6 ff ff       	call   0x403410
404ddd:	ff 75 10             	push   0x10(%ebp)
404de0:	ff 75 0c             	push   0xc(%ebp)
404de3:	ff 75 08             	push   0x8(%ebp)
404de6:	e8 35 06 00 00       	call   0x405420
404deb:	83 c4 0c             	add    $0xc,%esp
404dee:	8b f0                	mov    %eax,%esi
404df0:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404df3:	e8 5e f3 ff ff       	call   0x404156
404df8:	ff 40 18             	incl   0x18(%eax)
404dfb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404dff:	3b 75 14             	cmp    0x14(%ebp),%esi
404e02:	74 68                	je     0x404e6c
404e04:	83 fe ff             	cmp    $0xffffffff,%esi
404e07:	0f 8e a6 00 00 00    	jle    0x404eb3
404e0d:	8b 7d 10             	mov    0x10(%ebp),%edi
404e10:	3b 77 04             	cmp    0x4(%edi),%esi
404e13:	0f 8d 9a 00 00 00    	jge    0x404eb3
404e19:	8b 47 08             	mov    0x8(%edi),%eax
404e1c:	8b 0c f0             	mov    (%eax,%esi,8),%ecx
404e1f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
404e22:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404e29:	83 7c f0 04 00       	cmpl   $0x0,0x4(%eax,%esi,8)
404e2e:	74 30                	je     0x404e60
404e30:	51                   	push   %ecx
404e31:	57                   	push   %edi
404e32:	ff 75 08             	push   0x8(%ebp)
404e35:	e8 03 06 00 00       	call   0x40543d
404e3a:	83 c4 0c             	add    $0xc,%esp
404e3d:	68 03 01 00 00       	push   $0x103
404e42:	ff 75 08             	push   0x8(%ebp)
404e45:	8b 47 08             	mov    0x8(%edi),%eax
404e48:	ff 74 f0 04          	push   0x4(%eax,%esi,8)
404e4c:	e8 3f 01 00 00       	call   0x404f90
404e51:	eb 0d                	jmp    0x404e60
404e53:	ff 75 ec             	push   -0x14(%ebp)
404e56:	e8 11 ee ff ff       	call   0x403c6c
404e5b:	59                   	pop    %ecx
404e5c:	c3                   	ret
404e5d:	8b 65 e8             	mov    -0x18(%ebp),%esp
404e60:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404e64:	8b 75 e0             	mov    -0x20(%ebp),%esi
404e67:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404e6a:	eb 93                	jmp    0x404dff
404e6c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404e73:	e8 27 00 00 00       	call   0x404e9f
404e78:	3b 75 14             	cmp    0x14(%ebp),%esi
404e7b:	75 36                	jne    0x404eb3
404e7d:	56                   	push   %esi
404e7e:	ff 75 10             	push   0x10(%ebp)
404e81:	ff 75 08             	push   0x8(%ebp)
404e84:	e8 b4 05 00 00       	call   0x40543d
404e89:	83 c4 0c             	add    $0xc,%esp
404e8c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404e8f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404e96:	59                   	pop    %ecx
404e97:	5f                   	pop    %edi
404e98:	5e                   	pop    %esi
404e99:	5b                   	pop    %ebx
404e9a:	c9                   	leave
404e9b:	c3                   	ret
404e9c:	8b 75 e4             	mov    -0x1c(%ebp),%esi
404e9f:	e8 b2 f2 ff ff       	call   0x404156
404ea4:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
404ea8:	7e 08                	jle    0x404eb2
404eaa:	e8 a7 f2 ff ff       	call   0x404156
404eaf:	ff 48 18             	decl   0x18(%eax)
404eb2:	c3                   	ret
404eb3:	e8 e6 20 00 00       	call   0x406f9e
404eb8:	cc                   	int3
404eb9:	55                   	push   %ebp
404eba:	8b ec                	mov    %esp,%ebp
404ebc:	83 ec 1c             	sub    $0x1c,%esp
404ebf:	53                   	push   %ebx
404ec0:	56                   	push   %esi
404ec1:	8b 75 0c             	mov    0xc(%ebp),%esi
404ec4:	57                   	push   %edi
404ec5:	85 f6                	test   %esi,%esi
404ec7:	0f 84 80 00 00 00    	je     0x404f4d
404ecd:	8b 3e                	mov    (%esi),%edi
404ecf:	33 db                	xor    %ebx,%ebx
404ed1:	85 ff                	test   %edi,%edi
404ed3:	7e 71                	jle    0x404f46
404ed5:	8b 45 08             	mov    0x8(%ebp),%eax
404ed8:	8b d3                	mov    %ebx,%edx
404eda:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404edd:	8b 40 1c             	mov    0x1c(%eax),%eax
404ee0:	89 45 ec             	mov    %eax,-0x14(%ebp)
404ee3:	8b 40 0c             	mov    0xc(%eax),%eax
404ee6:	8b 08                	mov    (%eax),%ecx
404ee8:	83 c0 04             	add    $0x4,%eax
404eeb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
404eee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404ef1:	8b c8                	mov    %eax,%ecx
404ef3:	8b 45 f0             	mov    -0x10(%ebp),%eax
404ef6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404ef9:	89 45 f8             	mov    %eax,-0x8(%ebp)
404efc:	85 c0                	test   %eax,%eax
404efe:	7e 38                	jle    0x404f38
404f00:	8b 46 04             	mov    0x4(%esi),%eax
404f03:	03 c2                	add    %edx,%eax
404f05:	89 45 e8             	mov    %eax,-0x18(%ebp)
404f08:	ff 75 ec             	push   -0x14(%ebp)
404f0b:	ff 31                	push   (%ecx)
404f0d:	50                   	push   %eax
404f0e:	e8 63 fa ff ff       	call   0x404976
404f13:	83 c4 0c             	add    $0xc,%esp
404f16:	85 c0                	test   %eax,%eax
404f18:	75 19                	jne    0x404f33
404f1a:	8b 45 f8             	mov    -0x8(%ebp),%eax
404f1d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404f20:	48                   	dec    %eax
404f21:	83 c1 04             	add    $0x4,%ecx
404f24:	89 45 f8             	mov    %eax,-0x8(%ebp)
404f27:	85 c0                	test   %eax,%eax
404f29:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404f2c:	8b 45 e8             	mov    -0x18(%ebp),%eax
404f2f:	7f d7                	jg     0x404f08
404f31:	eb 02                	jmp    0x404f35
404f33:	b3 01                	mov    $0x1,%bl
404f35:	8b 55 fc             	mov    -0x4(%ebp),%edx
404f38:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404f3b:	83 c2 10             	add    $0x10,%edx
404f3e:	89 55 fc             	mov    %edx,-0x4(%ebp)
404f41:	83 ef 01             	sub    $0x1,%edi
404f44:	75 ab                	jne    0x404ef1
404f46:	5f                   	pop    %edi
404f47:	5e                   	pop    %esi
404f48:	8a c3                	mov    %bl,%al
404f4a:	5b                   	pop    %ebx
404f4b:	c9                   	leave
404f4c:	c3                   	ret
404f4d:	e8 4c 20 00 00       	call   0x406f9e
404f52:	cc                   	int3
404f53:	55                   	push   %ebp
404f54:	8b ec                	mov    %esp,%ebp
404f56:	ff 75 10             	push   0x10(%ebp)
404f59:	8b 4d 08             	mov    0x8(%ebp),%ecx
404f5c:	ff 55 0c             	call   *0xc(%ebp)
404f5f:	5d                   	pop    %ebp
404f60:	c2 0c 00             	ret    $0xc
404f63:	55                   	push   %ebp
404f64:	8b ec                	mov    %esp,%ebp
404f66:	ff 75 14             	push   0x14(%ebp)
404f69:	8b 4d 08             	mov    0x8(%ebp),%ecx
404f6c:	ff 75 10             	push   0x10(%ebp)
404f6f:	ff 55 0c             	call   *0xc(%ebp)
404f72:	5d                   	pop    %ebp
404f73:	c2 10 00             	ret    $0x10
404f76:	55                   	push   %ebp
404f77:	8b ec                	mov    %esp,%ebp
404f79:	8b 45 08             	mov    0x8(%ebp),%eax
404f7c:	8b 40 1c             	mov    0x1c(%eax),%eax
404f7f:	5d                   	pop    %ebp
404f80:	c3                   	ret
404f81:	cc                   	int3
404f82:	cc                   	int3
404f83:	cc                   	int3
404f84:	cc                   	int3
404f85:	cc                   	int3
404f86:	cc                   	int3
404f87:	cc                   	int3
404f88:	cc                   	int3
404f89:	cc                   	int3
404f8a:	cc                   	int3
404f8b:	cc                   	int3
404f8c:	cc                   	int3
404f8d:	cc                   	int3
404f8e:	cc                   	int3
404f8f:	cc                   	int3
404f90:	55                   	push   %ebp
404f91:	8b ec                	mov    %esp,%ebp
404f93:	83 ec 04             	sub    $0x4,%esp
404f96:	53                   	push   %ebx
404f97:	51                   	push   %ecx
404f98:	8b 45 0c             	mov    0xc(%ebp),%eax
404f9b:	83 c0 0c             	add    $0xc,%eax
404f9e:	89 45 fc             	mov    %eax,-0x4(%ebp)
404fa1:	8b 45 08             	mov    0x8(%ebp),%eax
404fa4:	55                   	push   %ebp
404fa5:	ff 75 10             	push   0x10(%ebp)
404fa8:	8b 4d 10             	mov    0x10(%ebp),%ecx
404fab:	8b 6d fc             	mov    -0x4(%ebp),%ebp
404fae:	e8 1d 0a 00 00       	call   0x4059d0
404fb3:	56                   	push   %esi
404fb4:	57                   	push   %edi
404fb5:	ff d0                	call   *%eax
404fb7:	5f                   	pop    %edi
404fb8:	5e                   	pop    %esi
404fb9:	8b dd                	mov    %ebp,%ebx
404fbb:	5d                   	pop    %ebp
404fbc:	8b 4d 10             	mov    0x10(%ebp),%ecx
404fbf:	55                   	push   %ebp
404fc0:	8b eb                	mov    %ebx,%ebp
404fc2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
404fc8:	75 05                	jne    0x404fcf
404fca:	b9 02 00 00 00       	mov    $0x2,%ecx
404fcf:	51                   	push   %ecx
404fd0:	e8 fb 09 00 00       	call   0x4059d0
404fd5:	5d                   	pop    %ebp
404fd6:	59                   	pop    %ecx
404fd7:	5b                   	pop    %ebx
404fd8:	c9                   	leave
404fd9:	c2 0c 00             	ret    $0xc
404fdc:	55                   	push   %ebp
404fdd:	8b ec                	mov    %esp,%ebp
404fdf:	a1 18 f1 40 00       	mov    0x40f118,%eax
404fe4:	3d 72 31 40 00       	cmp    $0x403172,%eax
404fe9:	74 1f                	je     0x40500a
404feb:	64 8b 0d 18 00 00 00 	mov    %fs:0x18,%ecx
404ff2:	8b 45 08             	mov    0x8(%ebp),%eax
404ff5:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
404ffb:	3b 41 08             	cmp    0x8(%ecx),%eax
404ffe:	72 05                	jb     0x405005
405000:	3b 41 04             	cmp    0x4(%ecx),%eax
405003:	76 05                	jbe    0x40500a
405005:	6a 0d                	push   $0xd
405007:	59                   	pop    %ecx
405008:	cd 29                	int    $0x29
40500a:	5d                   	pop    %ebp
40500b:	c3                   	ret
40500c:	cc                   	int3
40500d:	cc                   	int3
40500e:	cc                   	int3
40500f:	cc                   	int3
405010:	53                   	push   %ebx
405011:	56                   	push   %esi
405012:	57                   	push   %edi
405013:	8b 54 24 10          	mov    0x10(%esp),%edx
405017:	8b 44 24 14          	mov    0x14(%esp),%eax
40501b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40501f:	55                   	push   %ebp
405020:	52                   	push   %edx
405021:	50                   	push   %eax
405022:	51                   	push   %ecx
405023:	51                   	push   %ecx
405024:	68 b0 50 40 00       	push   $0x4050b0
405029:	64 ff 35 00 00 00 00 	push   %fs:0x0
405030:	a1 14 60 41 00       	mov    0x416014,%eax
405035:	33 c4                	xor    %esp,%eax
405037:	89 44 24 08          	mov    %eax,0x8(%esp)
40503b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
405042:	8b 44 24 30          	mov    0x30(%esp),%eax
405046:	8b 58 08             	mov    0x8(%eax),%ebx
405049:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40504d:	33 19                	xor    (%ecx),%ebx
40504f:	8b 70 0c             	mov    0xc(%eax),%esi
405052:	83 fe fe             	cmp    $0xfffffffe,%esi
405055:	0f 84 46 00 00 00    	je     0x4050a1
40505b:	8b 54 24 34          	mov    0x34(%esp),%edx
40505f:	83 fa fe             	cmp    $0xfffffffe,%edx
405062:	74 08                	je     0x40506c
405064:	3b f2                	cmp    %edx,%esi
405066:	0f 86 35 00 00 00    	jbe    0x4050a1
40506c:	8d 34 76             	lea    (%esi,%esi,2),%esi
40506f:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
405073:	8b 0b                	mov    (%ebx),%ecx
405075:	89 48 0c             	mov    %ecx,0xc(%eax)
405078:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
40507c:	0f 85 c0 ff ff ff    	jne    0x405042
405082:	68 01 01 00 00       	push   $0x101
405087:	8b 43 08             	mov    0x8(%ebx),%eax
40508a:	e8 51 09 00 00       	call   0x4059e0
40508f:	b9 01 00 00 00       	mov    $0x1,%ecx
405094:	8b 43 08             	mov    0x8(%ebx),%eax
405097:	e8 64 09 00 00       	call   0x405a00
40509c:	e9 a1 ff ff ff       	jmp    0x405042
4050a1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4050a8:	83 c4 18             	add    $0x18,%esp
4050ab:	5f                   	pop    %edi
4050ac:	5e                   	pop    %esi
4050ad:	5b                   	pop    %ebx
4050ae:	c3                   	ret
4050af:	cc                   	int3
4050b0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4050b4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
4050bb:	b8 01 00 00 00       	mov    $0x1,%eax
4050c0:	74 33                	je     0x4050f5
4050c2:	8b 44 24 08          	mov    0x8(%esp),%eax
4050c6:	8b 48 08             	mov    0x8(%eax),%ecx
4050c9:	33 c8                	xor    %eax,%ecx
4050cb:	e8 65 e5 ff ff       	call   0x403635
4050d0:	55                   	push   %ebp
4050d1:	8b 68 18             	mov    0x18(%eax),%ebp
4050d4:	ff 70 0c             	push   0xc(%eax)
4050d7:	ff 70 10             	push   0x10(%eax)
4050da:	ff 70 14             	push   0x14(%eax)
4050dd:	e8 2e ff ff ff       	call   0x405010
4050e2:	83 c4 0c             	add    $0xc,%esp
4050e5:	5d                   	pop    %ebp
4050e6:	8b 44 24 08          	mov    0x8(%esp),%eax
4050ea:	8b 54 24 10          	mov    0x10(%esp),%edx
4050ee:	89 02                	mov    %eax,(%edx)
4050f0:	b8 03 00 00 00       	mov    $0x3,%eax
4050f5:	c3                   	ret
4050f6:	cc                   	int3
4050f7:	cc                   	int3
4050f8:	cc                   	int3
4050f9:	cc                   	int3
4050fa:	cc                   	int3
4050fb:	cc                   	int3
4050fc:	cc                   	int3
4050fd:	cc                   	int3
4050fe:	cc                   	int3
4050ff:	cc                   	int3
405100:	55                   	push   %ebp
405101:	56                   	push   %esi
405102:	57                   	push   %edi
405103:	53                   	push   %ebx
405104:	8b ea                	mov    %edx,%ebp
405106:	33 c0                	xor    %eax,%eax
405108:	33 db                	xor    %ebx,%ebx
40510a:	33 d2                	xor    %edx,%edx
40510c:	33 f6                	xor    %esi,%esi
40510e:	33 ff                	xor    %edi,%edi
405110:	ff d1                	call   *%ecx
405112:	5b                   	pop    %ebx
405113:	5f                   	pop    %edi
405114:	5e                   	pop    %esi
405115:	5d                   	pop    %ebp
405116:	c3                   	ret
405117:	cc                   	int3
405118:	cc                   	int3
405119:	cc                   	int3
40511a:	cc                   	int3
40511b:	cc                   	int3
40511c:	cc                   	int3
40511d:	cc                   	int3
40511e:	cc                   	int3
40511f:	cc                   	int3
405120:	8b ea                	mov    %edx,%ebp
405122:	8b f1                	mov    %ecx,%esi
405124:	8b c1                	mov    %ecx,%eax
405126:	6a 01                	push   $0x1
405128:	e8 b3 08 00 00       	call   0x4059e0
40512d:	33 c0                	xor    %eax,%eax
40512f:	33 db                	xor    %ebx,%ebx
405131:	33 c9                	xor    %ecx,%ecx
405133:	33 d2                	xor    %edx,%edx
405135:	33 ff                	xor    %edi,%edi
405137:	ff e6                	jmp    *%esi
405139:	cc                   	int3
40513a:	cc                   	int3
40513b:	cc                   	int3
40513c:	cc                   	int3
40513d:	cc                   	int3
40513e:	cc                   	int3