4290fd:	ff 75 10             	push   0x10(%ebp)
429100:	ff 75 0c             	push   0xc(%ebp)
429103:	ff 75 08             	push   0x8(%ebp)
429106:	ff 15 84 03 4b 00    	call   *0x4b0384
42910c:	8b f0                	mov    %eax,%esi
42910e:	85 ff                	test   %edi,%edi
429110:	74 10                	je     0x429122
429112:	57                   	push   %edi
429113:	e8 86 d2 fe ff       	call   0x41639e
429118:	ff 75 c8             	push   -0x38(%ebp)
42911b:	e8 7e d2 fe ff       	call   0x41639e
429120:	59                   	pop    %ecx
429121:	59                   	pop    %ecx
429122:	8b c6                	mov    %esi,%eax
429124:	8d 65 a4             	lea    -0x5c(%ebp),%esp
429127:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
42912a:	e8 af ea fe ff       	call   0x417bde
42912f:	e8 ef f0 fe ff       	call   0x418223
429134:	c3                   	ret
429135:	56                   	push   %esi
429136:	8b 35 24 c7 4a 00    	mov    0x4ac724,%esi
42913c:	eb 22                	jmp    0x429160
42913e:	57                   	push   %edi
42913f:	50                   	push   %eax
429140:	ff 74 24 10          	push   0x10(%esp)
429144:	e8 28 f5 ff ff       	call   0x428671
429149:	83 c4 0c             	add    $0xc,%esp
42914c:	85 c0                	test   %eax,%eax
42914e:	75 0d                	jne    0x42915d
429150:	8b 06                	mov    (%esi),%eax
429152:	8a 04 07             	mov    (%edi,%eax,1),%al
429155:	3c 3d                	cmp    $0x3d,%al
429157:	74 1c                	je     0x429175
429159:	84 c0                	test   %al,%al
42915b:	74 18                	je     0x429175
42915d:	83 c6 04             	add    $0x4,%esi
429160:	8b 06                	mov    (%esi),%eax
429162:	85 c0                	test   %eax,%eax
429164:	75 d8                	jne    0x42913e
429166:	8b c6                	mov    %esi,%eax
429168:	2b 05 24 c7 4a 00    	sub    0x4ac724,%eax
42916e:	5e                   	pop    %esi
42916f:	c1 f8 02             	sar    $0x2,%eax
429172:	f7 d8                	neg    %eax
429174:	c3                   	ret
429175:	8b c6                	mov    %esi,%eax
429177:	2b 05 24 c7 4a 00    	sub    0x4ac724,%eax
42917d:	5e                   	pop    %esi
42917e:	c1 f8 02             	sar    $0x2,%eax
429181:	c3                   	ret
429182:	55                   	push   %ebp
429183:	8b ec                	mov    %esp,%ebp
429185:	51                   	push   %ecx
429186:	33 c9                	xor    %ecx,%ecx
429188:	85 ff                	test   %edi,%edi
42918a:	8b c7                	mov    %edi,%eax
42918c:	75 02                	jne    0x429190
42918e:	c9                   	leave
42918f:	c3                   	ret
429190:	83 3f 00             	cmpl   $0x0,(%edi)
429193:	74 09                	je     0x42919e
429195:	83 c0 04             	add    $0x4,%eax
429198:	41                   	inc    %ecx
429199:	83 38 00             	cmpl   $0x0,(%eax)
42919c:	75 f7                	jne    0x429195
42919e:	53                   	push   %ebx
42919f:	8d 04 8d 04 00 00 00 	lea    0x4(,%ecx,4),%eax
4291a6:	56                   	push   %esi
4291a7:	50                   	push   %eax
4291a8:	e8 df d1 fe ff       	call   0x41638c
4291ad:	8b f0                	mov    %eax,%esi
4291af:	85 f6                	test   %esi,%esi
4291b1:	59                   	pop    %ecx
4291b2:	89 75 fc             	mov    %esi,-0x4(%ebp)
4291b5:	75 08                	jne    0x4291bf
4291b7:	6a 09                	push   $0x9
4291b9:	e8 39 e4 fe ff       	call   0x4175f7
4291be:	59                   	pop    %ecx
4291bf:	8b 07                	mov    (%edi),%eax
4291c1:	8b df                	mov    %edi,%ebx
4291c3:	eb 11                	jmp    0x4291d6
4291c5:	50                   	push   %eax
4291c6:	e8 53 f6 fe ff       	call   0x41881e
4291cb:	89 06                	mov    %eax,(%esi)
4291cd:	83 c6 04             	add    $0x4,%esi
4291d0:	83 c3 04             	add    $0x4,%ebx
4291d3:	8b 03                	mov    (%ebx),%eax
4291d5:	59                   	pop    %ecx
4291d6:	85 c0                	test   %eax,%eax
4291d8:	75 eb                	jne    0x4291c5
4291da:	21 06                	and    %eax,(%esi)
4291dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4291df:	5e                   	pop    %esi
4291e0:	5b                   	pop    %ebx
4291e1:	c9                   	leave
4291e2:	c3                   	ret
4291e3:	55                   	push   %ebp
4291e4:	8b ec                	mov    %esp,%ebp
4291e6:	83 ec 10             	sub    $0x10,%esp
4291e9:	8b 45 08             	mov    0x8(%ebp),%eax
4291ec:	53                   	push   %ebx
4291ed:	33 db                	xor    %ebx,%ebx
4291ef:	3b c3                	cmp    %ebx,%eax
4291f1:	57                   	push   %edi
4291f2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4291f5:	75 05                	jne    0x4291fc
4291f7:	83 c8 ff             	or     $0xffffffff,%eax
4291fa:	eb 61                	jmp    0x42925d
4291fc:	56                   	push   %esi
4291fd:	8b 30                	mov    (%eax),%esi
4291ff:	3b f3                	cmp    %ebx,%esi
429201:	89 75 fc             	mov    %esi,-0x4(%ebp)
429204:	74 53                	je     0x429259
429206:	6a 3d                	push   $0x3d
429208:	56                   	push   %esi
429209:	e8 92 f0 fe ff       	call   0x4182a0
42920e:	3b c3                	cmp    %ebx,%eax
429210:	59                   	pop    %ecx
429211:	59                   	pop    %ecx
429212:	89 45 f4             	mov    %eax,-0xc(%ebp)
429215:	74 42                	je     0x429259
429217:	3b f0                	cmp    %eax,%esi
429219:	74 3e                	je     0x429259
42921b:	33 c9                	xor    %ecx,%ecx
42921d:	38 58 01             	cmp    %bl,0x1(%eax)
429220:	a1 24 c7 4a 00       	mov    0x4ac724,%eax
429225:	0f 94 c1             	sete   %cl
429228:	3b 05 28 c7 4a 00    	cmp    0x4ac728,%eax
42922e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
429231:	75 0c                	jne    0x42923f
429233:	8b f8                	mov    %eax,%edi
429235:	e8 48 ff ff ff       	call   0x429182
42923a:	a3 24 c7 4a 00       	mov    %eax,0x4ac724
42923f:	3b c3                	cmp    %ebx,%eax
429241:	75 55                	jne    0x429298
429243:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
429246:	74 19                	je     0x429261
429248:	39 1d 2c c7 4a 00    	cmp    %ebx,0x4ac72c
42924e:	74 11                	je     0x429261
429250:	e8 6a f4 ff ff       	call   0x4286bf
429255:	85 c0                	test   %eax,%eax
429257:	74 3f                	je     0x429298
429259:	83 c8 ff             	or     $0xffffffff,%eax
42925c:	5e                   	pop    %esi
42925d:	5f                   	pop    %edi
42925e:	5b                   	pop    %ebx
42925f:	c9                   	leave
429260:	c3                   	ret
429261:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
429264:	74 04                	je     0x42926a
429266:	33 c0                	xor    %eax,%eax
429268:	eb f2                	jmp    0x42925c
42926a:	6a 04                	push   $0x4
42926c:	e8 1b d1 fe ff       	call   0x41638c
429271:	3b c3                	cmp    %ebx,%eax
429273:	59                   	pop    %ecx
429274:	a3 24 c7 4a 00       	mov    %eax,0x4ac724
429279:	74 de                	je     0x429259
42927b:	89 18                	mov    %ebx,(%eax)
42927d:	39 1d 2c c7 4a 00    	cmp    %ebx,0x4ac72c
429283:	75 13                	jne    0x429298
429285:	6a 04                	push   $0x4
429287:	e8 00 d1 fe ff       	call   0x41638c
42928c:	3b c3                	cmp    %ebx,%eax
42928e:	59                   	pop    %ecx
42928f:	a3 2c c7 4a 00       	mov    %eax,0x4ac72c
429294:	74 c3                	je     0x429259
429296:	89 18                	mov    %ebx,(%eax)
429298:	8b 7d f4             	mov    -0xc(%ebp),%edi
42929b:	2b 7d fc             	sub    -0x4(%ebp),%edi
42929e:	ff 75 fc             	push   -0x4(%ebp)
4292a1:	8b 35 24 c7 4a 00    	mov    0x4ac724,%esi
4292a7:	e8 89 fe ff ff       	call   0x429135
4292ac:	8b f8                	mov    %eax,%edi
4292ae:	3b fb                	cmp    %ebx,%edi
4292b0:	59                   	pop    %ecx
4292b1:	7c 46                	jl     0x4292f9
4292b3:	39 1e                	cmp    %ebx,(%esi)
4292b5:	74 42                	je     0x4292f9
4292b7:	8d 34 be             	lea    (%esi,%edi,4),%esi
4292ba:	ff 36                	push   (%esi)
4292bc:	e8 dd d0 fe ff       	call   0x41639e
4292c1:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4292c4:	59                   	pop    %ecx
4292c5:	75 15                	jne    0x4292dc
4292c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4292ca:	89 06                	mov    %eax,(%esi)
4292cc:	8b 45 08             	mov    0x8(%ebp),%eax
4292cf:	89 18                	mov    %ebx,(%eax)
4292d1:	eb 67                	jmp    0x42933a
4292d3:	8b 46 04             	mov    0x4(%esi),%eax
4292d6:	89 06                	mov    %eax,(%esi)
4292d8:	47                   	inc    %edi
4292d9:	83 c6 04             	add    $0x4,%esi
4292dc:	39 1e                	cmp    %ebx,(%esi)
4292de:	75 f3                	jne    0x4292d3
4292e0:	8b c7                	mov    %edi,%eax
4292e2:	c1 e0 02             	shl    $0x2,%eax
4292e5:	50                   	push   %eax
4292e6:	ff 35 24 c7 4a 00    	push   0x4ac724
4292ec:	e8 2a f0 fe ff       	call   0x41831b
4292f1:	3b c3                	cmp    %ebx,%eax
4292f3:	59                   	pop    %ecx
4292f4:	59                   	pop    %ecx
4292f5:	74 43                	je     0x42933a
4292f7:	eb 3c                	jmp    0x429335
4292f9:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4292fc:	0f 85 a3 00 00 00    	jne    0x4293a5
429302:	3b fb                	cmp    %ebx,%edi
429304:	7d 02                	jge    0x429308
429306:	f7 df                	neg    %edi
429308:	8d 04 bd 08 00 00 00 	lea    0x8(,%edi,4),%eax
42930f:	50                   	push   %eax
429310:	ff 35 24 c7 4a 00    	push   0x4ac724
429316:	e8 00 f0 fe ff       	call   0x41831b
42931b:	3b c3                	cmp    %ebx,%eax
42931d:	59                   	pop    %ecx
42931e:	59                   	pop    %ecx
42931f:	0f 84 34 ff ff ff    	je     0x429259
429325:	8b 55 fc             	mov    -0x4(%ebp),%edx
429328:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
42932b:	89 11                	mov    %edx,(%ecx)
42932d:	89 59 04             	mov    %ebx,0x4(%ecx)
429330:	8b 4d 08             	mov    0x8(%ebp),%ecx
429333:	89 19                	mov    %ebx,(%ecx)
429335:	a3 24 c7 4a 00       	mov    %eax,0x4ac724
42933a:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
42933d:	74 50                	je     0x42938f
42933f:	ff 75 fc             	push   -0x4(%ebp)
429342:	e8 a9 e8 fe ff       	call   0x417bf0
429347:	40                   	inc    %eax
429348:	40                   	inc    %eax
429349:	50                   	push   %eax
42934a:	e8 3d d0 fe ff       	call   0x41638c
42934f:	8b f0                	mov    %eax,%esi
429351:	3b f3                	cmp    %ebx,%esi
429353:	59                   	pop    %ecx
429354:	59                   	pop    %ecx
429355:	74 38                	je     0x42938f
429357:	ff 75 fc             	push   -0x4(%ebp)
42935a:	56                   	push   %esi
42935b:	e8 e0 8c ff ff       	call   0x422040
429360:	8b c6                	mov    %esi,%eax
429362:	2b 45 fc             	sub    -0x4(%ebp),%eax
429365:	59                   	pop    %ecx
429366:	03 45 f4             	add    -0xc(%ebp),%eax
429369:	59                   	pop    %ecx
42936a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42936d:	88 18                	mov    %bl,(%eax)
42936f:	40                   	inc    %eax
429370:	f7 d9                	neg    %ecx
429372:	1b c9                	sbb    %ecx,%ecx
429374:	f7 d1                	not    %ecx
429376:	23 c8                	and    %eax,%ecx
429378:	51                   	push   %ecx
429379:	56                   	push   %esi
42937a:	ff 15 d8 01 4b 00    	call   *0x4b01d8
429380:	85 c0                	test   %eax,%eax
429382:	75 04                	jne    0x429388
429384:	83 4d f0 ff          	orl    $0xffffffff,-0x10(%ebp)
429388:	56                   	push   %esi
429389:	e8 10 d0 fe ff       	call   0x41639e
42938e:	59                   	pop    %ecx
42938f:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
429392:	74 09                	je     0x42939d
429394:	ff 75 fc             	push   -0x4(%ebp)
429397:	e8 02 d0 fe ff       	call   0x41639e
42939c:	59                   	pop    %ecx
42939d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4293a0:	e9 b7 fe ff ff       	jmp    0x42925c
4293a5:	ff 75 fc             	push   -0x4(%ebp)
4293a8:	e8 f1 cf fe ff       	call   0x41639e
4293ad:	8b 45 08             	mov    0x8(%ebp),%eax
4293b0:	59                   	pop    %ecx
4293b1:	89 18                	mov    %ebx,(%eax)
4293b3:	e9 ae fe ff ff       	jmp    0x429266
4293b8:	6a 18                	push   $0x18
4293ba:	68 20 40 49 00       	push   $0x494020
4293bf:	e8 24 ee fe ff       	call   0x4181e8
4293c4:	33 ff                	xor    %edi,%edi
4293c6:	33 db                	xor    %ebx,%ebx
4293c8:	43                   	inc    %ebx
4293c9:	39 3d cc cb 4a 00    	cmp    %edi,0x4acbcc
4293cf:	75 2b                	jne    0x4293fc
4293d1:	57                   	push   %edi
4293d2:	57                   	push   %edi
4293d3:	53                   	push   %ebx
4293d4:	57                   	push   %edi
4293d5:	ff 15 dc 01 4b 00    	call   *0x4b01dc
4293db:	85 c0                	test   %eax,%eax
4293dd:	74 08                	je     0x4293e7
4293df:	89 1d cc cb 4a 00    	mov    %ebx,0x4acbcc
4293e5:	eb 15                	jmp    0x4293fc
4293e7:	ff 15 9c 03 4b 00    	call   *0x4b039c
4293ed:	83 f8 78             	cmp    $0x78,%eax
4293f0:	75 0a                	jne    0x4293fc
4293f2:	c7 05 cc cb 4a 00 02 	movl   $0x2,0x4acbcc
4293f9:	00 00 00
4293fc:	a1 cc cb 4a 00       	mov    0x4acbcc,%eax
429401:	3b c3                	cmp    %ebx,%eax
429403:	75 17                	jne    0x42941c
429405:	ff 75 14             	push   0x14(%ebp)
429408:	ff 75 10             	push   0x10(%ebp)
42940b:	ff 75 0c             	push   0xc(%ebp)
42940e:	ff 75 08             	push   0x8(%ebp)
429411:	ff 15 dc 01 4b 00    	call   *0x4b01dc
429417:	e9 c3 00 00 00       	jmp    0x4294df
42941c:	83 f8 02             	cmp    $0x2,%eax
42941f:	74 04                	je     0x429425
429421:	3b c7                	cmp    %edi,%eax
429423:	75 28                	jne    0x42944d
429425:	89 7d e4             	mov    %edi,-0x1c(%ebp)
429428:	89 7d dc             	mov    %edi,-0x24(%ebp)
42942b:	39 7d 18             	cmp    %edi,0x18(%ebp)
42942e:	75 08                	jne    0x429438
429430:	a1 34 cb 4a 00       	mov    0x4acb34,%eax
429435:	89 45 18             	mov    %eax,0x18(%ebp)
429438:	57                   	push   %edi
429439:	57                   	push   %edi
42943a:	ff 75 0c             	push   0xc(%ebp)
42943d:	ff 75 08             	push   0x8(%ebp)
429440:	ff 15 b0 03 4b 00    	call   *0x4b03b0
429446:	89 45 e0             	mov    %eax,-0x20(%ebp)
429449:	3b c7                	cmp    %edi,%eax
42944b:	75 07                	jne    0x429454
42944d:	33 c0                	xor    %eax,%eax
42944f:	e9 8b 00 00 00       	jmp    0x4294df
429454:	89 7d fc             	mov    %edi,-0x4(%ebp)
429457:	83 c0 03             	add    $0x3,%eax
42945a:	83 e0 fc             	and    $0xfffffffc,%eax
42945d:	e8 8e d2 fe ff       	call   0x4166f0
429462:	89 65 e8             	mov    %esp,-0x18(%ebp)
429465:	8b f4                	mov    %esp,%esi
429467:	89 75 d8             	mov    %esi,-0x28(%ebp)
42946a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42946e:	eb 17                	jmp    0x429487
429470:	33 c0                	xor    %eax,%eax
429472:	40                   	inc    %eax
429473:	c3                   	ret
429474:	8b 65 e8             	mov    -0x18(%ebp),%esp
429477:	e8 93 cf fe ff       	call   0x41640f
42947c:	33 ff                	xor    %edi,%edi
42947e:	33 f6                	xor    %esi,%esi
429480:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
429484:	33 db                	xor    %ebx,%ebx
429486:	43                   	inc    %ebx
429487:	3b f7                	cmp    %edi,%esi
429489:	75 12                	jne    0x42949d
42948b:	ff 75 e0             	push   -0x20(%ebp)
42948e:	e8 f9 ce fe ff       	call   0x41638c