43b256:	8b 5c 24 20          	mov    0x20(%esp),%ebx
43b25a:	33 f6                	xor    %esi,%esi
43b25c:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b260:	89 74 24 30          	mov    %esi,0x30(%esp)
43b264:	39 74 24 28          	cmp    %esi,0x28(%esp)
43b268:	74 0a                	je     0x43b274
43b26a:	bb 00 00 00 80       	mov    $0x80000000,%ebx
43b26f:	8d 7e 01             	lea    0x1(%esi),%edi
43b272:	eb 41                	jmp    0x43b2b5
43b274:	8b fb                	mov    %ebx,%edi
43b276:	81 e7 00 00 04 00    	and    $0x40000,%edi
43b27c:	f7 c3 00 00 02 00    	test   $0x20000,%ebx
43b282:	74 07                	je     0x43b28b
43b284:	bb 00 00 00 c0       	mov    $0xc0000000,%ebx
43b289:	eb 12                	jmp    0x43b29d
43b28b:	8b df                	mov    %edi,%ebx
43b28d:	f7 db                	neg    %ebx
43b28f:	1b db                	sbb    %ebx,%ebx
43b291:	81 e3 00 00 ff bf    	and    $0xbfff0000,%ebx
43b297:	81 c3 00 00 01 c0    	add    $0xc0010000,%ebx
43b29d:	f7 44 24 20 00 00 02 	testl  $0x20000,0x20(%esp)
43b2a4:	00
43b2a5:	74 07                	je     0x43b2ae
43b2a7:	bf 01 00 00 00       	mov    $0x1,%edi
43b2ac:	eb 07                	jmp    0x43b2b5
43b2ae:	f7 df                	neg    %edi
43b2b0:	1b ff                	sbb    %edi,%edi
43b2b2:	83 e7 03             	and    $0x3,%edi
43b2b5:	39 35 68 1a 45 00    	cmp    %esi,0x451a68
43b2bb:	0f 84 c9 00 00 00    	je     0x43b38a
43b2c1:	39 35 6c 1a 45 00    	cmp    %esi,0x451a6c
43b2c7:	0f 85 bd 00 00 00    	jne    0x43b38a
43b2cd:	39 35 a4 14 45 00    	cmp    %esi,0x4514a4
43b2d3:	0f 84 b1 00 00 00    	je     0x43b38a
43b2d9:	39 35 64 1a 45 00    	cmp    %esi,0x451a64
43b2df:	74 12                	je     0x43b2f3
43b2e1:	ff 15 b4 21 45 00    	call   *0x4521b4
43b2e7:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
43b2ed:	0f 85 97 00 00 00    	jne    0x43b38a
43b2f3:	e8 38 ee fe ff       	call   0x42a130
43b2f8:	85 c0                	test   %eax,%eax
43b2fa:	74 03                	je     0x43b2ff
43b2fc:	ff 40 18             	incl   0x18(%eax)
43b2ff:	81 7c 24 1c 00 00 00 	cmpl   $0x10000000,0x1c(%esp)
43b306:	10
43b307:	b9 88 29 41 00       	mov    $0x412988,%ecx
43b30c:	74 05                	je     0x43b313
43b30e:	b9 a0 29 41 00       	mov    $0x4129a0,%ecx
43b313:	39 74 24 10          	cmp    %esi,0x10(%esp)
43b317:	75 0b                	jne    0x43b324
43b319:	b8 bc 29 41 00       	mov    $0x4129bc,%eax
43b31e:	39 74 24 24          	cmp    %esi,0x24(%esp)
43b322:	74 05                	je     0x43b329
43b324:	b8 b8 29 41 00       	mov    $0x4129b8,%eax
43b329:	51                   	push   %ecx
43b32a:	50                   	push   %eax
43b32b:	57                   	push   %edi
43b32c:	53                   	push   %ebx
43b32d:	68 d8 29 41 00       	push   $0x4129d8
43b332:	e8 99 f8 fe ff       	call   0x42abd0
43b337:	83 c4 14             	add    $0x14,%esp
43b33a:	8b f0                	mov    %eax,%esi
43b33c:	83 3d 54 1a 45 00 00 	cmpl   $0x0,0x451a54
43b343:	74 10                	je     0x43b355
43b345:	ff 35 a0 14 45 00    	push   0x4514a0
43b34b:	56                   	push   %esi
43b34c:	6a 00                	push   $0x0
43b34e:	6a 34                	push   $0x34
43b350:	e8 5b f1 fe ff       	call   0x42a4b0
43b355:	ff 35 a0 14 45 00    	push   0x4514a0
43b35b:	56                   	push   %esi
43b35c:	8b 35 58 1a 45 00    	mov    0x451a58,%esi
43b362:	8b ce                	mov    %esi,%ecx
43b364:	6a 00                	push   $0x0
43b366:	6a 34                	push   $0x34
43b368:	ff 15 84 23 45 00    	call   *0x452384
43b36e:	ff d6                	call   *%esi
43b370:	e8 bb ed fe ff       	call   0x42a130
43b375:	85 c0                	test   %eax,%eax
43b377:	74 0d                	je     0x43b386
43b379:	83 40 18 ff          	addl   $0xffffffff,0x18(%eax)
43b37d:	75 07                	jne    0x43b386
43b37f:	8b c8                	mov    %eax,%ecx
43b381:	e8 ca ec fe ff       	call   0x42a050
43b386:	8b 74 24 0c          	mov    0xc(%esp),%esi
43b38a:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
43b38f:	75 0c                	jne    0x43b39d
43b391:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
43b396:	b8 80 00 00 c0       	mov    $0xc0000080,%eax
43b39b:	74 05                	je     0x43b3a2
43b39d:	b8 80 00 00 40       	mov    $0x40000080,%eax
43b3a2:	0b 44 24 1c          	or     0x1c(%esp),%eax
43b3a6:	6a 00                	push   $0x0
43b3a8:	50                   	push   %eax
43b3a9:	6a 03                	push   $0x3
43b3ab:	6a 00                	push   $0x0
43b3ad:	57                   	push   %edi
43b3ae:	53                   	push   %ebx
43b3af:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
43b3b6:	50                   	push   %eax
43b3b7:	ff 15 ec 20 45 00    	call   *0x4520ec
43b3bd:	8b f8                	mov    %eax,%edi
43b3bf:	83 ff ff             	cmp    $0xffffffff,%edi
43b3c2:	75 2a                	jne    0x43b3ee
43b3c4:	ff 15 6c 20 45 00    	call   *0x45206c
43b3ca:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43b3ce:	8b c8                	mov    %eax,%ecx
43b3d0:	89 4c 24 30          	mov    %ecx,0x30(%esp)
43b3d4:	51                   	push   %ecx
43b3d5:	8b 03                	mov    (%ebx),%eax
43b3d7:	8b 70 10             	mov    0x10(%eax),%esi
43b3da:	8b ce                	mov    %esi,%ecx
43b3dc:	ff 15 84 23 45 00    	call   *0x452384
43b3e2:	8b cb                	mov    %ebx,%ecx
43b3e4:	ff d6                	call   *%esi
43b3e6:	8b f0                	mov    %eax,%esi
43b3e8:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b3ec:	eb 04                	jmp    0x43b3f2
43b3ee:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43b3f2:	56                   	push   %esi
43b3f3:	8d 4c 24 44          	lea    0x44(%esp),%ecx
43b3f7:	e8 74 d5 ff ff       	call   0x438970
43b3fc:	85 c0                	test   %eax,%eax
43b3fe:	0f 85 52 fe ff ff    	jne    0x43b256
43b404:	85 f6                	test   %esi,%esi
43b406:	0f 88 01 04 00 00    	js     0x43b80d
43b40c:	6a 02                	push   $0x2
43b40e:	6a 02                	push   $0x2
43b410:	57                   	push   %edi
43b411:	ff 15 0c 21 45 00    	call   *0x45210c
43b417:	8d 44 24 5c          	lea    0x5c(%esp),%eax
43b41b:	50                   	push   %eax
43b41c:	57                   	push   %edi
43b41d:	ff 15 98 20 45 00    	call   *0x452098
43b423:	85 c0                	test   %eax,%eax
43b425:	75 2c                	jne    0x43b453
43b427:	ff 15 6c 20 45 00    	call   *0x45206c
43b42d:	8b c8                	mov    %eax,%ecx
43b42f:	8b 03                	mov    (%ebx),%eax
43b431:	89 4c 24 30          	mov    %ecx,0x30(%esp)
43b435:	51                   	push   %ecx
43b436:	8b 70 10             	mov    0x10(%eax),%esi
43b439:	8b ce                	mov    %esi,%ecx
43b43b:	ff 15 84 23 45 00    	call   *0x452384
43b441:	8b cb                	mov    %ebx,%ecx
43b443:	ff d6                	call   *%esi
43b445:	8b f0                	mov    %eax,%esi
43b447:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b44b:	85 f6                	test   %esi,%esi
43b44d:	0f 88 ba 03 00 00    	js     0x43b80d
43b453:	8b 44 24 7c          	mov    0x7c(%esp),%eax
43b457:	8d 94 24 90 00 00 00 	lea    0x90(%esp),%edx
43b45e:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
43b462:	33 c9                	xor    %ecx,%ecx
43b464:	03 8c 24 80 00 00 00 	add    0x80(%esp),%ecx
43b46b:	8b 74 24 14          	mov    0x14(%esp),%esi
43b46f:	83 d0 00             	adc    $0x0,%eax
43b472:	89 4c 24 40          	mov    %ecx,0x40(%esp)
43b476:	89 44 24 3c          	mov    %eax,0x3c(%esp)
43b47a:	8b ce                	mov    %esi,%ecx
43b47c:	8d 44 24 24          	lea    0x24(%esp),%eax
43b480:	c1 eb 0b             	shr    $0xb,%ebx
43b483:	50                   	push   %eax
43b484:	83 e3 01             	and    $0x1,%ebx
43b487:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
43b48e:	00
43b48f:	e8 4c 1c 00 00       	call   0x43d0e0
43b494:	89 44 24 0c          	mov    %eax,0xc(%esp)
43b498:	85 c0                	test   %eax,%eax
43b49a:	0f 88 93 03 00 00    	js     0x43b833
43b4a0:	8b 44 24 24          	mov    0x24(%esp),%eax
43b4a4:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
43b4a8:	89 44 24 10          	mov    %eax,0x10(%esp)
43b4ac:	8b 06                	mov    (%esi),%eax
43b4ae:	51                   	push   %ecx
43b4af:	8d 8c 24 94 00 00 00 	lea    0x94(%esp),%ecx
43b4b6:	51                   	push   %ecx
43b4b7:	8b 70 08             	mov    0x8(%eax),%esi
43b4ba:	8b ce                	mov    %esi,%ecx
43b4bc:	ff 15 84 23 45 00    	call   *0x452384
43b4c2:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
43b4c6:	ff d6                	call   *%esi
43b4c8:	89 44 24 0c          	mov    %eax,0xc(%esp)
43b4cc:	85 c0                	test   %eax,%eax
43b4ce:	0f 88 00 02 00 00    	js     0x43b6d4
43b4d4:	8b 44 24 2c          	mov    0x2c(%esp),%eax
43b4d8:	3d 00 10 00 00       	cmp    $0x1000,%eax
43b4dd:	76 44                	jbe    0x43b523
43b4df:	e8 4c ec fe ff       	call   0x42a130
43b4e4:	85 c0                	test   %eax,%eax
43b4e6:	74 03                	je     0x43b4eb
43b4e8:	ff 40 18             	incl   0x18(%eax)
43b4eb:	68 15 08 00 00       	push   $0x815
43b4f0:	68 c8 28 41 00       	push   $0x4128c8
43b4f5:	68 50 2a 41 00       	push   $0x412a50
43b4fa:	68 50 0d 41 00       	push   $0x410d50
43b4ff:	68 50 19 41 00       	push   $0x411950
43b504:	e8 c7 f6 fe ff       	call   0x42abd0
43b509:	83 c4 0c             	add    $0xc,%esp
43b50c:	50                   	push   %eax
43b50d:	e8 7e cd fe ff       	call   0x428290
43b512:	83 c4 0c             	add    $0xc,%esp
43b515:	e8 06 f5 fe ff       	call   0x42aa20
43b51a:	b8 00 10 00 00       	mov    $0x1000,%eax
43b51f:	89 44 24 2c          	mov    %eax,0x2c(%esp)
43b523:	f7 44 24 1c 00 00 00 	testl  $0x20000000,0x1c(%esp)
43b52a:	20
43b52b:	8b f0                	mov    %eax,%esi
43b52d:	75 05                	jne    0x43b534
43b52f:	be 01 00 00 00       	mov    $0x1,%esi
43b534:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
43b539:	0f 85 0e 02 00 00    	jne    0x43b74d
43b53f:	85 db                	test   %ebx,%ebx
43b541:	0f 84 06 02 00 00    	je     0x43b74d
43b547:	e8 f4 35 00 00       	call   0x43eb40
43b54c:	85 c0                	test   %eax,%eax
43b54e:	0f 85 f5 01 00 00    	jne    0x43b749
43b554:	50                   	push   %eax
43b555:	50                   	push   %eax
43b556:	50                   	push   %eax
43b557:	50                   	push   %eax
43b558:	66 89 44 24 2c       	mov    %ax,0x2c(%esp)
43b55d:	89 44 24 58          	mov    %eax,0x58(%esp)
43b561:	89 44 24 5c          	mov    %eax,0x5c(%esp)
43b565:	89 44 24 60          	mov    %eax,0x60(%esp)
43b569:	89 44 24 64          	mov    %eax,0x64(%esp)
43b56d:	89 44 24 68          	mov    %eax,0x68(%esp)
43b571:	89 44 24 38          	mov    %eax,0x38(%esp)
43b575:	ff 15 2c 22 45 00    	call   *0x45222c
43b57b:	89 44 24 38          	mov    %eax,0x38(%esp)
43b57f:	85 c0                	test   %eax,%eax
43b581:	0f 84 7c 01 00 00    	je     0x43b703
43b587:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
43b58c:	89 44 24 58          	mov    %eax,0x58(%esp)
43b590:	0f 87 d6 00 00 00    	ja     0x43b66c
43b596:	72 0e                	jb     0x43b5a6
43b598:	81 7c 24 40 00 00 00 	cmpl   $0x8000000,0x40(%esp)
43b59f:	08
43b5a0:	0f 83 c6 00 00 00    	jae    0x43b66c
43b5a6:	8d 44 24 48          	lea    0x48(%esp),%eax
43b5aa:	50                   	push   %eax
43b5ab:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43b5af:	50                   	push   %eax
43b5b0:	6a 00                	push   $0x0
43b5b2:	6a 00                	push   $0x0
43b5b4:	6a 02                	push   $0x2
43b5b6:	8d 44 24 30          	lea    0x30(%esp),%eax
43b5ba:	50                   	push   %eax
43b5bb:	68 40 c0 09 00       	push   $0x9c040
43b5c0:	57                   	push   %edi
43b5c1:	ff 15 44 21 45 00    	call   *0x452144
43b5c7:	85 c0                	test   %eax,%eax
43b5c9:	75 11                	jne    0x43b5dc
43b5cb:	ff 15 6c 20 45 00    	call   *0x45206c
43b5d1:	3d e5 03 00 00       	cmp    $0x3e5,%eax
43b5d6:	0f 85 90 00 00 00    	jne    0x43b66c
43b5dc:	6a 01                	push   $0x1
43b5de:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43b5e2:	50                   	push   %eax
43b5e3:	8d 44 24 50          	lea    0x50(%esp),%eax
43b5e7:	50                   	push   %eax
43b5e8:	57                   	push   %edi
43b5e9:	ff 15 3c 21 45 00    	call   *0x45213c
43b5ef:	85 c0                	test   %eax,%eax
43b5f1:	74 79                	je     0x43b66c
43b5f3:	6a 00                	push   $0x0
43b5f5:	6a 02                	push   $0x2
43b5f7:	57                   	push   %edi
43b5f8:	ff 15 0c 21 45 00    	call   *0x45210c
43b5fe:	57                   	push   %edi
43b5ff:	ff 15 10 21 45 00    	call   *0x452110
43b605:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43b609:	e8 42 1e 00 00       	call   0x43d450
43b60e:	8b 5c 24 18          	mov    0x18(%esp),%ebx
43b612:	6a 01                	push   $0x1
43b614:	8b 03                	mov    (%ebx),%eax
43b616:	8b 30                	mov    (%eax),%esi
43b618:	8b ce                	mov    %esi,%ecx
43b61a:	ff 15 84 23 45 00    	call   *0x452384
43b620:	8b cb                	mov    %ebx,%ecx
43b622:	ff d6                	call   *%esi
43b624:	8b 44 24 38          	mov    0x38(%esp),%eax
43b628:	50                   	push   %eax
43b629:	ff 15 10 21 45 00    	call   *0x452110
43b62f:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43b633:	8b 4c 24 34          	mov    0x34(%esp),%ecx
43b637:	51                   	push   %ecx
43b638:	ff 74 24 24          	push   0x24(%esp)
43b63c:	8b 03                	mov    (%ebx),%eax
43b63e:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
43b645:	51                   	push   %ecx
43b646:	8b 70 60             	mov    0x60(%eax),%esi
43b649:	8b ce                	mov    %esi,%ecx
43b64b:	ff 15 84 23 45 00    	call   *0x452384
43b651:	8b cb                	mov    %ebx,%ecx
43b653:	ff d6                	call   *%esi
43b655:	5f                   	pop    %edi
43b656:	5e                   	pop    %esi
43b657:	5b                   	pop    %ebx
43b658:	8b 8c 24 10 03 00 00 	mov    0x310(%esp),%ecx
43b65f:	33 cc                	xor    %esp,%ecx
43b661:	e8 ea 18 01 00       	call   0x44cf50
43b666:	8b e5                	mov    %ebp,%esp
43b668:	5d                   	pop    %ebp
43b669:	c2 0c 00             	ret    $0xc
43b66c:	68 5b f0 ff ff       	push   $0xfffff05b
43b671:	68 5b f0 ff ff       	push   $0xfffff05b
43b676:	68 18 27 41 00       	push   $0x412718
43b67b:	8d 84 24 a4 02 00 00 	lea    0x2a4(%esp),%eax
43b682:	68 80 00 00 00       	push   $0x80
43b687:	50                   	push   %eax
43b688:	e8 13 d8 fe ff       	call   0x428ea0
43b68d:	83 c4 14             	add    $0x14,%esp
43b690:	e8 5b 26 00 00       	call   0x43dcf0
43b695:	83 c0 10             	add    $0x10,%eax
43b698:	74 0a                	je     0x43b6a4
43b69a:	e8 51 26 00 00       	call   0x43dcf0
43b69f:	83 c0 14             	add    $0x14,%eax
43b6a2:	eb 02                	jmp    0x43b6a6
43b6a4:	33 c0                	xor    %eax,%eax
43b6a6:	81 3d 30 1a 45 00 5b 	cmpl   $0xfffff05b,0x451a30
43b6ad:	f0 ff ff
43b6b0:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43b6b6:	c7 40 04 63 08 00 00 	movl   $0x863,0x4(%eax)
43b6bd:	c7 40 08 5b f0 ff ff 	movl   $0xfffff05b,0x8(%eax)
43b6c4:	75 06                	jne    0x43b6cc
43b6c6:	ff 15 58 20 45 00    	call   *0x452058
43b6cc:	c7 44 24 0c 5b f0 ff 	movl   $0xfffff05b,0xc(%esp)
43b6d3:	ff
43b6d4:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43b6d8:	83 ff ff             	cmp    $0xffffffff,%edi
43b6db:	74 12                	je     0x43b6ef
43b6dd:	6a 00                	push   $0x0
43b6df:	6a 02                	push   $0x2
43b6e1:	57                   	push   %edi
43b6e2:	ff 15 0c 21 45 00    	call   *0x45210c
43b6e8:	57                   	push   %edi
43b6e9:	ff 15 10 21 45 00    	call   *0x452110
43b6ef:	85 db                	test   %ebx,%ebx
43b6f1:	0f 84 8f 01 00 00    	je     0x43b886
43b6f7:	8b cb                	mov    %ebx,%ecx
43b6f9:	e8 52 1d 00 00       	call   0x43d450
43b6fe:	e9 83 01 00 00       	jmp    0x43b886
43b703:	e8 e8 25 00 00       	call   0x43dcf0
43b708:	83 c0 10             	add    $0x10,%eax
43b70b:	74 0a                	je     0x43b717
43b70d:	e8 de 25 00 00       	call   0x43dcf0
43b712:	83 c0 14             	add    $0x14,%eax
43b715:	eb 02                	jmp    0x43b719
43b717:	33 c0                	xor    %eax,%eax