402eec:	b8 01 00 00 00       	mov    $0x1,%eax
402ef1:	5b                   	pop    %ebx
402ef2:	8b e5                	mov    %ebp,%esp
402ef4:	5d                   	pop    %ebp
402ef5:	c3                   	ret
402ef6:	85 db                	test   %ebx,%ebx
402ef8:	0f 85 a8 fd ff ff    	jne    0x402ca6
402efe:	8b 55 08             	mov    0x8(%ebp),%edx
402f01:	8b 45 0c             	mov    0xc(%ebp),%eax
402f04:	6a 05                	push   $0x5
402f06:	52                   	push   %edx
402f07:	50                   	push   %eax
402f08:	eb a9                	jmp    0x402eb3
402f0a:	cc                   	int3
402f0b:	cc                   	int3
402f0c:	cc                   	int3
402f0d:	cc                   	int3
402f0e:	cc                   	int3
402f0f:	cc                   	int3
402f10:	55                   	push   %ebp
402f11:	8b ec                	mov    %esp,%ebp
402f13:	81 ec 80 00 00 00    	sub    $0x80,%esp
402f19:	53                   	push   %ebx
402f1a:	56                   	push   %esi
402f1b:	57                   	push   %edi
402f1c:	8b 7d 18             	mov    0x18(%ebp),%edi
402f1f:	33 db                	xor    %ebx,%ebx
402f21:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402f24:	c7 45 e0 8b ff 55 8b 	movl   $0x8b55ff8b,-0x20(%ebp)
402f2b:	c6 45 e4 ec          	movb   $0xec,-0x1c(%ebp)
402f2f:	3b fb                	cmp    %ebx,%edi
402f31:	74 05                	je     0x402f38
402f33:	83 ff 03             	cmp    $0x3,%edi
402f36:	75 34                	jne    0x402f6c
402f38:	8b 75 0c             	mov    0xc(%ebp),%esi
402f3b:	6a 05                	push   $0x5
402f3d:	8d 45 e0             	lea    -0x20(%ebp),%eax
402f40:	56                   	push   %esi
402f41:	50                   	push   %eax
402f42:	e8 29 57 01 00       	call   0x418670
402f47:	83 c4 0c             	add    $0xc,%esp
402f4a:	85 c0                	test   %eax,%eax
402f4c:	74 09                	je     0x402f57
402f4e:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
402f55:	eb 18                	jmp    0x402f6f
402f57:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
402f5a:	0f 84 91 01 00 00    	je     0x4030f1
402f60:	8b 4d 08             	mov    0x8(%ebp),%ecx
402f63:	c7 41 40 01 00 00 00 	movl   $0x1,0x40(%ecx)
402f6a:	eb 03                	jmp    0x402f6f
402f6c:	8b 75 0c             	mov    0xc(%ebp),%esi
402f6f:	83 ff 02             	cmp    $0x2,%edi
402f72:	75 2f                	jne    0x402fa3
402f74:	6a 03                	push   $0x3
402f76:	8d 55 e2             	lea    -0x1e(%ebp),%edx
402f79:	56                   	push   %esi
402f7a:	52                   	push   %edx
402f7b:	e8 f0 56 01 00       	call   0x418670
402f80:	83 c4 0c             	add    $0xc,%esp
402f83:	85 c0                	test   %eax,%eax
402f85:	74 09                	je     0x402f90
402f87:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
402f8e:	eb 13                	jmp    0x402fa3
402f90:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
402f93:	0f 84 58 01 00 00    	je     0x4030f1
402f99:	8b 45 08             	mov    0x8(%ebp),%eax
402f9c:	c7 40 40 01 00 00 00 	movl   $0x1,0x40(%eax)
402fa3:	33 c0                	xor    %eax,%eax
402fa5:	6a 38                	push   $0x38
402fa7:	8d 4d 88             	lea    -0x78(%ebp),%ecx
402faa:	53                   	push   %ebx
402fab:	51                   	push   %ecx
402fac:	c7 45 f8 05 00 00 00 	movl   $0x5,-0x8(%ebp)
402fb3:	c7 45 18 08 00 00 00 	movl   $0x8,0x18(%ebp)
402fba:	c7 45 c0 e8 00 00 00 	movl   $0xe8,-0x40(%ebp)
402fc1:	88 5d c4             	mov    %bl,-0x3c(%ebp)
402fc4:	89 45 c5             	mov    %eax,-0x3b(%ebp)
402fc7:	89 45 c9             	mov    %eax,-0x37(%ebp)
402fca:	89 45 cd             	mov    %eax,-0x33(%ebp)
402fcd:	89 45 d1             	mov    %eax,-0x2f(%ebp)
402fd0:	89 45 d5             	mov    %eax,-0x2b(%ebp)
402fd3:	89 45 d9             	mov    %eax,-0x27(%ebp)
402fd6:	66 89 45 dd          	mov    %ax,-0x23(%ebp)
402fda:	88 45 df             	mov    %al,-0x21(%ebp)
402fdd:	c7 45 80 83 c4 04 e8 	movl   $0xe804c483,-0x80(%ebp)
402fe4:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
402fe7:	e8 f4 53 01 00       	call   0x4183e0
402fec:	8b 7d fc             	mov    -0x4(%ebp),%edi
402fef:	8b 5d 10             	mov    0x10(%ebp),%ebx
402ff2:	03 fe                	add    %esi,%edi
402ff4:	8b c3                	mov    %ebx,%eax
402ff6:	6a 04                	push   $0x4
402ff8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
402ffb:	2b c7                	sub    %edi,%eax
402ffd:	51                   	push   %ecx
402ffe:	8d 55 c1             	lea    -0x3f(%ebp),%edx
403001:	83 e8 05             	sub    $0x5,%eax
403004:	52                   	push   %edx
403005:	89 45 f0             	mov    %eax,-0x10(%ebp)
403008:	e8 53 53 01 00       	call   0x418360
40300d:	8b 45 14             	mov    0x14(%ebp),%eax
403010:	6a 04                	push   $0x4
403012:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403015:	2b c3                	sub    %ebx,%eax
403017:	51                   	push   %ecx
403018:	8d 55 84             	lea    -0x7c(%ebp),%edx
40301b:	83 e8 08             	sub    $0x8,%eax
40301e:	52                   	push   %edx
40301f:	89 45 ec             	mov    %eax,-0x14(%ebp)
403022:	e8 39 53 01 00       	call   0x418360
403027:	8d 45 f8             	lea    -0x8(%ebp),%eax
40302a:	50                   	push   %eax
40302b:	8d 4d c5             	lea    -0x3b(%ebp),%ecx
40302e:	51                   	push   %ecx
40302f:	8d 55 18             	lea    0x18(%ebp),%edx
403032:	52                   	push   %edx
403033:	8d 45 88             	lea    -0x78(%ebp),%eax
403036:	50                   	push   %eax
403037:	57                   	push   %edi
403038:	e8 13 fc ff ff       	call   0x402c50
40303d:	83 c4 38             	add    $0x38,%esp
403040:	85 c0                	test   %eax,%eax
403042:	0f 84 a9 00 00 00    	je     0x4030f1
403048:	8b 75 18             	mov    0x18(%ebp),%esi
40304b:	6a 04                	push   $0x4
40304d:	8d 55 e8             	lea    -0x18(%ebp),%edx
403050:	52                   	push   %edx
403051:	8d 44 35 81          	lea    -0x7f(%ebp,%esi,1),%eax
403055:	8d 4f 05             	lea    0x5(%edi),%ecx
403058:	50                   	push   %eax
403059:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40305c:	c6 44 35 80 68       	movb   $0x68,-0x80(%ebp,%esi,1)
403061:	e8 fa 52 01 00       	call   0x418360
403066:	c6 44 35 85 c3       	movb   $0xc3,-0x7b(%ebp,%esi,1)
40306b:	83 c6 06             	add    $0x6,%esi
40306e:	56                   	push   %esi
40306f:	8d 4d 80             	lea    -0x80(%ebp),%ecx
403072:	51                   	push   %ecx
403073:	53                   	push   %ebx
403074:	e8 e7 52 01 00       	call   0x418360
403079:	8a 07                	mov    (%edi),%al
40307b:	83 c4 18             	add    $0x18,%esp
40307e:	3c e8                	cmp    $0xe8,%al
403080:	74 04                	je     0x403086
403082:	3c e9                	cmp    $0xe9,%al
403084:	75 27                	jne    0x4030ad
403086:	8b 55 89             	mov    -0x77(%ebp),%edx
403089:	8b 75 0c             	mov    0xc(%ebp),%esi
40308c:	8d 45 88             	lea    -0x78(%ebp),%eax
40308f:	2b d0                	sub    %eax,%edx
403091:	03 55 fc             	add    -0x4(%ebp),%edx
403094:	6a 04                	push   $0x4
403096:	03 d6                	add    %esi,%edx
403098:	8d 4d 18             	lea    0x18(%ebp),%ecx
40309b:	89 55 18             	mov    %edx,0x18(%ebp)
40309e:	51                   	push   %ecx
40309f:	8d 55 89             	lea    -0x77(%ebp),%edx
4030a2:	52                   	push   %edx
4030a3:	e8 b8 52 01 00       	call   0x418360
4030a8:	83 c4 0c             	add    $0xc,%esp
4030ab:	eb 03                	jmp    0x4030b0
4030ad:	8b 75 0c             	mov    0xc(%ebp),%esi
4030b0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4030b3:	8d 45 f4             	lea    -0xc(%ebp),%eax
4030b6:	50                   	push   %eax
4030b7:	6a 40                	push   $0x40
4030b9:	68 00 10 00 00       	push   $0x1000
4030be:	56                   	push   %esi
4030bf:	53                   	push   %ebx
4030c0:	e8 3b 52 01 00       	call   0x418300
4030c5:	83 c4 14             	add    $0x14,%esp
4030c8:	85 c0                	test   %eax,%eax
4030ca:	74 25                	je     0x4030f1
4030cc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4030cf:	51                   	push   %ecx
4030d0:	8d 55 c0             	lea    -0x40(%ebp),%edx
4030d3:	52                   	push   %edx
4030d4:	57                   	push   %edi
4030d5:	e8 86 52 01 00       	call   0x418360
4030da:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4030dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
4030e0:	50                   	push   %eax
4030e1:	51                   	push   %ecx
4030e2:	68 00 10 00 00       	push   $0x1000
4030e7:	56                   	push   %esi
4030e8:	53                   	push   %ebx
4030e9:	e8 12 52 01 00       	call   0x418300
4030ee:	83 c4 20             	add    $0x20,%esp
4030f1:	5f                   	pop    %edi
4030f2:	5e                   	pop    %esi
4030f3:	5b                   	pop    %ebx
4030f4:	8b e5                	mov    %ebp,%esp
4030f6:	5d                   	pop    %ebp
4030f7:	c3                   	ret
4030f8:	34 02                	xor    $0x2,%al
4030fa:	14 da                	adc    $0xda,%al
4030fc:	44                   	inc    %esp
4030fd:	c4 36                	les    (%esi),%esi
4030ff:	7f 55                	jg     0x403156
403101:	8b ec                	mov    %esp,%ebp
403103:	81 ec b0 00 00 00    	sub    $0xb0,%esp
403109:	53                   	push   %ebx
40310a:	56                   	push   %esi
40310b:	57                   	push   %edi
40310c:	6a 3f                	push   $0x3f
40310e:	8d 45 91             	lea    -0x6f(%ebp),%eax
403111:	6a 00                	push   $0x0
403113:	50                   	push   %eax
403114:	c6 45 90 00          	movb   $0x0,-0x70(%ebp)
403118:	e8 c3 52 01 00       	call   0x4183e0
40311d:	8d 4d 90             	lea    -0x70(%ebp),%ecx
403120:	6a 02                	push   $0x2
403122:	51                   	push   %ecx
403123:	e8 58 5e 01 00       	call   0x418f80
403128:	8b 75 08             	mov    0x8(%ebp),%esi
40312b:	8d 55 90             	lea    -0x70(%ebp),%edx
40312e:	52                   	push   %edx
40312f:	8d be 8c 0c 00 00    	lea    0xc8c(%esi),%edi
403135:	57                   	push   %edi
403136:	e8 e5 52 00 00       	call   0x408420
40313b:	8b d8                	mov    %eax,%ebx
40313d:	83 c4 1c             	add    $0x1c,%esp
403140:	85 db                	test   %ebx,%ebx
403142:	0f 84 47 01 00 00    	je     0x40328f
403148:	6a 3f                	push   $0x3f
40314a:	8d 85 51 ff ff ff    	lea    -0xaf(%ebp),%eax
403150:	6a 00                	push   $0x0
403152:	50                   	push   %eax
403153:	c6 85 50 ff ff ff 00 	movb   $0x0,-0xb0(%ebp)
40315a:	e8 81 52 01 00       	call   0x4183e0
40315f:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
403165:	6a 07                	push   $0x7
403167:	51                   	push   %ecx
403168:	e8 13 5e 01 00       	call   0x418f80
40316d:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
403173:	52                   	push   %edx
403174:	57                   	push   %edi
403175:	e8 a6 52 00 00       	call   0x408420
40317a:	83 c4 1c             	add    $0x1c,%esp
40317d:	89 45 08             	mov    %eax,0x8(%ebp)
403180:	85 c0                	test   %eax,%eax
403182:	0f 84 07 01 00 00    	je     0x40328f
403188:	68 b4 cc d2 11       	push   $0x11d2ccb4
40318d:	6a 00                	push   $0x0
40318f:	6a 00                	push   $0x0
403191:	53                   	push   %ebx
403192:	57                   	push   %edi
403193:	e8 38 f1 00 00       	call   0x4122d0
403198:	68 1c 40 99 70       	push   $0x7099401c
40319d:	6a 00                	push   $0x0
40319f:	6a 00                	push   $0x0
4031a1:	53                   	push   %ebx
4031a2:	57                   	push   %edi
4031a3:	89 86 f0 0c 00 00    	mov    %eax,0xcf0(%esi)
4031a9:	e8 22 f1 00 00       	call   0x4122d0
4031ae:	68 b8 82 48 c8       	push   $0xc84882b8
4031b3:	6a 00                	push   $0x0
4031b5:	6a 00                	push   $0x0
4031b7:	53                   	push   %ebx
4031b8:	57                   	push   %edi
4031b9:	89 86 f4 0c 00 00    	mov    %eax,0xcf4(%esi)
4031bf:	e8 0c f1 00 00       	call   0x4122d0
4031c4:	68 f9 54 e9 44       	push   $0x44e954f9
4031c9:	6a 00                	push   $0x0
4031cb:	89 86 fc 0c 00 00    	mov    %eax,0xcfc(%esi)
4031d1:	8b 86 98 0b 00 00    	mov    0xb98(%esi),%eax
4031d7:	6a 00                	push   $0x0
4031d9:	50                   	push   %eax
4031da:	57                   	push   %edi
4031db:	e8 f0 f0 00 00       	call   0x4122d0
4031e0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4031e3:	83 c4 50             	add    $0x50,%esp
4031e6:	68 5b c7 6a 7e       	push   $0x7e6ac75b
4031eb:	6a 00                	push   $0x0
4031ed:	6a 00                	push   $0x0
4031ef:	51                   	push   %ecx
4031f0:	57                   	push   %edi
4031f1:	89 86 f8 0c 00 00    	mov    %eax,0xcf8(%esi)
4031f7:	e8 d4 f0 00 00       	call   0x4122d0
4031fc:	6a 10                	push   $0x10
4031fe:	8d 55 e0             	lea    -0x20(%ebp),%edx
403201:	89 86 00 0d 00 00    	mov    %eax,0xd00(%esi)
403207:	52                   	push   %edx
403208:	8d 86 c0 0c 00 00    	lea    0xcc0(%esi),%eax
40320e:	50                   	push   %eax
40320f:	c7 45 e0 1e 6d 82 43 	movl   $0x43826d1e,-0x20(%ebp)
403216:	c7 45 e4 18 e7 ee 42 	movl   $0x42eee718,-0x1c(%ebp)
40321d:	c7 45 e8 bc 55 a1 e2 	movl   $0xe2a155bc,-0x18(%ebp)
403224:	c7 45 ec 61 c3 7b fe 	movl   $0xfe7bc361,-0x14(%ebp)
40322b:	c7 45 d0 75 55 d0 3a 	movl   $0x3ad05575,-0x30(%ebp)
403232:	c7 45 d4 57 88 50 48 	movl   $0x48508857,-0x2c(%ebp)
403239:	c7 45 d8 92 77 11 b8 	movl   $0xb8117792,-0x28(%ebp)
403240:	c7 45 dc 5b db 8e 09 	movl   $0x98edb5b,-0x24(%ebp)
403247:	c7 45 f0 5f ab 7a 94 	movl   $0x947aab5f,-0x10(%ebp)
40324e:	c7 45 f4 5c 0a 13 4c 	movl   $0x4c130a5c,-0xc(%ebp)
403255:	c7 45 f8 b4 d6 4b f7 	movl   $0xf74bd6b4,-0x8(%ebp)
40325c:	c7 45 fc 83 6f c9 f8 	movl   $0xf8c96f83,-0x4(%ebp)
403263:	e8 f8 50 01 00       	call   0x418360
403268:	6a 10                	push   $0x10
40326a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40326d:	51                   	push   %ecx
40326e:	8d 96 d0 0c 00 00    	lea    0xcd0(%esi),%edx
403274:	52                   	push   %edx
403275:	e8 e6 50 01 00       	call   0x418360
40327a:	6a 10                	push   $0x10
40327c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40327f:	50                   	push   %eax
403280:	81 c6 e0 0c 00 00    	add    $0xce0,%esi
403286:	56                   	push   %esi
403287:	e8 d4 50 01 00       	call   0x418360
40328c:	83 c4 38             	add    $0x38,%esp
40328f:	5f                   	pop    %edi
403290:	5e                   	pop    %esi
403291:	5b                   	pop    %ebx
403292:	8b e5                	mov    %ebp,%esp
403294:	5d                   	pop    %ebp
403295:	c3                   	ret
403296:	79 fc                	jns    0x403294
403298:	53                   	push   %ebx
403299:	1a 12                	sbb    (%edx),%dl
40329b:	35 d8 36 fb fe       	xor    $0xfefb36d8,%eax
4032a0:	55                   	push   %ebp
4032a1:	8b ec                	mov    %esp,%ebp
4032a3:	83 ec 08             	sub    $0x8,%esp
4032a6:	56                   	push   %esi
4032a7:	8b 75 08             	mov    0x8(%ebp),%esi
4032aa:	8b 86 f4 0c 00 00    	mov    0xcf4(%esi),%eax
4032b0:	57                   	push   %edi
4032b1:	33 ff                	xor    %edi,%edi
4032b3:	6a 06                	push   $0x6
4032b5:	57                   	push   %edi
4032b6:	89 7d f8             	mov    %edi,-0x8(%ebp)
4032b9:	89 7d fc             	mov    %edi,-0x4(%ebp)
4032bc:	ff d0                	call   *%eax
4032be:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4032c1:	51                   	push   %ecx
4032c2:	8b 8e fc 0c 00 00    	mov    0xcfc(%esi),%ecx
4032c8:	8d 96 e0 0c 00 00    	lea    0xce0(%esi),%edx
4032ce:	52                   	push   %edx
4032cf:	6a 17                	push   $0x17
4032d1:	57                   	push   %edi
4032d2:	8d 86 d0 0c 00 00    	lea    0xcd0(%esi),%eax
4032d8:	50                   	push   %eax
4032d9:	ff d1                	call   *%ecx
4032db:	85 c0                	test   %eax,%eax
4032dd:	75 6a                	jne    0x403349
4032df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4032e2:	8b 10                	mov    (%eax),%edx
4032e4:	68 14 04 84 10       	push   $0x10840414
4032e9:	50                   	push   %eax