41b2bb:	57                   	push   %edi
41b2bc:	1b ff                	sbb    %edi,%edi
41b2be:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41b2c1:	f7 d7                	not    %edi
41b2c3:	23 f8                	and    %eax,%edi
41b2c5:	74 1e                	je     0x41b2e5
41b2c7:	0f b6 06             	movzbl (%esi),%eax
41b2ca:	50                   	push   %eax
41b2cb:	e8 1e 00 00 00       	call   0x41b2ee
41b2d0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b2d3:	46                   	inc    %esi
41b2d4:	66 89 03             	mov    %ax,(%ebx)
41b2d7:	8d 5b 02             	lea    0x2(%ebx),%ebx
41b2da:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b2dd:	40                   	inc    %eax
41b2de:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b2e1:	3b c7                	cmp    %edi,%eax
41b2e3:	75 e2                	jne    0x41b2c7
41b2e5:	5f                   	pop    %edi
41b2e6:	8b c6                	mov    %esi,%eax
41b2e8:	5e                   	pop    %esi
41b2e9:	5b                   	pop    %ebx
41b2ea:	c9                   	leave
41b2eb:	c2 0c 00             	ret    $0xc
41b2ee:	8b ff                	mov    %edi,%edi
41b2f0:	55                   	push   %ebp
41b2f1:	8b ec                	mov    %esp,%ebp
41b2f3:	51                   	push   %ecx
41b2f4:	51                   	push   %ecx
41b2f5:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41b2f9:	8d 41 18             	lea    0x18(%ecx),%eax
41b2fc:	50                   	push   %eax
41b2fd:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b300:	50                   	push   %eax
41b301:	6a 01                	push   $0x1
41b303:	8d 45 08             	lea    0x8(%ebp),%eax
41b306:	50                   	push   %eax
41b307:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b30a:	50                   	push   %eax
41b30b:	e8 fa 2d 07 00       	call   0x48e10a
41b310:	83 c4 14             	add    $0x14,%esp
41b313:	85 c0                	test   %eax,%eax
41b315:	b8 ff ff 00 00       	mov    $0xffff,%eax
41b31a:	78 04                	js     0x41b320
41b31c:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
41b320:	c9                   	leave
41b321:	c2 04 00             	ret    $0x4
41b324:	cc                   	int3
41b325:	cc                   	int3
41b326:	cc                   	int3
41b327:	cc                   	int3
41b328:	cc                   	int3
41b329:	cc                   	int3
41b32a:	cc                   	int3
41b32b:	cc                   	int3
41b32c:	cc                   	int3
41b32d:	cc                   	int3
41b32e:	cc                   	int3
41b32f:	cc                   	int3
41b330:	8b ff                	mov    %edi,%edi
41b332:	55                   	push   %ebp
41b333:	8b ec                	mov    %esp,%ebp
41b335:	5d                   	pop    %ebp
41b336:	e9 b3 ff ff ff       	jmp    0x41b2ee
41b33b:	cc                   	int3
41b33c:	cc                   	int3
41b33d:	cc                   	int3
41b33e:	cc                   	int3
41b33f:	cc                   	int3
41b340:	8b ff                	mov    %edi,%edi
41b342:	55                   	push   %ebp
41b343:	8b ec                	mov    %esp,%ebp
41b345:	51                   	push   %ecx
41b346:	51                   	push   %ecx
41b347:	8b 45 0c             	mov    0xc(%ebp),%eax
41b34a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b34e:	53                   	push   %ebx
41b34f:	8b 5d 14             	mov    0x14(%ebp),%ebx
41b352:	56                   	push   %esi
41b353:	8b 75 08             	mov    0x8(%ebp),%esi
41b356:	2b c6                	sub    %esi,%eax
41b358:	40                   	inc    %eax
41b359:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41b35c:	d1 e8                	shr    $1,%eax
41b35e:	39 75 0c             	cmp    %esi,0xc(%ebp)
41b361:	57                   	push   %edi
41b362:	1b ff                	sbb    %edi,%edi
41b364:	f7 d7                	not    %edi
41b366:	23 f8                	and    %eax,%edi
41b368:	74 20                	je     0x41b38a
41b36a:	ff 75 10             	push   0x10(%ebp)
41b36d:	0f b7 06             	movzwl (%esi),%eax
41b370:	50                   	push   %eax
41b371:	e8 1d 00 00 00       	call   0x41b393
41b376:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b379:	83 c6 02             	add    $0x2,%esi
41b37c:	88 03                	mov    %al,(%ebx)
41b37e:	43                   	inc    %ebx
41b37f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b382:	40                   	inc    %eax
41b383:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b386:	3b c7                	cmp    %edi,%eax
41b388:	75 e0                	jne    0x41b36a
41b38a:	5f                   	pop    %edi
41b38b:	8b c6                	mov    %esi,%eax
41b38d:	5e                   	pop    %esi
41b38e:	5b                   	pop    %ebx
41b38f:	c9                   	leave
41b390:	c2 10 00             	ret    $0x10
41b393:	8b ff                	mov    %edi,%edi
41b395:	55                   	push   %ebp
41b396:	8b ec                	mov    %esp,%ebp
41b398:	83 ec 10             	sub    $0x10,%esp
41b39b:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41b3a0:	33 c5                	xor    %ebp,%eax
41b3a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b3a5:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41b3a9:	8d 41 18             	lea    0x18(%ecx),%eax
41b3ac:	50                   	push   %eax
41b3ad:	8d 45 f0             	lea    -0x10(%ebp),%eax
41b3b0:	50                   	push   %eax
41b3b1:	ff 75 08             	push   0x8(%ebp)
41b3b4:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b3b7:	50                   	push   %eax
41b3b8:	e8 48 2c 07 00       	call   0x48e005
41b3bd:	83 c4 10             	add    $0x10,%esp
41b3c0:	83 f8 01             	cmp    $0x1,%eax
41b3c3:	8a 45 0c             	mov    0xc(%ebp),%al
41b3c6:	75 03                	jne    0x41b3cb
41b3c8:	8a 45 f4             	mov    -0xc(%ebp),%al
41b3cb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b3ce:	33 cd                	xor    %ebp,%ecx
41b3d0:	e8 2b 4b 07 00       	call   0x48ff00
41b3d5:	c9                   	leave
41b3d6:	c2 08 00             	ret    $0x8
41b3d9:	cc                   	int3
41b3da:	cc                   	int3
41b3db:	cc                   	int3
41b3dc:	cc                   	int3
41b3dd:	cc                   	int3
41b3de:	cc                   	int3
41b3df:	cc                   	int3
41b3e0:	8b ff                	mov    %edi,%edi
41b3e2:	55                   	push   %ebp
41b3e3:	8b ec                	mov    %esp,%ebp
41b3e5:	5d                   	pop    %ebp
41b3e6:	e9 a8 ff ff ff       	jmp    0x41b393
41b3eb:	6a 04                	push   $0x4
41b3ed:	b8 60 13 49 00       	mov    $0x491360,%eax
41b3f2:	e8 dc 50 07 00       	call   0x4904d3
41b3f7:	8b f1                	mov    %ecx,%esi
41b3f9:	89 75 f0             	mov    %esi,-0x10(%ebp)
41b3fc:	33 db                	xor    %ebx,%ebx
41b3fe:	53                   	push   %ebx
41b3ff:	e8 ac 27 07 00       	call   0x48dbb0
41b404:	6a 0f                	push   $0xf
41b406:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41b409:	58                   	pop    %eax
41b40a:	89 46 1c             	mov    %eax,0x1c(%esi)
41b40d:	89 5e 18             	mov    %ebx,0x18(%esi)
41b410:	88 5e 08             	mov    %bl,0x8(%esi)
41b413:	89 46 38             	mov    %eax,0x38(%esi)
41b416:	89 5e 34             	mov    %ebx,0x34(%esi)
41b419:	88 5e 24             	mov    %bl,0x24(%esi)
41b41c:	89 46 54             	mov    %eax,0x54(%esi)
41b41f:	89 5e 50             	mov    %ebx,0x50(%esi)
41b422:	88 5e 40             	mov    %bl,0x40(%esi)
41b425:	89 46 70             	mov    %eax,0x70(%esi)
41b428:	89 5e 6c             	mov    %ebx,0x6c(%esi)
41b42b:	88 5e 5c             	mov    %bl,0x5c(%esi)
41b42e:	68 d4 f9 40 00       	push   $0x40f9d4
41b433:	56                   	push   %esi
41b434:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
41b438:	e8 4a 2a 07 00       	call   0x48de87
41b43d:	59                   	pop    %ecx
41b43e:	59                   	pop    %ecx
41b43f:	8b c6                	mov    %esi,%eax
41b441:	e8 5b 50 07 00       	call   0x4904a1
41b446:	c2 04 00             	ret    $0x4
41b449:	8b ff                	mov    %edi,%edi
41b44b:	55                   	push   %ebp
41b44c:	8b ec                	mov    %esp,%ebp
41b44e:	6a ff                	push   $0xffffffff
41b450:	68 7b 13 49 00       	push   $0x49137b
41b455:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41b45b:	50                   	push   %eax
41b45c:	53                   	push   %ebx
41b45d:	56                   	push   %esi
41b45e:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41b463:	33 c5                	xor    %ebp,%eax
41b465:	50                   	push   %eax
41b466:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b469:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41b46f:	8b f1                	mov    %ecx,%esi
41b471:	56                   	push   %esi
41b472:	e8 5f 2a 07 00       	call   0x48ded6
41b477:	59                   	pop    %ecx
41b478:	33 db                	xor    %ebx,%ebx
41b47a:	8d 4e 58             	lea    0x58(%esi),%ecx
41b47d:	53                   	push   %ebx
41b47e:	6a 01                	push   $0x1
41b480:	e8 34 0e 00 00       	call   0x41c2b9
41b485:	53                   	push   %ebx
41b486:	6a 01                	push   $0x1
41b488:	8d 4e 3c             	lea    0x3c(%esi),%ecx
41b48b:	e8 29 0e 00 00       	call   0x41c2b9
41b490:	53                   	push   %ebx
41b491:	6a 01                	push   $0x1
41b493:	8d 4e 20             	lea    0x20(%esi),%ecx
41b496:	e8 1e 0e 00 00       	call   0x41c2b9
41b49b:	53                   	push   %ebx
41b49c:	6a 01                	push   $0x1
41b49e:	8d 4e 04             	lea    0x4(%esi),%ecx
41b4a1:	e8 13 0e 00 00       	call   0x41c2b9
41b4a6:	8b ce                	mov    %esi,%ecx
41b4a8:	e8 50 27 07 00       	call   0x48dbfd
41b4ad:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41b4b0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41b4b7:	59                   	pop    %ecx
41b4b8:	5e                   	pop    %esi
41b4b9:	5b                   	pop    %ebx
41b4ba:	c9                   	leave
41b4bb:	c3                   	ret
41b4bc:	68 90 00 00 00       	push   $0x90
41b4c1:	b8 a1 13 49 00       	mov    $0x4913a1,%eax
41b4c6:	e8 3b 50 07 00       	call   0x490506
41b4cb:	8b d9                	mov    %ecx,%ebx
41b4cd:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
41b4d3:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
41b4d9:	83 63 04 00          	andl   $0x0,0x4(%ebx)
41b4dd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b4e1:	51                   	push   %ecx
41b4e2:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
41b4e8:	c7 03 cc 10 40 00    	movl   $0x4010cc,(%ebx)
41b4ee:	e8 f8 fe ff ff       	call   0x41b3eb
41b4f3:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
41b4f9:	50                   	push   %eax
41b4fa:	e8 aa 2b 07 00       	call   0x48e0a9
41b4ff:	8b f0                	mov    %eax,%esi
41b501:	8d 7b 08             	lea    0x8(%ebx),%edi
41b504:	59                   	pop    %ecx
41b505:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b506:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b507:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b508:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b509:	e8 83 2b 07 00       	call   0x48e091
41b50e:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
41b514:	89 43 18             	mov    %eax,0x18(%ebx)
41b517:	89 53 1c             	mov    %edx,0x1c(%ebx)
41b51a:	e8 2a ff ff ff       	call   0x41b449
41b51f:	8b c3                	mov    %ebx,%eax
41b521:	e8 8f 4f 07 00       	call   0x4904b5
41b526:	c2 04 00             	ret    $0x4
41b529:	cc                   	int3
41b52a:	cc                   	int3
41b52b:	cc                   	int3
41b52c:	cc                   	int3
41b52d:	cc                   	int3
41b52e:	cc                   	int3
41b52f:	cc                   	int3
41b530:	8b ff                	mov    %edi,%edi
41b532:	55                   	push   %ebp
41b533:	8b ec                	mov    %esp,%ebp
41b535:	56                   	push   %esi
41b536:	8b f1                	mov    %ecx,%esi
41b538:	ff 15 bc 80 4a 00    	call   *0x4a80bc
41b53e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41b542:	74 08                	je     0x41b54c
41b544:	56                   	push   %esi
41b545:	ff 15 10 74 4a 00    	call   *0x4a7410
41b54b:	59                   	pop    %ecx
41b54c:	8b c6                	mov    %esi,%eax
41b54e:	5e                   	pop    %esi
41b54f:	5d                   	pop    %ebp
41b550:	c2 04 00             	ret    $0x4
41b553:	cc                   	int3
41b554:	cc                   	int3
41b555:	cc                   	int3
41b556:	cc                   	int3
41b557:	cc                   	int3
41b558:	cc                   	int3
41b559:	cc                   	int3
41b55a:	cc                   	int3
41b55b:	cc                   	int3
41b55c:	cc                   	int3
41b55d:	cc                   	int3
41b55e:	cc                   	int3
41b55f:	cc                   	int3
41b560:	8b ff                	mov    %edi,%edi
41b562:	55                   	push   %ebp
41b563:	8b ec                	mov    %esp,%ebp
41b565:	83 ec 0c             	sub    $0xc,%esp
41b568:	51                   	push   %ecx
41b569:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41b56c:	ff 15 c0 80 4a 00    	call   *0x4a80c0
41b572:	68 44 ea 49 00       	push   $0x49ea44
41b577:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b57a:	50                   	push   %eax
41b57b:	e8 1b 4f 07 00       	call   0x49049b
41b580:	cc                   	int3
41b581:	8b ff                	mov    %edi,%edi
41b583:	55                   	push   %ebp
41b584:	8b ec                	mov    %esp,%ebp
41b586:	51                   	push   %ecx
41b587:	56                   	push   %esi
41b588:	8b f1                	mov    %ecx,%esi
41b58a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b58d:	89 75 fc             	mov    %esi,-0x4(%ebp)
41b590:	50                   	push   %eax
41b591:	c7 45 fc d8 f9 40 00 	movl   $0x40f9d8,-0x4(%ebp)
41b598:	ff 15 c8 80 4a 00    	call   *0x4a80c8
41b59e:	c7 06 04 11 40 00    	movl   $0x401104,(%esi)
41b5a4:	8b c6                	mov    %esi,%eax
41b5a6:	5e                   	pop    %esi
41b5a7:	c9                   	leave
41b5a8:	c2 04 00             	ret    $0x4
41b5ab:	6a 08                	push   $0x8
41b5ad:	b8 dc 13 49 00       	mov    $0x4913dc,%eax
41b5b2:	e8 1c 4f 07 00       	call   0x4904d3
41b5b7:	8b f1                	mov    %ecx,%esi
41b5b9:	6a 00                	push   $0x0
41b5bb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41b5be:	e8 ed 25 07 00       	call   0x48dbb0
41b5c3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b5c7:	b9 88 42 4a 00       	mov    $0x4a4288,%ecx
41b5cc:	8b 3d 28 47 4a 00    	mov    0x4a4728,%edi
41b5d2:	e8 4f fa ff ff       	call   0x41b026
41b5d7:	50                   	push   %eax
41b5d8:	8b ce                	mov    %esi,%ecx
41b5da:	e8 7e fa ff ff       	call   0x41b05d
41b5df:	8b f0                	mov    %eax,%esi
41b5e1:	85 f6                	test   %esi,%esi
41b5e3:	75 42                	jne    0x41b627
41b5e5:	85 ff                	test   %edi,%edi
41b5e7:	74 04                	je     0x41b5ed
41b5e9:	8b f7                	mov    %edi,%esi
41b5eb:	eb 3a                	jmp    0x41b627
41b5ed:	6a 20                	push   $0x20
41b5ef:	ff 15 14 74 4a 00    	call   *0x4a7414
41b5f5:	59                   	pop    %ecx
41b5f6:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b5f9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41b5fd:	85 c0                	test   %eax,%eax
41b5ff:	74 0c                	je     0x41b60d
41b601:	51                   	push   %ecx
41b602:	8b c8                	mov    %eax,%ecx
41b604:	e8 b3 fe ff ff       	call   0x41b4bc
41b609:	8b f0                	mov    %eax,%esi
41b60b:	eb 02                	jmp    0x41b60f
41b60d:	33 f6                	xor    %esi,%esi