402e55:	ff 15 5c 82 40 00    	call   *0x40825c
402e5b:	8d 45 80             	lea    -0x80(%ebp),%eax
402e5e:	50                   	push   %eax
402e5f:	68 06 04 00 00       	push   $0x406
402e64:	ff 75 08             	push   0x8(%ebp)
402e67:	e8 c0 2b 00 00       	call   0x405a2c
402e6c:	33 c0                	xor    %eax,%eax
402e6e:	c9                   	leave
402e6f:	c2 10 00             	ret    $0x10
402e72:	8b 0d d0 8e 41 00    	mov    0x418ed0,%ecx
402e78:	a1 e0 8e 41 00       	mov    0x418ee0,%eax
402e7d:	3b c8                	cmp    %eax,%ecx
402e7f:	7c 02                	jl     0x402e83
402e81:	8b c8                	mov    %eax,%ecx
402e83:	50                   	push   %eax
402e84:	6a 64                	push   $0x64
402e86:	51                   	push   %ecx
402e87:	ff 15 54 81 40 00    	call   *0x408154
402e8d:	c3                   	ret
402e8e:	55                   	push   %ebp
402e8f:	8b ec                	mov    %esp,%ebp
402e91:	81 ec 80 00 00 00    	sub    $0x80,%esp
402e97:	56                   	push   %esi
402e98:	33 f6                	xor    %esi,%esi
402e9a:	39 75 08             	cmp    %esi,0x8(%ebp)
402e9d:	74 18                	je     0x402eb7
402e9f:	a1 dc 8e 41 00       	mov    0x418edc,%eax
402ea4:	3b c6                	cmp    %esi,%eax
402ea6:	74 07                	je     0x402eaf
402ea8:	50                   	push   %eax
402ea9:	ff 15 50 82 40 00    	call   *0x408250
402eaf:	89 35 dc 8e 41 00    	mov    %esi,0x418edc
402eb5:	eb 76                	jmp    0x402f2d
402eb7:	39 35 dc 8e 41 00    	cmp    %esi,0x418edc
402ebd:	74 08                	je     0x402ec7
402ebf:	56                   	push   %esi
402ec0:	e8 39 39 00 00       	call   0x4067fe
402ec5:	eb 66                	jmp    0x402f2d
402ec7:	ff 15 7c 80 40 00    	call   *0x40807c
402ecd:	3b 05 50 a2 42 00    	cmp    0x42a250,%eax
402ed3:	76 58                	jbe    0x402f2d
402ed5:	39 35 48 a2 42 00    	cmp    %esi,0x42a248
402edb:	74 2d                	je     0x402f0a
402edd:	f6 05 14 a3 42 00 01 	testb  $0x1,0x42a314
402ee4:	74 47                	je     0x402f2d
402ee6:	e8 87 ff ff ff       	call   0x402e72
402eeb:	50                   	push   %eax
402eec:	8d 45 80             	lea    -0x80(%ebp),%eax
402eef:	68 80 a0 40 00       	push   $0x40a080
402ef4:	50                   	push   %eax
402ef5:	ff 15 90 82 40 00    	call   *0x408290
402efb:	83 c4 0c             	add    $0xc,%esp
402efe:	8d 45 80             	lea    -0x80(%ebp),%eax
402f01:	50                   	push   %eax
402f02:	56                   	push   %esi
402f03:	e8 48 25 00 00       	call   0x405450
402f08:	eb 23                	jmp    0x402f2d
402f0a:	56                   	push   %esi
402f0b:	68 f3 2d 40 00       	push   $0x402df3
402f10:	56                   	push   %esi
402f11:	6a 6f                	push   $0x6f
402f13:	ff 35 40 a2 42 00    	push   0x42a240
402f19:	ff 15 88 82 40 00    	call   *0x408288
402f1f:	6a 05                	push   $0x5
402f21:	50                   	push   %eax
402f22:	a3 dc 8e 41 00       	mov    %eax,0x418edc
402f27:	ff 15 68 82 40 00    	call   *0x408268
402f2d:	5e                   	pop    %esi
402f2e:	c9                   	leave
402f2f:	c3                   	ret
402f30:	55                   	push   %ebp
402f31:	8b ec                	mov    %esp,%ebp
402f33:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
402f39:	53                   	push   %ebx
402f3a:	56                   	push   %esi
402f3b:	33 db                	xor    %ebx,%ebx
402f3d:	57                   	push   %edi
402f3e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402f41:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402f44:	ff 15 7c 80 40 00    	call   *0x40807c
402f4a:	be 00 88 43 00       	mov    $0x438800,%esi
402f4f:	68 00 04 00 00       	push   $0x400
402f54:	05 e8 03 00 00       	add    $0x3e8,%eax
402f59:	56                   	push   %esi
402f5a:	53                   	push   %ebx
402f5b:	a3 50 a2 42 00       	mov    %eax,0x42a250
402f60:	ff 15 88 80 40 00    	call   *0x408088
402f66:	6a 03                	push   $0x3
402f68:	68 00 00 00 80       	push   $0x80000000
402f6d:	56                   	push   %esi
402f6e:	e8 6b 2f 00 00       	call   0x405ede
402f73:	8b f8                	mov    %eax,%edi
402f75:	83 ff ff             	cmp    $0xffffffff,%edi
402f78:	89 3d 18 a0 40 00    	mov    %edi,0x40a018
402f7e:	75 0a                	jne    0x402f8a
402f80:	b8 b8 a2 40 00       	mov    $0x40a2b8,%eax
402f85:	e9 45 02 00 00       	jmp    0x4031cf
402f8a:	56                   	push   %esi
402f8b:	be 00 68 43 00       	mov    $0x436800,%esi
402f90:	56                   	push   %esi
402f91:	e8 52 34 00 00       	call   0x4063e8
402f96:	56                   	push   %esi
402f97:	e8 6d 2d 00 00       	call   0x405d09
402f9c:	50                   	push   %eax
402f9d:	68 00 90 43 00       	push   $0x439000
402fa2:	e8 41 34 00 00       	call   0x4063e8
402fa7:	53                   	push   %ebx
402fa8:	57                   	push   %edi
402fa9:	ff 15 84 80 40 00    	call   *0x408084
402faf:	3b c3                	cmp    %ebx,%eax
402fb1:	a3 e0 8e 41 00       	mov    %eax,0x418ee0
402fb6:	8b f0                	mov    %eax,%esi
402fb8:	0f 8e ea 00 00 00    	jle    0x4030a8
402fbe:	a1 58 a2 42 00       	mov    0x42a258,%eax
402fc3:	8b fe                	mov    %esi,%edi
402fc5:	f7 d8                	neg    %eax
402fc7:	1b c0                	sbb    %eax,%eax
402fc9:	25 00 7e 00 00       	and    $0x7e00,%eax
402fce:	05 00 02 00 00       	add    $0x200,%eax
402fd3:	3b f0                	cmp    %eax,%esi
402fd5:	7c 02                	jl     0x402fd9
402fd7:	8b f8                	mov    %eax,%edi
402fd9:	57                   	push   %edi
402fda:	68 e8 8e 41 00       	push   $0x418ee8
402fdf:	e8 63 04 00 00       	call   0x403447
402fe4:	85 c0                	test   %eax,%eax
402fe6:	0f 84 57 01 00 00    	je     0x403143
402fec:	39 1d 58 a2 42 00    	cmp    %ebx,0x42a258
402ff2:	75 7e                	jne    0x403072
402ff4:	6a 1c                	push   $0x1c
402ff6:	8d 45 dc             	lea    -0x24(%ebp),%eax
402ff9:	68 e8 8e 41 00       	push   $0x418ee8
402ffe:	50                   	push   %eax
402fff:	e8 95 2e 00 00       	call   0x405e99
403004:	8b 45 dc             	mov    -0x24(%ebp),%eax
403007:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
40300c:	75 71                	jne    0x40307f
40300e:	81 7d e0 ef be ad de 	cmpl   $0xdeadbeef,-0x20(%ebp)
403015:	75 68                	jne    0x40307f
403017:	81 7d ec 49 6e 73 74 	cmpl   $0x74736e49,-0x14(%ebp)
40301e:	75 5f                	jne    0x40307f
403020:	81 7d e8 73 6f 66 74 	cmpl   $0x74666f73,-0x18(%ebp)
403027:	75 56                	jne    0x40307f
403029:	81 7d e4 4e 75 6c 6c 	cmpl   $0x6c6c754e,-0x1c(%ebp)
403030:	75 4d                	jne    0x40307f
403032:	09 45 08             	or     %eax,0x8(%ebp)
403035:	8b 45 08             	mov    0x8(%ebp),%eax
403038:	8b 0d d0 8e 41 00    	mov    0x418ed0,%ecx
40303e:	83 e0 02             	and    $0x2,%eax
403041:	09 05 00 a3 42 00    	or     %eax,0x42a300
403047:	8b 45 f4             	mov    -0xc(%ebp),%eax
40304a:	3b c6                	cmp    %esi,%eax
40304c:	89 0d 58 a2 42 00    	mov    %ecx,0x42a258
403052:	0f 8f 2f 01 00 00    	jg     0x403187
403058:	f6 45 08 08          	testb  $0x8,0x8(%ebp)
40305c:	75 06                	jne    0x403064
40305e:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
403062:	75 44                	jne    0x4030a8
403064:	ff 45 f8             	incl   -0x8(%ebp)
403067:	8d 70 fc             	lea    -0x4(%eax),%esi
40306a:	3b fe                	cmp    %esi,%edi
40306c:	76 11                	jbe    0x40307f
40306e:	8b fe                	mov    %esi,%edi
403070:	eb 0d                	jmp    0x40307f
403072:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
403076:	75 07                	jne    0x40307f
403078:	53                   	push   %ebx
403079:	e8 10 fe ff ff       	call   0x402e8e
40307e:	59                   	pop    %ecx
40307f:	3b 35 e0 8e 41 00    	cmp    0x418ee0,%esi
403085:	7d 11                	jge    0x403098
403087:	57                   	push   %edi
403088:	68 e8 8e 41 00       	push   $0x418ee8
40308d:	ff 75 fc             	push   -0x4(%ebp)
403090:	e8 20 38 00 00       	call   0x4068b5
403095:	89 45 fc             	mov    %eax,-0x4(%ebp)
403098:	01 3d d0 8e 41 00    	add    %edi,0x418ed0
40309e:	2b f7                	sub    %edi,%esi
4030a0:	3b f3                	cmp    %ebx,%esi
4030a2:	0f 8f 16 ff ff ff    	jg     0x402fbe
4030a8:	6a 01                	push   $0x1
4030aa:	e8 df fd ff ff       	call   0x402e8e
4030af:	39 1d 58 a2 42 00    	cmp    %ebx,0x42a258
4030b5:	59                   	pop    %ecx
4030b6:	0f 84 cb 00 00 00    	je     0x403187
4030bc:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4030bf:	74 2a                	je     0x4030eb
4030c1:	ff 35 d0 8e 41 00    	push   0x418ed0
4030c7:	e8 91 03 00 00       	call   0x40345d
4030cc:	8d 45 08             	lea    0x8(%ebp),%eax
4030cf:	6a 04                	push   $0x4
4030d1:	50                   	push   %eax
4030d2:	e8 70 03 00 00       	call   0x403447
4030d7:	85 c0                	test   %eax,%eax
4030d9:	0f 84 a8 00 00 00    	je     0x403187
4030df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4030e2:	3b 45 08             	cmp    0x8(%ebp),%eax
4030e5:	0f 85 9c 00 00 00    	jne    0x403187
4030eb:	ff 75 f0             	push   -0x10(%ebp)
4030ee:	6a 40                	push   $0x40
4030f0:	ff 15 34 81 40 00    	call   *0x408134
4030f6:	b9 48 ce 40 00       	mov    $0x40ce48,%ecx
4030fb:	8b f0                	mov    %eax,%esi
4030fd:	e8 21 38 00 00       	call   0x406923
403102:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
403108:	68 00 78 43 00       	push   $0x437800
40310d:	50                   	push   %eax
40310e:	e8 fa 2d 00 00       	call   0x405f0d
403113:	53                   	push   %ebx
403114:	68 00 01 00 04       	push   $0x4000100
403119:	6a 02                	push   $0x2
40311b:	53                   	push   %ebx
40311c:	53                   	push   %ebx
40311d:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
403123:	68 00 00 00 c0       	push   $0xc0000000
403128:	50                   	push   %eax
403129:	ff 15 80 80 40 00    	call   *0x408080
40312f:	83 f8 ff             	cmp    $0xffffffff,%eax
403132:	a3 1c a0 40 00       	mov    %eax,0x40a01c
403137:	75 14                	jne    0x40314d
403139:	b8 30 a2 40 00       	mov    $0x40a230,%eax
40313e:	e9 8c 00 00 00       	jmp    0x4031cf
403143:	6a 01                	push   $0x1
403145:	e8 44 fd ff ff       	call   0x402e8e
40314a:	59                   	pop    %ecx
40314b:	eb 3a                	jmp    0x403187
40314d:	a1 58 a2 42 00       	mov    0x42a258,%eax
403152:	83 c0 1c             	add    $0x1c,%eax
403155:	50                   	push   %eax
403156:	e8 02 03 00 00       	call   0x40345d
40315b:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40315e:	ff 75 f0             	push   -0x10(%ebp)
403161:	f7 d1                	not    %ecx
403163:	83 e1 04             	and    $0x4,%ecx
403166:	a3 e4 8e 41 00       	mov    %eax,0x418ee4
40316b:	2b c1                	sub    %ecx,%eax
40316d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403170:	56                   	push   %esi
403171:	53                   	push   %ebx
403172:	8d 44 08 e4          	lea    -0x1c(%eax,%ecx,1),%eax
403176:	6a ff                	push   $0xffffffff
403178:	a3 d8 8e 41 00       	mov    %eax,0x418ed8
40317d:	e8 54 00 00 00       	call   0x4031d6
403182:	3b 45 f0             	cmp    -0x10(%ebp),%eax
403185:	74 07                	je     0x40318e
403187:	b8 98 a0 40 00       	mov    $0x40a098,%eax
40318c:	eb 41                	jmp    0x4031cf
40318e:	f6 45 dc 01          	testb  $0x1,-0x24(%ebp)
403192:	89 35 54 a2 42 00    	mov    %esi,0x42a254
403198:	8b 06                	mov    (%esi),%eax
40319a:	a3 5c a2 42 00       	mov    %eax,0x42a25c
40319f:	74 06                	je     0x4031a7
4031a1:	ff 05 60 a2 42 00    	incl   0x42a260
4031a7:	6a 08                	push   $0x8
4031a9:	8d 46 44             	lea    0x44(%esi),%eax
4031ac:	59                   	pop    %ecx
4031ad:	83 e8 08             	sub    $0x8,%eax
4031b0:	01 30                	add    %esi,(%eax)
4031b2:	49                   	dec    %ecx
4031b3:	75 f8                	jne    0x4031ad
4031b5:	a1 d4 8e 41 00       	mov    0x418ed4,%eax
4031ba:	6a 40                	push   $0x40
4031bc:	89 46 3c             	mov    %eax,0x3c(%esi)
4031bf:	83 c6 04             	add    $0x4,%esi
4031c2:	56                   	push   %esi
4031c3:	68 80 a2 42 00       	push   $0x42a280
4031c8:	e8 cc 2c 00 00       	call   0x405e99
4031cd:	33 c0                	xor    %eax,%eax
4031cf:	5f                   	pop    %edi
4031d0:	5e                   	pop    %esi
4031d1:	5b                   	pop    %ebx
4031d2:	c9                   	leave
4031d3:	c2 04 00             	ret    $0x4
4031d6:	55                   	push   %ebp
4031d7:	8b ec                	mov    %esp,%ebp
4031d9:	51                   	push   %ecx
4031da:	8b 45 08             	mov    0x8(%ebp),%eax
4031dd:	53                   	push   %ebx
4031de:	56                   	push   %esi
4031df:	33 f6                	xor    %esi,%esi
4031e1:	3b c6                	cmp    %esi,%eax
4031e3:	7c 1c                	jl     0x403201
4031e5:	8b 0d b8 a2 42 00    	mov    0x42a2b8,%ecx
4031eb:	56                   	push   %esi
4031ec:	03 c1                	add    %ecx,%eax
4031ee:	56                   	push   %esi
4031ef:	50                   	push   %eax
4031f0:	a3 d4 8e 41 00       	mov    %eax,0x418ed4
4031f5:	ff 35 1c a0 40 00    	push   0x40a01c
4031fb:	ff 15 44 81 40 00    	call   *0x408144
403201:	6a 04                	push   $0x4
403203:	e8 d6 00 00 00       	call   0x4032de
403208:	3b c6                	cmp    %esi,%eax
40320a:	0f 8c c8 00 00 00    	jl     0x4032d8
403210:	8d 45 08             	lea    0x8(%ebp),%eax
403213:	6a 04                	push   $0x4
403215:	50                   	push   %eax
403216:	ff 35 1c a0 40 00    	push   0x40a01c
40321c:	e8 40 2d 00 00       	call   0x405f61
403221:	85 c0                	test   %eax,%eax
403223:	0f 84 9f 00 00 00    	je     0x4032c8
403229:	ff 75 08             	push   0x8(%ebp)
40322c:	83 05 d4 8e 41 00 04 	addl   $0x4,0x418ed4
403233:	e8 a6 00 00 00       	call   0x4032de
403238:	8b d8                	mov    %eax,%ebx
40323a:	3b de                	cmp    %esi,%ebx
40323c:	0f 8c 94 00 00 00    	jl     0x4032d6
403242:	39 75 10             	cmp    %esi,0x10(%ebp)
403245:	75 5d                	jne    0x4032a4
403247:	39 75 08             	cmp    %esi,0x8(%ebp)
40324a:	0f 8e 86 00 00 00    	jle    0x4032d6
403250:	be d0 4e 41 00       	mov    $0x414ed0,%esi
403255:	81 7d 08 00 40 00 00 	cmpl   $0x4000,0x8(%ebp)
40325c:	8b 45 08             	mov    0x8(%ebp),%eax
40325f:	7c 05                	jl     0x403266
403261:	b8 00 40 00 00       	mov    $0x4000,%eax
403266:	50                   	push   %eax
403267:	56                   	push   %esi
403268:	ff 35 1c a0 40 00    	push   0x40a01c
40326e:	89 45 fc             	mov    %eax,-0x4(%ebp)
403271:	e8 eb 2c 00 00       	call   0x405f61
403276:	85 c0                	test   %eax,%eax
403278:	74 4e                	je     0x4032c8
40327a:	ff 75 fc             	push   -0x4(%ebp)
40327d:	56                   	push   %esi
40327e:	ff 75 0c             	push   0xc(%ebp)
403281:	e8 0a 2d 00 00       	call   0x405f90
403286:	85 c0                	test   %eax,%eax
403288:	74 16                	je     0x4032a0
40328a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40328d:	29 45 08             	sub    %eax,0x8(%ebp)
403290:	01 05 d4 8e 41 00    	add    %eax,0x418ed4
403296:	03 d8                	add    %eax,%ebx
403298:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40329c:	7f b7                	jg     0x403255
40329e:	eb 36                	jmp    0x4032d6
4032a0:	6a fe                	push   $0xfffffffe
4032a2:	eb 26                	jmp    0x4032ca
4032a4:	8b 45 08             	mov    0x8(%ebp),%eax
4032a7:	3b 45 14             	cmp    0x14(%ebp),%eax
4032aa:	7c 03                	jl     0x4032af
4032ac:	8b 45 14             	mov    0x14(%ebp),%eax
4032af:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4032b2:	56                   	push   %esi
4032b3:	51                   	push   %ecx
4032b4:	50                   	push   %eax
4032b5:	ff 75 10             	push   0x10(%ebp)
4032b8:	ff 35 1c a0 40 00    	push   0x40a01c
4032be:	ff 15 48 81 40 00    	call   *0x408148
4032c4:	85 c0                	test   %eax,%eax