41c1ec:	88 55 ff             	mov    %dl,-0x1(%ebp)
41c1ef:	0f 84 7d 01 00 00    	je     0x41c372
41c1f5:	8d 45 f0             	lea    -0x10(%ebp),%eax
41c1f8:	50                   	push   %eax
41c1f9:	8d 45 f8             	lea    -0x8(%ebp),%eax
41c1fc:	50                   	push   %eax
41c1fd:	68 b0 00 00 00       	push   $0xb0
41c202:	ff 35 04 5e 42 00    	push   0x425e04
41c208:	ff 15 bc 62 42 00    	call   *0x4262bc
41c20e:	33 f6                	xor    %esi,%esi
41c210:	56                   	push   %esi
41c211:	56                   	push   %esi
41c212:	6a 0e                	push   $0xe
41c214:	ff 35 04 5e 42 00    	push   0x425e04
41c21a:	ff 15 bc 62 42 00    	call   *0x4262bc
41c220:	39 75 f8             	cmp    %esi,-0x8(%ebp)
41c223:	75 0c                	jne    0x41c231
41c225:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c228:	2b c8                	sub    %eax,%ecx
41c22a:	f7 d9                	neg    %ecx
41c22c:	1b c9                	sbb    %ecx,%ecx
41c22e:	21 4d f0             	and    %ecx,-0x10(%ebp)
41c231:	56                   	push   %esi
41c232:	56                   	push   %esi
41c233:	68 bd 00 00 00       	push   $0xbd
41c238:	ff 35 04 5e 42 00    	push   0x425e04
41c23e:	ff 15 bc 62 42 00    	call   *0x4262bc
41c244:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c247:	85 c0                	test   %eax,%eax
41c249:	0f 84 23 01 00 00    	je     0x41c372
41c24f:	50                   	push   %eax
41c250:	ff 15 e8 60 42 00    	call   *0x4260e8
41c256:	8b d8                	mov    %eax,%ebx
41c258:	85 db                	test   %ebx,%ebx
41c25a:	0f 84 12 01 00 00    	je     0x41c372
41c260:	8b 7d f0             	mov    -0x10(%ebp),%edi
41c263:	8b cf                	mov    %edi,%ecx
41c265:	2b 4d f8             	sub    -0x8(%ebp),%ecx
41c268:	39 7d f8             	cmp    %edi,-0x8(%ebp)
41c26b:	89 75 ec             	mov    %esi,-0x14(%ebp)
41c26e:	1b c0                	sbb    %eax,%eax
41c270:	89 75 f4             	mov    %esi,-0xc(%ebp)
41c273:	23 c1                	and    %ecx,%eax
41c275:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41c279:	89 45 e8             	mov    %eax,-0x18(%ebp)
41c27c:	74 52                	je     0x41c2d0
41c27e:	39 7d f8             	cmp    %edi,-0x8(%ebp)
41c281:	74 01                	je     0x41c284
41c283:	4f                   	dec    %edi
41c284:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c287:	8b d7                	mov    %edi,%edx
41c289:	50                   	push   %eax
41c28a:	51                   	push   %ecx
41c28b:	51                   	push   %ecx
41c28c:	8b cb                	mov    %ebx,%ecx
41c28e:	e8 b6 fe ff ff       	call   0x41c149
41c293:	80 3d 11 5e 42 00 00 	cmpb   $0x0,0x425e11
41c29a:	8b f0                	mov    %eax,%esi
41c29c:	74 7e                	je     0x41c31c
41c29e:	85 f6                	test   %esi,%esi
41c2a0:	75 7a                	jne    0x41c31c
41c2a2:	ff 35 04 5e 42 00    	push   0x425e04
41c2a8:	ff 15 90 62 42 00    	call   *0x426290
41c2ae:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41c2b1:	8b d0                	mov    %eax,%edx
41c2b3:	8b c1                	mov    %ecx,%eax
41c2b5:	2b c7                	sub    %edi,%eax
41c2b7:	2b f9                	sub    %ecx,%edi
41c2b9:	03 d0                	add    %eax,%edx
41c2bb:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c2be:	50                   	push   %eax
41c2bf:	51                   	push   %ecx
41c2c0:	51                   	push   %ecx
41c2c1:	8d 0c 7b             	lea    (%ebx,%edi,2),%ecx
41c2c4:	e8 80 fe ff ff       	call   0x41c149
41c2c9:	33 ff                	xor    %edi,%edi
41c2cb:	8b f0                	mov    %eax,%esi
41c2cd:	47                   	inc    %edi
41c2ce:	eb 4f                	jmp    0x41c31f
41c2d0:	ff 35 04 5e 42 00    	push   0x425e04
41c2d6:	8d 34 7b             	lea    (%ebx,%edi,2),%esi
41c2d9:	ff 15 90 62 42 00    	call   *0x426290
41c2df:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41c2e2:	2b c7                	sub    %edi,%eax
41c2e4:	51                   	push   %ecx
41c2e5:	51                   	push   %ecx
41c2e6:	68 00 5d 42 00       	push   $0x425d00
41c2eb:	8b d0                	mov    %eax,%edx
41c2ed:	8b ce                	mov    %esi,%ecx
41c2ef:	e8 9e fe ff ff       	call   0x41c192
41c2f4:	80 3d 11 5e 42 00 00 	cmpb   $0x0,0x425e11
41c2fb:	8b f0                	mov    %eax,%esi
41c2fd:	74 1d                	je     0x41c31c
41c2ff:	85 f6                	test   %esi,%esi
41c301:	75 19                	jne    0x41c31c
41c303:	8b 55 e8             	mov    -0x18(%ebp),%edx
41c306:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c309:	50                   	push   %eax
41c30a:	51                   	push   %ecx
41c30b:	68 00 5d 42 00       	push   $0x425d00
41c310:	8d 14 17             	lea    (%edi,%edx,1),%edx
41c313:	8b cb                	mov    %ebx,%ecx
41c315:	e8 78 fe ff ff       	call   0x41c192
41c31a:	eb ad                	jmp    0x41c2c9
41c31c:	8b 7d ec             	mov    -0x14(%ebp),%edi
41c31f:	ff 75 e4             	push   -0x1c(%ebp)
41c322:	ff 15 f0 60 42 00    	call   *0x4260f0
41c328:	85 f6                	test   %esi,%esi
41c32a:	75 4d                	jne    0x41c379
41c32c:	f6 05 a0 4e 42 00 20 	testb  $0x20,0x424ea0
41c333:	75 3d                	jne    0x41c372
41c335:	ff 35 3c 4f 42 00    	push   0x424f3c
41c33b:	ff 15 dc 61 42 00    	call   *0x4261dc
41c341:	8b 0d 00 5e 42 00    	mov    0x425e00,%ecx
41c347:	8b f0                	mov    %eax,%esi
41c349:	85 c9                	test   %ecx,%ecx
41c34b:	75 06                	jne    0x41c353
41c34d:	8b 0d 0c 5e 42 00    	mov    0x425e0c,%ecx
41c353:	8b 15 f0 42 42 00    	mov    0x4242f0,%edx
41c359:	6a 40                	push   $0x40
41c35b:	68 00 5d 42 00       	push   $0x425d00
41c360:	ff 35 fc 42 42 00    	push   0x4242fc
41c366:	e8 a8 18 ff ff       	call   0x40dc13
41c36b:	56                   	push   %esi
41c36c:	ff 15 dc 61 42 00    	call   *0x4261dc
41c372:	32 c0                	xor    %al,%al
41c374:	5f                   	pop    %edi
41c375:	5e                   	pop    %esi
41c376:	5b                   	pop    %ebx
41c377:	c9                   	leave
41c378:	c3                   	ret
41c379:	8b 45 f4             	mov    -0xc(%ebp),%eax
41c37c:	2b f3                	sub    %ebx,%esi
41c37e:	d1 fe                	sar    $1,%esi
41c380:	03 c6                	add    %esi,%eax
41c382:	89 75 f8             	mov    %esi,-0x8(%ebp)
41c385:	50                   	push   %eax
41c386:	56                   	push   %esi
41c387:	68 b1 00 00 00       	push   $0xb1
41c38c:	ff 35 04 5e 42 00    	push   0x425e04
41c392:	ff 15 bc 62 42 00    	call   *0x4262bc
41c398:	f6 05 a0 4e 42 00 20 	testb  $0x20,0x424ea0
41c39f:	75 15                	jne    0x41c3b6
41c3a1:	6a 00                	push   $0x0
41c3a3:	6a 00                	push   $0x0
41c3a5:	68 b7 00 00 00       	push   $0xb7
41c3aa:	ff 35 04 5e 42 00    	push   0x425e04
41c3b0:	ff 15 bc 62 42 00    	call   *0x4262bc
41c3b6:	85 ff                	test   %edi,%edi
41c3b8:	74 16                	je     0x41c3d0
41c3ba:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41c3be:	74 08                	je     0x41c3c8
41c3c0:	8b 0d 60 42 42 00    	mov    0x424260,%ecx
41c3c6:	eb 0d                	jmp    0x41c3d5
41c3c8:	8b 0d 5c 42 42 00    	mov    0x42425c,%ecx
41c3ce:	eb 05                	jmp    0x41c3d5
41c3d0:	b9 94 1f 40 00       	mov    $0x401f94,%ecx
41c3d5:	e8 81 13 ff ff       	call   0x40d75b
41c3da:	b0 01                	mov    $0x1,%al
41c3dc:	eb 96                	jmp    0x41c374
41c3de:	8b ff                	mov    %edi,%edi
41c3e0:	55                   	push   %ebp
41c3e1:	8b ec                	mov    %esp,%ebp
41c3e3:	51                   	push   %ecx
41c3e4:	51                   	push   %ecx
41c3e5:	56                   	push   %esi
41c3e6:	57                   	push   %edi
41c3e7:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c3ea:	33 f6                	xor    %esi,%esi
41c3ec:	50                   	push   %eax
41c3ed:	8d 45 f8             	lea    -0x8(%ebp),%eax
41c3f0:	89 75 f8             	mov    %esi,-0x8(%ebp)
41c3f3:	50                   	push   %eax
41c3f4:	68 b0 00 00 00       	push   $0xb0
41c3f9:	ff 35 04 5e 42 00    	push   0x425e04
41c3ff:	89 75 fc             	mov    %esi,-0x4(%ebp)
41c402:	ff 15 bc 62 42 00    	call   *0x4262bc
41c408:	56                   	push   %esi
41c409:	56                   	push   %esi
41c40a:	68 bd 00 00 00       	push   $0xbd
41c40f:	ff 35 04 5e 42 00    	push   0x425e04
41c415:	ff 15 bc 62 42 00    	call   *0x4262bc
41c41b:	8b f8                	mov    %eax,%edi
41c41d:	85 ff                	test   %edi,%edi
41c41f:	74 4b                	je     0x41c46c
41c421:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c424:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
41c427:	76 43                	jbe    0x41c46c
41c429:	57                   	push   %edi
41c42a:	ff 15 e8 60 42 00    	call   *0x4260e8
41c430:	85 c0                	test   %eax,%eax
41c432:	74 38                	je     0x41c46c
41c434:	8b 75 fc             	mov    -0x4(%ebp),%esi
41c437:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c43a:	2b f1                	sub    %ecx,%esi
41c43c:	83 fe 7f             	cmp    $0x7f,%esi
41c43f:	72 03                	jb     0x41c444
41c441:	6a 7f                	push   $0x7f
41c443:	5e                   	pop    %esi
41c444:	03 f6                	add    %esi,%esi
41c446:	8d 04 48             	lea    (%eax,%ecx,2),%eax
41c449:	56                   	push   %esi
41c44a:	50                   	push   %eax
41c44b:	68 00 5d 42 00       	push   $0x425d00
41c450:	e8 2e 67 00 00       	call   0x422b83
41c455:	83 c4 0c             	add    $0xc,%esp
41c458:	33 c0                	xor    %eax,%eax
41c45a:	66 89 86 00 5d 42 00 	mov    %ax,0x425d00(%esi)
41c461:	57                   	push   %edi
41c462:	ff 15 f0 60 42 00    	call   *0x4260f0
41c468:	b0 01                	mov    $0x1,%al
41c46a:	eb 02                	jmp    0x41c46e
41c46c:	32 c0                	xor    %al,%al
41c46e:	5f                   	pop    %edi
41c46f:	5e                   	pop    %esi
41c470:	c9                   	leave
41c471:	c3                   	ret
41c472:	8b ff                	mov    %edi,%edi
41c474:	55                   	push   %ebp
41c475:	8b ec                	mov    %esp,%ebp
41c477:	83 ec 3c             	sub    $0x3c,%esp
41c47a:	a1 10 42 42 00       	mov    0x424210,%eax
41c47f:	33 c5                	xor    %ebp,%eax
41c481:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c484:	53                   	push   %ebx
41c485:	56                   	push   %esi
41c486:	57                   	push   %edi
41c487:	ff 35 38 4f 42 00    	push   0x424f38
41c48d:	8b d9                	mov    %ecx,%ebx
41c48f:	ff 15 dc 61 42 00    	call   *0x4261dc
41c495:	8b f8                	mov    %eax,%edi
41c497:	f7 c3 00 00 10 00    	test   $0x100000,%ebx
41c49d:	74 08                	je     0x41c4a7
41c49f:	33 c9                	xor    %ecx,%ecx
41c4a1:	41                   	inc    %ecx
41c4a2:	e8 e4 ea fe ff       	call   0x40af8b
41c4a7:	8d 45 cc             	lea    -0x34(%ebp),%eax
41c4aa:	50                   	push   %eax
41c4ab:	8d 45 c8             	lea    -0x38(%ebp),%eax
41c4ae:	50                   	push   %eax
41c4af:	68 e0 04 00 00       	push   $0x4e0
41c4b4:	ff 35 04 5e 42 00    	push   0x425e04
41c4ba:	ff 15 bc 62 42 00    	call   *0x4262bc
41c4c0:	33 f6                	xor    %esi,%esi
41c4c2:	56                   	push   %esi
41c4c3:	56                   	push   %esi
41c4c4:	68 b8 00 00 00       	push   $0xb8
41c4c9:	ff 35 04 5e 42 00    	push   0x425e04
41c4cf:	ff 15 bc 62 42 00    	call   *0x4262bc
41c4d5:	56                   	push   %esi
41c4d6:	f7 d8                	neg    %eax
41c4d8:	56                   	push   %esi
41c4d9:	1b c0                	sbb    %eax,%eax
41c4db:	6a 0e                	push   $0xe
41c4dd:	ff 35 04 5e 42 00    	push   0x425e04
41c4e3:	f7 d8                	neg    %eax
41c4e5:	89 45 d0             	mov    %eax,-0x30(%ebp)
41c4e8:	ff 15 bc 62 42 00    	call   *0x4262bc
41c4ee:	89 45 d8             	mov    %eax,-0x28(%ebp)
41c4f1:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
41c4f8:	51                   	push   %ecx
41c4f9:	6a 02                	push   $0x2
41c4fb:	ff 15 bc 60 42 00    	call   *0x4260bc
41c501:	8b f0                	mov    %eax,%esi
41c503:	85 f6                	test   %esi,%esi
41c505:	75 0e                	jne    0x41c515
41c507:	57                   	push   %edi
41c508:	ff 15 dc 61 42 00    	call   *0x4261dc
41c50e:	33 c0                	xor    %eax,%eax
41c510:	e9 63 01 00 00       	jmp    0x41c678
41c515:	8d 45 dc             	lea    -0x24(%ebp),%eax
41c518:	50                   	push   %eax
41c519:	ff 35 0c 5e 42 00    	push   0x425e0c
41c51f:	ff 15 c4 62 42 00    	call   *0x4262c4
41c525:	56                   	push   %esi
41c526:	ff 15 e8 60 42 00    	call   *0x4260e8
41c52c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41c52f:	50                   	push   %eax
41c530:	41                   	inc    %ecx
41c531:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41c534:	51                   	push   %ecx
41c535:	6a 0d                	push   $0xd
41c537:	ff 35 04 5e 42 00    	push   0x425e04
41c53d:	ff 15 bc 62 42 00    	call   *0x4262bc
41c543:	ff 35 30 4f 42 00    	push   0x424f30
41c549:	8b 55 e8             	mov    -0x18(%ebp),%edx
41c54c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41c54f:	53                   	push   %ebx
41c550:	e8 0e 5d ff ff       	call   0x412263
41c555:	8b d8                	mov    %eax,%ebx
41c557:	85 db                	test   %ebx,%ebx
41c559:	75 17                	jne    0x41c572
41c55b:	57                   	push   %edi
41c55c:	ff 15 dc 61 42 00    	call   *0x4261dc
41c562:	56                   	push   %esi
41c563:	ff 15 f0 60 42 00    	call   *0x4260f0
41c569:	56                   	push   %esi
41c56a:	ff 15 c0 60 42 00    	call   *0x4260c0
41c570:	eb 9c                	jmp    0x41c50e
41c572:	6a ec                	push   $0xffffffec
41c574:	ff 35 04 5e 42 00    	push   0x425e04
41c57a:	ff 15 94 62 42 00    	call   *0x426294
41c580:	50                   	push   %eax
41c581:	6a ec                	push   $0xffffffec
41c583:	53                   	push   %ebx
41c584:	ff 15 78 62 42 00    	call   *0x426278
41c58a:	6a 01                	push   $0x1
41c58c:	ff 35 2c 4f 42 00    	push   0x424f2c
41c592:	6a 30                	push   $0x30
41c594:	53                   	push   %ebx
41c595:	ff 15 bc 62 42 00    	call   *0x4262bc
41c59b:	ff 75 d4             	push   -0x2c(%ebp)
41c59e:	6a 00                	push   $0x0
41c5a0:	6a 0c                	push   $0xc
41c5a2:	53                   	push   %ebx
41c5a3:	ff 15 bc 62 42 00    	call   *0x4262bc
41c5a9:	85 c0                	test   %eax,%eax
41c5ab:	75 10                	jne    0x41c5bd
41c5ad:	57                   	push   %edi
41c5ae:	ff 15 dc 61 42 00    	call   *0x4261dc
41c5b4:	53                   	push   %ebx
41c5b5:	ff 15 fc 61 42 00    	call   *0x4261fc
41c5bb:	eb a5                	jmp    0x41c562
41c5bd:	56                   	push   %esi
41c5be:	ff 15 f0 60 42 00    	call   *0x4260f0
41c5c4:	56                   	push   %esi
41c5c5:	ff 15 c0 60 42 00    	call   *0x4260c0
41c5cb:	8b cb                	mov    %ebx,%ecx
41c5cd:	e8 c0 5c ff ff       	call   0x412292
41c5d2:	33 db                	xor    %ebx,%ebx
41c5d4:	53                   	push   %ebx
41c5d5:	53                   	push   %ebx
41c5d6:	68 bd 00 00 00       	push   $0xbd
41c5db:	ff 35 04 5e 42 00    	push   0x425e04
41c5e1:	ff 15 bc 62 42 00    	call   *0x4262bc
41c5e7:	6a 05                	push   $0x5
41c5e9:	ff 35 0c 5e 42 00    	push   0x425e0c
41c5ef:	a3 40 4f 42 00       	mov    %eax,0x424f40
41c5f4:	ff 15 d0 61 42 00    	call   *0x4261d0
41c5fa:	53                   	push   %ebx
41c5fb:	ff 75 d0             	push   -0x30(%ebp)
41c5fe:	68 b9 00 00 00       	push   $0xb9
41c603:	ff 35 04 5e 42 00    	push   0x425e04
41c609:	ff 15 bc 62 42 00    	call   *0x4262bc
41c60f:	ff 75 cc             	push   -0x34(%ebp)
41c612:	ff 75 c8             	push   -0x38(%ebp)
41c615:	68 e1 04 00 00       	push   $0x4e1
41c61a:	ff 35 04 5e 42 00    	push   0x425e04
41c620:	ff 15 bc 62 42 00    	call   *0x4262bc
41c626:	ff 35 04 5e 42 00    	push   0x425e04