405d77:	6b c1 14             	imul   $0x14,%ecx,%eax
405d7a:	8b 5e 10             	mov    0x10(%esi),%ebx
405d7d:	3b 54 18 04          	cmp    0x4(%eax,%ebx,1),%edx
405d81:	8b 5d 0c             	mov    0xc(%ebp),%ebx
405d84:	7e 28                	jle    0x405dae
405d86:	6b c1 14             	imul   $0x14,%ecx,%eax
405d89:	8b 75 dc             	mov    -0x24(%ebp),%esi
405d8c:	3b 54 30 08          	cmp    0x8(%eax,%esi,1),%edx
405d90:	8b 75 14             	mov    0x14(%ebp),%esi
405d93:	7f 19                	jg     0x405dae
405d95:	6b c1 14             	imul   $0x14,%ecx,%eax
405d98:	8b 4e 10             	mov    0x10(%esi),%ecx
405d9b:	8b 44 08 04          	mov    0x4(%eax,%ecx,1),%eax
405d9f:	40                   	inc    %eax
405da0:	89 45 e0             	mov    %eax,-0x20(%ebp)
405da3:	8b 55 d8             	mov    -0x28(%ebp),%edx
405da6:	8b 14 c2             	mov    (%edx,%eax,8),%edx
405da9:	89 55 e0             	mov    %edx,-0x20(%ebp)
405dac:	eb 09                	jmp    0x405db7
405dae:	41                   	inc    %ecx
405daf:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
405db2:	3b 4e 0c             	cmp    0xc(%esi),%ecx
405db5:	72 c0                	jb     0x405d77
405db7:	52                   	push   %edx
405db8:	56                   	push   %esi
405db9:	6a 00                	push   $0x0
405dbb:	53                   	push   %ebx
405dbc:	e8 56 01 00 00       	call   0x405f17
405dc1:	83 c4 10             	add    $0x10,%esp
405dc4:	33 db                	xor    %ebx,%ebx
405dc6:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
405dc9:	21 5d fc             	and    %ebx,-0x4(%ebp)
405dcc:	8b 75 08             	mov    0x8(%ebp),%esi
405dcf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405dd6:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
405ddd:	e8 18 00 00 00       	call   0x405dfa
405de2:	8b c3                	mov    %ebx,%eax
405de4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405de7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405dee:	59                   	pop    %ecx
405def:	5f                   	pop    %edi
405df0:	5e                   	pop    %esi
405df1:	5b                   	pop    %ebx
405df2:	c9                   	leave
405df3:	c3                   	ret
405df4:	8b 75 08             	mov    0x8(%ebp),%esi
405df7:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
405dfa:	8b 45 d0             	mov    -0x30(%ebp),%eax
405dfd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
405e00:	89 41 fc             	mov    %eax,-0x4(%ecx)
405e03:	ff 75 cc             	push   -0x34(%ebp)
405e06:	e8 41 f1 ff ff       	call   0x404f4c
405e0b:	59                   	pop    %ecx
405e0c:	e8 8b f4 ff ff       	call   0x40529c
405e11:	8b 4d c8             	mov    -0x38(%ebp),%ecx
405e14:	89 48 10             	mov    %ecx,0x10(%eax)
405e17:	e8 80 f4 ff ff       	call   0x40529c
405e1c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
405e1f:	89 48 14             	mov    %ecx,0x14(%eax)
405e22:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
405e28:	75 4b                	jne    0x405e75
405e2a:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
405e2e:	75 45                	jne    0x405e75
405e30:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
405e37:	74 12                	je     0x405e4b
405e39:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
405e40:	74 09                	je     0x405e4b
405e42:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
405e49:	75 2a                	jne    0x405e75
405e4b:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
405e4f:	75 24                	jne    0x405e75
405e51:	85 db                	test   %ebx,%ebx
405e53:	74 20                	je     0x405e75
405e55:	ff 76 18             	push   0x18(%esi)
405e58:	e8 59 eb ff ff       	call   0x4049b6
405e5d:	59                   	pop    %ecx
405e5e:	85 c0                	test   %eax,%eax
405e60:	74 13                	je     0x405e75
405e62:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
405e66:	0f 95 c0             	setne  %al
405e69:	0f b6 c0             	movzbl %al,%eax
405e6c:	50                   	push   %eax
405e6d:	56                   	push   %esi
405e6e:	e8 3d ea ff ff       	call   0x4048b0
405e73:	59                   	pop    %ecx
405e74:	59                   	pop    %ecx
405e75:	c3                   	ret
405e76:	6a 04                	push   $0x4
405e78:	b8 07 80 41 00       	mov    $0x418007,%eax
405e7d:	e8 46 1b 01 00       	call   0x4179c8
405e82:	e8 15 f4 ff ff       	call   0x40529c
405e87:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
405e8b:	75 1d                	jne    0x405eaa
405e8d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405e91:	e8 ad 06 00 00       	call   0x406543
405e96:	e8 01 f4 ff ff       	call   0x40529c
405e9b:	8b 4d 08             	mov    0x8(%ebp),%ecx
405e9e:	6a 00                	push   $0x0
405ea0:	6a 00                	push   $0x0
405ea2:	89 48 1c             	mov    %ecx,0x1c(%eax)
405ea5:	e8 20 ed ff ff       	call   0x404bca
405eaa:	e8 7b 46 00 00       	call   0x40a52a
405eaf:	cc                   	int3
405eb0:	cc                   	int3
405eb1:	cc                   	int3
405eb2:	cc                   	int3
405eb3:	cc                   	int3
405eb4:	cc                   	int3
405eb5:	55                   	push   %ebp
405eb6:	8b ec                	mov    %esp,%ebp
405eb8:	8b 45 08             	mov    0x8(%ebp),%eax
405ebb:	8b 00                	mov    (%eax),%eax
405ebd:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
405ec3:	75 36                	jne    0x405efb
405ec5:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
405ec9:	75 30                	jne    0x405efb
405ecb:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
405ed2:	74 12                	je     0x405ee6
405ed4:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
405edb:	74 09                	je     0x405ee6
405edd:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
405ee4:	75 15                	jne    0x405efb
405ee6:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
405eea:	75 0f                	jne    0x405efb
405eec:	e8 ab f3 ff ff       	call   0x40529c
405ef1:	33 c9                	xor    %ecx,%ecx
405ef3:	41                   	inc    %ecx
405ef4:	89 48 20             	mov    %ecx,0x20(%eax)
405ef7:	8b c1                	mov    %ecx,%eax
405ef9:	5d                   	pop    %ebp
405efa:	c3                   	ret
405efb:	33 c0                	xor    %eax,%eax
405efd:	5d                   	pop    %ebp
405efe:	c3                   	ret
405eff:	55                   	push   %ebp
405f00:	8b ec                	mov    %esp,%ebp
405f02:	6a ff                	push   $0xffffffff
405f04:	ff 75 10             	push   0x10(%ebp)
405f07:	ff 75 0c             	push   0xc(%ebp)
405f0a:	ff 75 08             	push   0x8(%ebp)
405f0d:	e8 05 00 00 00       	call   0x405f17
405f12:	83 c4 10             	add    $0x10,%esp
405f15:	5d                   	pop    %ebp
405f16:	c3                   	ret
405f17:	6a 10                	push   $0x10
405f19:	68 00 fd 41 00       	push   $0x41fd00
405f1e:	e8 7d df ff ff       	call   0x403ea0
405f23:	ff 75 10             	push   0x10(%ebp)
405f26:	ff 75 0c             	push   0xc(%ebp)
405f29:	ff 75 08             	push   0x8(%ebp)
405f2c:	e8 2f 06 00 00       	call   0x406560
405f31:	83 c4 0c             	add    $0xc,%esp
405f34:	8b f0                	mov    %eax,%esi
405f36:	89 75 e4             	mov    %esi,-0x1c(%ebp)
405f39:	e8 5e f3 ff ff       	call   0x40529c
405f3e:	ff 40 18             	incl   0x18(%eax)
405f41:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405f45:	3b 75 14             	cmp    0x14(%ebp),%esi
405f48:	74 68                	je     0x405fb2
405f4a:	83 fe ff             	cmp    $0xffffffff,%esi
405f4d:	0f 8e a6 00 00 00    	jle    0x405ff9
405f53:	8b 7d 10             	mov    0x10(%ebp),%edi
405f56:	3b 77 04             	cmp    0x4(%edi),%esi
405f59:	0f 8d 9a 00 00 00    	jge    0x405ff9
405f5f:	8b 47 08             	mov    0x8(%edi),%eax
405f62:	8b 0c f0             	mov    (%eax,%esi,8),%ecx
405f65:	89 4d e0             	mov    %ecx,-0x20(%ebp)
405f68:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
405f6f:	83 7c f0 04 00       	cmpl   $0x0,0x4(%eax,%esi,8)
405f74:	74 30                	je     0x405fa6
405f76:	51                   	push   %ecx
405f77:	57                   	push   %edi
405f78:	ff 75 08             	push   0x8(%ebp)
405f7b:	e8 fd 05 00 00       	call   0x40657d
405f80:	83 c4 0c             	add    $0xc,%esp
405f83:	68 03 01 00 00       	push   $0x103
405f88:	ff 75 08             	push   0x8(%ebp)
405f8b:	8b 47 08             	mov    0x8(%edi),%eax
405f8e:	ff 74 f0 04          	push   0x4(%eax,%esi,8)
405f92:	e8 39 01 00 00       	call   0x4060d0
405f97:	eb 0d                	jmp    0x405fa6
405f99:	ff 75 ec             	push   -0x14(%ebp)
405f9c:	e8 60 ea ff ff       	call   0x404a01
405fa1:	59                   	pop    %ecx
405fa2:	c3                   	ret
405fa3:	8b 65 e8             	mov    -0x18(%ebp),%esp
405fa6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405faa:	8b 75 e0             	mov    -0x20(%ebp),%esi
405fad:	89 75 e4             	mov    %esi,-0x1c(%ebp)
405fb0:	eb 93                	jmp    0x405f45
405fb2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405fb9:	e8 27 00 00 00       	call   0x405fe5
405fbe:	3b 75 14             	cmp    0x14(%ebp),%esi
405fc1:	75 36                	jne    0x405ff9
405fc3:	56                   	push   %esi
405fc4:	ff 75 10             	push   0x10(%ebp)
405fc7:	ff 75 08             	push   0x8(%ebp)
405fca:	e8 ae 05 00 00       	call   0x40657d
405fcf:	83 c4 0c             	add    $0xc,%esp
405fd2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405fd5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405fdc:	59                   	pop    %ecx
405fdd:	5f                   	pop    %edi
405fde:	5e                   	pop    %esi
405fdf:	5b                   	pop    %ebx
405fe0:	c9                   	leave
405fe1:	c3                   	ret
405fe2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
405fe5:	e8 b2 f2 ff ff       	call   0x40529c
405fea:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
405fee:	7e 08                	jle    0x405ff8
405ff0:	e8 a7 f2 ff ff       	call   0x40529c
405ff5:	ff 48 18             	decl   0x18(%eax)
405ff8:	c3                   	ret
405ff9:	e8 2c 45 00 00       	call   0x40a52a
405ffe:	cc                   	int3
405fff:	55                   	push   %ebp
406000:	8b ec                	mov    %esp,%ebp
406002:	83 ec 1c             	sub    $0x1c,%esp
406005:	53                   	push   %ebx
406006:	56                   	push   %esi
406007:	8b 75 0c             	mov    0xc(%ebp),%esi
40600a:	57                   	push   %edi
40600b:	85 f6                	test   %esi,%esi
40600d:	0f 84 80 00 00 00    	je     0x406093
406013:	8b 3e                	mov    (%esi),%edi
406015:	33 db                	xor    %ebx,%ebx
406017:	85 ff                	test   %edi,%edi
406019:	7e 71                	jle    0x40608c
40601b:	8b 45 08             	mov    0x8(%ebp),%eax
40601e:	8b d3                	mov    %ebx,%edx
406020:	89 5d fc             	mov    %ebx,-0x4(%ebp)
406023:	8b 40 1c             	mov    0x1c(%eax),%eax
406026:	89 45 ec             	mov    %eax,-0x14(%ebp)
406029:	8b 40 0c             	mov    0xc(%eax),%eax
40602c:	8b 08                	mov    (%eax),%ecx
40602e:	83 c0 04             	add    $0x4,%eax
406031:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406034:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406037:	8b c8                	mov    %eax,%ecx
406039:	8b 45 f0             	mov    -0x10(%ebp),%eax
40603c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40603f:	89 45 f8             	mov    %eax,-0x8(%ebp)
406042:	85 c0                	test   %eax,%eax
406044:	7e 38                	jle    0x40607e
406046:	8b 46 04             	mov    0x4(%esi),%eax
406049:	03 c2                	add    %edx,%eax
40604b:	89 45 e8             	mov    %eax,-0x18(%ebp)
40604e:	ff 75 ec             	push   -0x14(%ebp)
406051:	ff 31                	push   (%ecx)
406053:	50                   	push   %eax
406054:	e8 63 fa ff ff       	call   0x405abc
406059:	83 c4 0c             	add    $0xc,%esp
40605c:	85 c0                	test   %eax,%eax
40605e:	75 19                	jne    0x406079
406060:	8b 45 f8             	mov    -0x8(%ebp),%eax
406063:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406066:	48                   	dec    %eax
406067:	83 c1 04             	add    $0x4,%ecx
40606a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40606d:	85 c0                	test   %eax,%eax
40606f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
406072:	8b 45 e8             	mov    -0x18(%ebp),%eax
406075:	7f d7                	jg     0x40604e
406077:	eb 02                	jmp    0x40607b
406079:	b3 01                	mov    $0x1,%bl
40607b:	8b 55 fc             	mov    -0x4(%ebp),%edx
40607e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406081:	83 c2 10             	add    $0x10,%edx
406084:	89 55 fc             	mov    %edx,-0x4(%ebp)
406087:	83 ef 01             	sub    $0x1,%edi
40608a:	75 ab                	jne    0x406037
40608c:	5f                   	pop    %edi
40608d:	5e                   	pop    %esi
40608e:	8a c3                	mov    %bl,%al
406090:	5b                   	pop    %ebx
406091:	c9                   	leave
406092:	c3                   	ret
406093:	e8 92 44 00 00       	call   0x40a52a
406098:	cc                   	int3
406099:	55                   	push   %ebp
40609a:	8b ec                	mov    %esp,%ebp
40609c:	ff 75 10             	push   0x10(%ebp)
40609f:	8b 4d 08             	mov    0x8(%ebp),%ecx
4060a2:	ff 55 0c             	call   *0xc(%ebp)
4060a5:	5d                   	pop    %ebp
4060a6:	c2 0c 00             	ret    $0xc
4060a9:	55                   	push   %ebp
4060aa:	8b ec                	mov    %esp,%ebp
4060ac:	ff 75 14             	push   0x14(%ebp)
4060af:	8b 4d 08             	mov    0x8(%ebp),%ecx
4060b2:	ff 75 10             	push   0x10(%ebp)
4060b5:	ff 55 0c             	call   *0xc(%ebp)
4060b8:	5d                   	pop    %ebp
4060b9:	c2 10 00             	ret    $0x10
4060bc:	55                   	push   %ebp
4060bd:	8b ec                	mov    %esp,%ebp
4060bf:	8b 45 08             	mov    0x8(%ebp),%eax
4060c2:	8b 40 1c             	mov    0x1c(%eax),%eax
4060c5:	5d                   	pop    %ebp
4060c6:	c3                   	ret
4060c7:	cc                   	int3
4060c8:	cc                   	int3
4060c9:	cc                   	int3
4060ca:	cc                   	int3
4060cb:	cc                   	int3
4060cc:	cc                   	int3
4060cd:	cc                   	int3
4060ce:	cc                   	int3
4060cf:	cc                   	int3
4060d0:	55                   	push   %ebp
4060d1:	8b ec                	mov    %esp,%ebp
4060d3:	83 ec 04             	sub    $0x4,%esp
4060d6:	53                   	push   %ebx
4060d7:	51                   	push   %ecx
4060d8:	8b 45 0c             	mov    0xc(%ebp),%eax
4060db:	83 c0 0c             	add    $0xc,%eax
4060de:	89 45 fc             	mov    %eax,-0x4(%ebp)
4060e1:	8b 45 08             	mov    0x8(%ebp),%eax
4060e4:	55                   	push   %ebp
4060e5:	ff 75 10             	push   0x10(%ebp)
4060e8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4060eb:	8b 6d fc             	mov    -0x4(%ebp),%ebp
4060ee:	e8 9d 04 00 00       	call   0x406590
4060f3:	56                   	push   %esi
4060f4:	57                   	push   %edi
4060f5:	ff d0                	call   *%eax
4060f7:	5f                   	pop    %edi
4060f8:	5e                   	pop    %esi
4060f9:	8b dd                	mov    %ebp,%ebx
4060fb:	5d                   	pop    %ebp
4060fc:	8b 4d 10             	mov    0x10(%ebp),%ecx
4060ff:	55                   	push   %ebp
406100:	8b eb                	mov    %ebx,%ebp
406102:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
406108:	75 05                	jne    0x40610f
40610a:	b9 02 00 00 00       	mov    $0x2,%ecx
40610f:	51                   	push   %ecx
406110:	e8 7b 04 00 00       	call   0x406590
406115:	5d                   	pop    %ebp
406116:	59                   	pop    %ecx
406117:	5b                   	pop    %ebx
406118:	c9                   	leave
406119:	c2 0c 00             	ret    $0xc
40611c:	55                   	push   %ebp
40611d:	8b ec                	mov    %esp,%ebp
40611f:	a1 54 91 41 00       	mov    0x419154,%eax
406124:	3d 43 3c 40 00       	cmp    $0x403c43,%eax
406129:	74 1f                	je     0x40614a
40612b:	64 8b 0d 18 00 00 00 	mov    %fs:0x18,%ecx