40904e:	89 41 08             	mov    %eax,0x8(%ecx)
409051:	33 c0                	xor    %eax,%eax
409053:	5f                   	pop    %edi
409054:	5b                   	pop    %ebx
409055:	5e                   	pop    %esi
409056:	8b e5                	mov    %ebp,%esp
409058:	5d                   	pop    %ebp
409059:	c3                   	ret
40905a:	8b ff                	mov    %edi,%edi
40905c:	55                   	push   %ebp
40905d:	8b ec                	mov    %esp,%ebp
40905f:	ff 75 08             	push   0x8(%ebp)
409062:	68 5c 41 42 00       	push   $0x42415c
409067:	e8 5e 00 00 00       	call   0x4090ca
40906c:	59                   	pop    %ecx
40906d:	59                   	pop    %ecx
40906e:	5d                   	pop    %ebp
40906f:	c3                   	ret
409070:	8b ff                	mov    %edi,%edi
409072:	55                   	push   %ebp
409073:	8b ec                	mov    %esp,%ebp
409075:	51                   	push   %ecx
409076:	8d 45 08             	lea    0x8(%ebp),%eax
409079:	89 45 fc             	mov    %eax,-0x4(%ebp)
40907c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40907f:	50                   	push   %eax
409080:	6a 02                	push   $0x2
409082:	e8 22 fd ff ff       	call   0x408da9
409087:	59                   	pop    %ecx
409088:	59                   	pop    %ecx
409089:	8b e5                	mov    %ebp,%esp
40908b:	5d                   	pop    %ebp
40908c:	c3                   	ret
40908d:	8b ff                	mov    %edi,%edi
40908f:	55                   	push   %ebp
409090:	8b ec                	mov    %esp,%ebp
409092:	56                   	push   %esi
409093:	8b 75 08             	mov    0x8(%ebp),%esi
409096:	85 f6                	test   %esi,%esi
409098:	75 05                	jne    0x40909f
40909a:	83 c8 ff             	or     $0xffffffff,%eax
40909d:	eb 28                	jmp    0x4090c7
40909f:	8b 06                	mov    (%esi),%eax
4090a1:	3b 46 08             	cmp    0x8(%esi),%eax
4090a4:	75 1f                	jne    0x4090c5
4090a6:	a1 0c 30 42 00       	mov    0x42300c,%eax
4090ab:	83 e0 1f             	and    $0x1f,%eax
4090ae:	6a 20                	push   $0x20
4090b0:	59                   	pop    %ecx
4090b1:	2b c8                	sub    %eax,%ecx
4090b3:	33 c0                	xor    %eax,%eax
4090b5:	d3 c8                	ror    %cl,%eax
4090b7:	33 05 0c 30 42 00    	xor    0x42300c,%eax
4090bd:	89 06                	mov    %eax,(%esi)
4090bf:	89 46 04             	mov    %eax,0x4(%esi)
4090c2:	89 46 08             	mov    %eax,0x8(%esi)
4090c5:	33 c0                	xor    %eax,%eax
4090c7:	5e                   	pop    %esi
4090c8:	5d                   	pop    %ebp
4090c9:	c3                   	ret
4090ca:	8b ff                	mov    %edi,%edi
4090cc:	55                   	push   %ebp
4090cd:	8b ec                	mov    %esp,%ebp
4090cf:	51                   	push   %ecx
4090d0:	51                   	push   %ecx
4090d1:	8d 45 08             	lea    0x8(%ebp),%eax
4090d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4090d7:	8d 45 0c             	lea    0xc(%ebp),%eax
4090da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4090dd:	8d 45 f8             	lea    -0x8(%ebp),%eax
4090e0:	50                   	push   %eax
4090e1:	6a 02                	push   $0x2
4090e3:	e8 e9 fc ff ff       	call   0x408dd1
4090e8:	59                   	pop    %ecx
4090e9:	59                   	pop    %ecx
4090ea:	8b e5                	mov    %ebp,%esp
4090ec:	5d                   	pop    %ebp
4090ed:	c3                   	ret
4090ee:	68 08 31 42 00       	push   $0x423108
4090f3:	b9 bc 41 42 00       	mov    $0x4241bc,%ecx
4090f8:	e8 99 74 00 00       	call   0x410596
4090fd:	b0 01                	mov    $0x1,%al
4090ff:	c3                   	ret
409100:	68 5c 41 42 00       	push   $0x42415c
409105:	e8 83 ff ff ff       	call   0x40908d
40910a:	c7 04 24 68 41 42 00 	movl   $0x424168,(%esp)
409111:	e8 77 ff ff ff       	call   0x40908d
409116:	59                   	pop    %ecx
409117:	b0 01                	mov    $0x1,%al
409119:	c3                   	ret
40911a:	b0 01                	mov    $0x1,%al
40911c:	c3                   	ret
40911d:	e8 95 fb ff ff       	call   0x408cb7
409122:	b0 01                	mov    $0x1,%al
409124:	c3                   	ret
409125:	a1 0c 30 42 00       	mov    0x42300c,%eax
40912a:	56                   	push   %esi
40912b:	6a 20                	push   $0x20
40912d:	83 e0 1f             	and    $0x1f,%eax
409130:	33 f6                	xor    %esi,%esi
409132:	59                   	pop    %ecx
409133:	2b c8                	sub    %eax,%ecx
409135:	d3 ce                	ror    %cl,%esi
409137:	33 35 0c 30 42 00    	xor    0x42300c,%esi
40913d:	56                   	push   %esi
40913e:	e8 5c ea ff ff       	call   0x407b9f
409143:	56                   	push   %esi
409144:	e8 bd 00 00 00       	call   0x409206
409149:	56                   	push   %esi
40914a:	e8 b7 74 00 00       	call   0x410606
40914f:	56                   	push   %esi
409150:	e8 b3 01 00 00       	call   0x409308
409155:	56                   	push   %esi
409156:	e8 49 f3 ff ff       	call   0x4084a4
40915b:	83 c4 14             	add    $0x14,%esp
40915e:	b0 01                	mov    $0x1,%al
409160:	5e                   	pop    %esi
409161:	c3                   	ret
409162:	6a 00                	push   $0x0
409164:	e8 65 b4 ff ff       	call   0x4045ce
409169:	59                   	pop    %ecx
40916a:	c3                   	ret
40916b:	a1 c0 37 42 00       	mov    0x4237c0,%eax
409170:	83 c9 ff             	or     $0xffffffff,%ecx
409173:	56                   	push   %esi
409174:	f0 0f c1 08          	lock xadd %ecx,(%eax)
409178:	75 1b                	jne    0x409195
40917a:	a1 c0 37 42 00       	mov    0x4237c0,%eax
40917f:	be a0 35 42 00       	mov    $0x4235a0,%esi
409184:	3b c6                	cmp    %esi,%eax
409186:	74 0d                	je     0x409195
409188:	50                   	push   %eax
409189:	e8 96 06 00 00       	call   0x409824
40918e:	59                   	pop    %ecx
40918f:	89 35 c0 37 42 00    	mov    %esi,0x4237c0
409195:	ff 35 b4 41 42 00    	push   0x4241b4
40919b:	e8 84 06 00 00       	call   0x409824
4091a0:	ff 35 b8 41 42 00    	push   0x4241b8
4091a6:	33 f6                	xor    %esi,%esi
4091a8:	89 35 b4 41 42 00    	mov    %esi,0x4241b4
4091ae:	e8 71 06 00 00       	call   0x409824
4091b3:	ff 35 84 41 42 00    	push   0x424184
4091b9:	89 35 b8 41 42 00    	mov    %esi,0x4241b8
4091bf:	e8 60 06 00 00       	call   0x409824
4091c4:	ff 35 88 41 42 00    	push   0x424188
4091ca:	89 35 84 41 42 00    	mov    %esi,0x424184
4091d0:	e8 4f 06 00 00       	call   0x409824
4091d5:	83 c4 10             	add    $0x10,%esp
4091d8:	89 35 88 41 42 00    	mov    %esi,0x424188
4091de:	b0 01                	mov    $0x1,%al
4091e0:	5e                   	pop    %esi
4091e1:	c3                   	ret
4091e2:	68 d8 bf 41 00       	push   $0x41bfd8
4091e7:	68 60 bf 41 00       	push   $0x41bf60
4091ec:	e8 11 72 00 00       	call   0x410402
4091f1:	59                   	pop    %ecx
4091f2:	59                   	pop    %ecx
4091f3:	c3                   	ret
4091f4:	68 d8 bf 41 00       	push   $0x41bfd8
4091f9:	68 60 bf 41 00       	push   $0x41bf60
4091fe:	e8 82 72 00 00       	call   0x410485
409203:	59                   	pop    %ecx
409204:	59                   	pop    %ecx
409205:	c3                   	ret
409206:	8b ff                	mov    %edi,%edi
409208:	55                   	push   %ebp
409209:	8b ec                	mov    %esp,%ebp
40920b:	ff 75 08             	push   0x8(%ebp)
40920e:	b9 74 41 42 00       	mov    $0x424174,%ecx
409213:	e8 7e 73 00 00       	call   0x410596
409218:	5d                   	pop    %ebp
409219:	c3                   	ret
40921a:	8b ff                	mov    %edi,%edi
40921c:	55                   	push   %ebp
40921d:	8b ec                	mov    %esp,%ebp
40921f:	51                   	push   %ecx
409220:	a1 0c 30 42 00       	mov    0x42300c,%eax
409225:	33 c5                	xor    %ebp,%eax
409227:	89 45 fc             	mov    %eax,-0x4(%ebp)
40922a:	56                   	push   %esi
40922b:	e8 2e 00 00 00       	call   0x40925e
409230:	8b f0                	mov    %eax,%esi
409232:	85 f6                	test   %esi,%esi
409234:	74 17                	je     0x40924d
409236:	ff 75 08             	push   0x8(%ebp)
409239:	8b ce                	mov    %esi,%ecx
40923b:	ff 15 a8 b1 41 00    	call   *0x41b1a8
409241:	ff d6                	call   *%esi
409243:	59                   	pop    %ecx
409244:	85 c0                	test   %eax,%eax
409246:	74 05                	je     0x40924d
409248:	33 c0                	xor    %eax,%eax
40924a:	40                   	inc    %eax
40924b:	eb 02                	jmp    0x40924f
40924d:	33 c0                	xor    %eax,%eax
40924f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409252:	33 cd                	xor    %ebp,%ecx
409254:	5e                   	pop    %esi
409255:	e8 fc 9c ff ff       	call   0x402f56
40925a:	8b e5                	mov    %ebp,%esp
40925c:	5d                   	pop    %ebp
40925d:	c3                   	ret
40925e:	6a 0c                	push   $0xc
409260:	68 40 1c 42 00       	push   $0x421c40
409265:	e8 e6 a8 ff ff       	call   0x403b50
40926a:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40926e:	6a 00                	push   $0x0
409270:	e8 30 5c 00 00       	call   0x40eea5
409275:	59                   	pop    %ecx
409276:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40927a:	8b 35 0c 30 42 00    	mov    0x42300c,%esi
409280:	8b ce                	mov    %esi,%ecx
409282:	83 e1 1f             	and    $0x1f,%ecx
409285:	33 35 74 41 42 00    	xor    0x424174,%esi
40928b:	d3 ce                	ror    %cl,%esi
40928d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
409290:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409297:	e8 0b 00 00 00       	call   0x4092a7
40929c:	8b c6                	mov    %esi,%eax
40929e:	e8 f3 a8 ff ff       	call   0x403b96
4092a3:	c3                   	ret
4092a4:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4092a7:	6a 00                	push   $0x0
4092a9:	e8 3f 5c 00 00       	call   0x40eeed
4092ae:	59                   	pop    %ecx
4092af:	c3                   	ret
4092b0:	8b ff                	mov    %edi,%edi
4092b2:	55                   	push   %ebp
4092b3:	8b ec                	mov    %esp,%ebp
4092b5:	5d                   	pop    %ebp
4092b6:	e9 a3 05 00 00       	jmp    0x40985e
4092bb:	a1 78 41 42 00       	mov    0x424178,%eax
4092c0:	c3                   	ret
4092c1:	8b ff                	mov    %edi,%edi
4092c3:	55                   	push   %ebp
4092c4:	8b ec                	mov    %esp,%ebp
4092c6:	8b 45 08             	mov    0x8(%ebp),%eax
4092c9:	a3 78 41 42 00       	mov    %eax,0x424178
4092ce:	5d                   	pop    %ebp
4092cf:	c3                   	ret
4092d0:	8b ff                	mov    %edi,%edi
4092d2:	55                   	push   %ebp
4092d3:	8b ec                	mov    %esp,%ebp
4092d5:	a1 0c 30 42 00       	mov    0x42300c,%eax
4092da:	83 e0 1f             	and    $0x1f,%eax
4092dd:	6a 20                	push   $0x20
4092df:	59                   	pop    %ecx
4092e0:	2b c8                	sub    %eax,%ecx
4092e2:	8b 45 08             	mov    0x8(%ebp),%eax
4092e5:	d3 c8                	ror    %cl,%eax
4092e7:	33 05 0c 30 42 00    	xor    0x42300c,%eax
4092ed:	5d                   	pop    %ebp
4092ee:	c3                   	ret
4092ef:	a1 0c 30 42 00       	mov    0x42300c,%eax
4092f4:	8b c8                	mov    %eax,%ecx
4092f6:	33 05 7c 41 42 00    	xor    0x42417c,%eax
4092fc:	83 e1 1f             	and    $0x1f,%ecx
4092ff:	d3 c8                	ror    %cl,%eax
409301:	f7 d8                	neg    %eax
409303:	1b c0                	sbb    %eax,%eax
409305:	f7 d8                	neg    %eax
409307:	c3                   	ret
409308:	8b ff                	mov    %edi,%edi
40930a:	55                   	push   %ebp
40930b:	8b ec                	mov    %esp,%ebp
40930d:	ff 75 08             	push   0x8(%ebp)
409310:	b9 7c 41 42 00       	mov    $0x42417c,%ecx
409315:	e8 7c 72 00 00       	call   0x410596
40931a:	5d                   	pop    %ebp
40931b:	c3                   	ret
40931c:	8b ff                	mov    %edi,%edi
40931e:	55                   	push   %ebp
40931f:	8b ec                	mov    %esp,%ebp
409321:	51                   	push   %ecx
409322:	a1 0c 30 42 00       	mov    0x42300c,%eax
409327:	33 c5                	xor    %ebp,%eax
409329:	89 45 fc             	mov    %eax,-0x4(%ebp)
40932c:	56                   	push   %esi
40932d:	8b 35 0c 30 42 00    	mov    0x42300c,%esi
409333:	8b ce                	mov    %esi,%ecx
409335:	33 35 7c 41 42 00    	xor    0x42417c,%esi
40933b:	83 e1 1f             	and    $0x1f,%ecx
40933e:	d3 ce                	ror    %cl,%esi
409340:	85 f6                	test   %esi,%esi
409342:	75 04                	jne    0x409348
409344:	33 c0                	xor    %eax,%eax
409346:	eb 0e                	jmp    0x409356
409348:	ff 75 08             	push   0x8(%ebp)
40934b:	8b ce                	mov    %esi,%ecx
40934d:	ff 15 a8 b1 41 00    	call   *0x41b1a8
409353:	ff d6                	call   *%esi
409355:	59                   	pop    %ecx
409356:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409359:	33 cd                	xor    %ebp,%ecx
40935b:	5e                   	pop    %esi
40935c:	e8 f5 9b ff ff       	call   0x402f56
409361:	8b e5                	mov    %ebp,%esp
409363:	5d                   	pop    %ebp
409364:	c3                   	ret
409365:	8b ff                	mov    %edi,%edi
409367:	55                   	push   %ebp
409368:	8b ec                	mov    %esp,%ebp
40936a:	ff 75 08             	push   0x8(%ebp)
40936d:	e8 5e ff ff ff       	call   0x4092d0
409372:	59                   	pop    %ecx
409373:	a3 7c 41 42 00       	mov    %eax,0x42417c
409378:	5d                   	pop    %ebp
409379:	c3                   	ret
40937a:	8b ff                	mov    %edi,%edi
40937c:	55                   	push   %ebp
40937d:	8b ec                	mov    %esp,%ebp
40937f:	51                   	push   %ecx
409380:	51                   	push   %ecx
409381:	a1 0c 30 42 00       	mov    0x42300c,%eax
409386:	33 c5                	xor    %ebp,%eax
409388:	89 45 fc             	mov    %eax,-0x4(%ebp)
40938b:	8b 45 0c             	mov    0xc(%ebp),%eax
40938e:	53                   	push   %ebx
40938f:	56                   	push   %esi
409390:	8b 75 08             	mov    0x8(%ebp),%esi
409393:	2b c6                	sub    %esi,%eax
409395:	83 c0 03             	add    $0x3,%eax
409398:	57                   	push   %edi
409399:	33 ff                	xor    %edi,%edi
40939b:	c1 e8 02             	shr    $0x2,%eax
40939e:	39 75 0c             	cmp    %esi,0xc(%ebp)
4093a1:	1b db                	sbb    %ebx,%ebx
4093a3:	f7 d3                	not    %ebx
4093a5:	23 d8                	and    %eax,%ebx
4093a7:	74 1c                	je     0x4093c5
4093a9:	8b 06                	mov    (%esi),%eax
4093ab:	89 45 f8             	mov    %eax,-0x8(%ebp)
4093ae:	85 c0                	test   %eax,%eax
4093b0:	74 0b                	je     0x4093bd
4093b2:	8b c8                	mov    %eax,%ecx
4093b4:	ff 15 a8 b1 41 00    	call   *0x41b1a8
4093ba:	ff 55 f8             	call   *-0x8(%ebp)
4093bd:	83 c6 04             	add    $0x4,%esi
4093c0:	47                   	inc    %edi
4093c1:	3b fb                	cmp    %ebx,%edi
4093c3:	75 e4                	jne    0x4093a9
4093c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4093c8:	5f                   	pop    %edi
4093c9:	5e                   	pop    %esi
4093ca:	33 cd                	xor    %ebp,%ecx
4093cc:	5b                   	pop    %ebx
4093cd:	e8 84 9b ff ff       	call   0x402f56
4093d2:	8b e5                	mov    %ebp,%esp
4093d4:	5d                   	pop    %ebp
4093d5:	c3                   	ret