410583:	89 85 d0 a7 ff ff    	mov    %eax,-0x5830(%ebp)
410589:	85 c0                	test   %eax,%eax
41058b:	74 1a                	je     0x4105a7
41058d:	8b 0b                	mov    (%ebx),%ecx
41058f:	53                   	push   %ebx
410590:	8b 71 1c             	mov    0x1c(%ecx),%esi
410593:	8b ce                	mov    %esi,%ecx
410595:	ff 15 20 a5 43 00    	call   *0x43a520
41059b:	ff d6                	call   *%esi
41059d:	f7 d8                	neg    %eax
41059f:	1b c0                	sbb    %eax,%eax
4105a1:	21 85 d0 a7 ff ff    	and    %eax,-0x5830(%ebp)
4105a7:	c7 85 2c a8 ff ff 00 	movl   $0x0,-0x57d4(%ebp)
4105ae:	00 00 00
4105b1:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
4105b5:	8d 85 2c a8 ff ff    	lea    -0x57d4(%ebp),%eax
4105bb:	c7 85 c8 a7 ff ff 00 	movl   $0x0,-0x5838(%ebp)
4105c2:	00 00 00
4105c5:	8b 33                	mov    (%ebx),%esi
4105c7:	50                   	push   %eax
4105c8:	68 d0 55 40 00       	push   $0x4055d0
4105cd:	53                   	push   %ebx
4105ce:	8b 36                	mov    (%esi),%esi
4105d0:	8b ce                	mov    %esi,%ecx
4105d2:	ff 15 20 a5 43 00    	call   *0x43a520
4105d8:	ff d6                	call   *%esi
4105da:	85 c0                	test   %eax,%eax
4105dc:	78 5a                	js     0x410638
4105de:	8b 85 2c a8 ff ff    	mov    -0x57d4(%ebp),%eax
4105e4:	8d 95 c8 a7 ff ff    	lea    -0x5838(%ebp),%edx
4105ea:	52                   	push   %edx
4105eb:	50                   	push   %eax
4105ec:	8b 08                	mov    (%eax),%ecx
4105ee:	8b 71 0c             	mov    0xc(%ecx),%esi
4105f1:	8b ce                	mov    %esi,%ecx
4105f3:	ff 15 20 a5 43 00    	call   *0x43a520
4105f9:	ff d6                	call   *%esi
4105fb:	85 c0                	test   %eax,%eax
4105fd:	79 0c                	jns    0x41060b
4105ff:	c7 85 c8 a7 ff ff 00 	movl   $0x0,-0x5838(%ebp)
410606:	00 00 00
410609:	eb 2d                	jmp    0x410638
41060b:	8b 85 2c a8 ff ff    	mov    -0x57d4(%ebp),%eax
410611:	8d 95 a8 a7 ff ff    	lea    -0x5858(%ebp),%edx
410617:	52                   	push   %edx
410618:	50                   	push   %eax
410619:	8b 08                	mov    (%eax),%ecx
41061b:	8b 71 14             	mov    0x14(%ecx),%esi
41061e:	8b ce                	mov    %esi,%ecx
410620:	ff 15 20 a5 43 00    	call   *0x43a520
410626:	ff d6                	call   *%esi
410628:	85 c0                	test   %eax,%eax
41062a:	78 0c                	js     0x410638
41062c:	8b 85 a8 a7 ff ff    	mov    -0x5858(%ebp),%eax
410632:	89 85 d8 be ff ff    	mov    %eax,-0x4128(%ebp)
410638:	8d 8d a0 bb ff ff    	lea    -0x4460(%ebp),%ecx
41063e:	e8 0f 36 00 00       	call   0x413c52
410643:	8b c1                	mov    %ecx,%eax
410645:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
410649:	50                   	push   %eax
41064a:	8b d3                	mov    %ebx,%edx
41064c:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410652:	e8 c8 3c 00 00       	call   0x41431f
410657:	3d 20 00 07 80       	cmp    $0x80070020,%eax
41065c:	75 27                	jne    0x410685
41065e:	50                   	push   %eax
41065f:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410665:	e8 75 e0 ff ff       	call   0x40e6df
41066a:	8d 8d a0 bb ff ff    	lea    -0x4460(%ebp),%ecx
410670:	e8 41 e0 ff ff       	call   0x40e6b6
410675:	8d 8d 2c a8 ff ff    	lea    -0x57d4(%ebp),%ecx
41067b:	e8 7f bb ff ff       	call   0x40c1ff
410680:	e9 35 fe ff ff       	jmp    0x4104ba
410685:	83 bd ac bb ff ff 19 	cmpl   $0x19,-0x4454(%ebp)
41068c:	72 26                	jb     0x4106b4
41068e:	51                   	push   %ecx
41068f:	8d 85 48 a7 ff ff    	lea    -0x58b8(%ebp),%eax
410695:	50                   	push   %eax
410696:	8d 8d a0 bb ff ff    	lea    -0x4460(%ebp),%ecx
41069c:	e8 e1 84 01 00       	call   0x428b82
4106a1:	51                   	push   %ecx
4106a2:	8b c8                	mov    %eax,%ecx
4106a4:	e8 46 a9 ff ff       	call   0x40afef
4106a9:	85 c0                	test   %eax,%eax
4106ab:	74 07                	je     0x4106b4
4106ad:	68 0d 12 04 80       	push   $0x8004120d
4106b2:	eb ab                	jmp    0x41065f
4106b4:	8b d3                	mov    %ebx,%edx
4106b6:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
4106bc:	e8 6d 51 00 00       	call   0x41582e
4106c1:	6a 00                	push   $0x0
4106c3:	8d 8d 30 a8 ff ff    	lea    -0x57d0(%ebp),%ecx
4106c9:	e8 a3 35 00 00       	call   0x413c71
4106ce:	6a 00                	push   $0x0
4106d0:	8d 8d 34 a8 ff ff    	lea    -0x57cc(%ebp),%ecx
4106d6:	e8 96 35 00 00       	call   0x413c71
4106db:	8b d3                	mov    %ebx,%edx
4106dd:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
4106e3:	e8 f5 4d 00 00       	call   0x4154dd
4106e8:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
4106ee:	3d 20 00 07 80       	cmp    $0x80070020,%eax
4106f3:	75 06                	jne    0x4106fb
4106f5:	50                   	push   %eax
4106f6:	e9 6a ff ff ff       	jmp    0x410665
4106fb:	8b d3                	mov    %ebx,%edx
4106fd:	e8 09 4d 00 00       	call   0x41540b
410702:	c7 85 1c a8 ff ff 00 	movl   $0x0,-0x57e4(%ebp)
410709:	00 00 00
41070c:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
410710:	8d 85 1c a8 ff ff    	lea    -0x57e4(%ebp),%eax
410716:	8b 33                	mov    (%ebx),%esi
410718:	50                   	push   %eax
410719:	68 e0 3e 40 00       	push   $0x403ee0
41071e:	53                   	push   %ebx
41071f:	8b 36                	mov    (%esi),%esi
410721:	8b ce                	mov    %esi,%ecx
410723:	ff 15 20 a5 43 00    	call   *0x43a520
410729:	ff d6                	call   *%esi
41072b:	8b d8                	mov    %eax,%ebx
41072d:	89 9d 3c a8 ff ff    	mov    %ebx,-0x57c4(%ebp)
410733:	85 db                	test   %ebx,%ebx
410735:	78 17                	js     0x41074e
410737:	8b 95 1c a8 ff ff    	mov    -0x57e4(%ebp),%edx
41073d:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410743:	e8 23 4c 00 00       	call   0x41536b
410748:	89 85 3c a8 ff ff    	mov    %eax,-0x57c4(%ebp)
41074e:	8b 95 d4 a7 ff ff    	mov    -0x582c(%ebp),%edx
410754:	8d 85 fc a7 ff ff    	lea    -0x5804(%ebp),%eax
41075a:	50                   	push   %eax
41075b:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410761:	e8 fb 4f 00 00       	call   0x415761
410766:	3d 20 00 07 80       	cmp    $0x80070020,%eax
41076b:	75 1c                	jne    0x410789
41076d:	50                   	push   %eax
41076e:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410774:	e8 66 df ff ff       	call   0x40e6df
410779:	8d 8d 1c a8 ff ff    	lea    -0x57e4(%ebp),%ecx
41077f:	e8 7b ba ff ff       	call   0x40c1ff
410784:	e9 e1 fe ff ff       	jmp    0x41066a
410789:	85 c0                	test   %eax,%eax
41078b:	79 11                	jns    0x41079e
41078d:	c7 85 fc a7 ff ff 00 	movl   $0x800000,-0x5804(%ebp)
410794:	00 80 00
410797:	b8 00 00 80 00       	mov    $0x800000,%eax
41079c:	eb 44                	jmp    0x4107e2
41079e:	8b 85 00 a8 ff ff    	mov    -0x5800(%ebp),%eax
4107a4:	f7 25 08 8a 43 00    	mull   0x438a08
4107aa:	8b f0                	mov    %eax,%esi
4107ac:	8b 85 fc a7 ff ff    	mov    -0x5804(%ebp),%eax
4107b2:	f7 25 08 8a 43 00    	mull   0x438a08
4107b8:	03 f2                	add    %edx,%esi
4107ba:	89 85 fc a7 ff ff    	mov    %eax,-0x5804(%ebp)
4107c0:	89 b5 00 a8 ff ff    	mov    %esi,-0x5800(%ebp)
4107c6:	85 f6                	test   %esi,%esi
4107c8:	77 20                	ja     0x4107ea
4107ca:	72 07                	jb     0x4107d3
4107cc:	3d 00 40 00 00       	cmp    $0x4000,%eax
4107d1:	73 17                	jae    0x4107ea
4107d3:	c7 85 fc a7 ff ff 00 	movl   $0x4000,-0x5804(%ebp)
4107da:	40 00 00
4107dd:	b8 00 40 00 00       	mov    $0x4000,%eax
4107e2:	33 f6                	xor    %esi,%esi
4107e4:	89 b5 00 a8 ff ff    	mov    %esi,-0x5800(%ebp)
4107ea:	83 3d 10 85 43 00 00 	cmpl   $0x0,0x438510
4107f1:	74 1f                	je     0x410812
4107f3:	85 f6                	test   %esi,%esi
4107f5:	75 07                	jne    0x4107fe
4107f7:	3d 00 00 00 01       	cmp    $0x1000000,%eax
4107fc:	76 14                	jbe    0x410812
4107fe:	c7 85 fc a7 ff ff 00 	movl   $0x1000000,-0x5804(%ebp)
410805:	00 00 01
410808:	c7 85 00 a8 ff ff 00 	movl   $0x0,-0x5800(%ebp)
41080f:	00 00 00
410812:	8b b5 d4 a7 ff ff    	mov    -0x582c(%ebp),%esi
410818:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
41081e:	8b d6                	mov    %esi,%edx
410820:	e8 8e 4a 00 00       	call   0x4152b3
410825:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
41082b:	3d 20 00 07 80       	cmp    $0x80070020,%eax
410830:	75 16                	jne    0x410848
410832:	50                   	push   %eax
410833:	e8 a7 de ff ff       	call   0x40e6df
410838:	8d 8d 1c a8 ff ff    	lea    -0x57e4(%ebp),%ecx
41083e:	e8 bc b9 ff ff       	call   0x40c1ff
410843:	e9 22 fe ff ff       	jmp    0x41066a
410848:	8b d6                	mov    %esi,%edx
41084a:	e8 a1 49 00 00       	call   0x4151f0
41084f:	33 db                	xor    %ebx,%ebx
410851:	39 9d d0 a7 ff ff    	cmp    %ebx,-0x5830(%ebp)
410857:	0f 84 8e 00 00 00    	je     0x4108eb
41085d:	39 9d 98 b7 ff ff    	cmp    %ebx,-0x4868(%ebp)
410863:	0f 85 82 00 00 00    	jne    0x4108eb
410869:	f7 85 0c b8 ff ff 00 	testl  $0x10000,-0x47f4(%ebp)
410870:	00 01 00
410873:	75 76                	jne    0x4108eb
410875:	8d 8d 38 a8 ff ff    	lea    -0x57c8(%ebp),%ecx
41087b:	e8 c9 53 01 00       	call   0x425c49
410880:	84 c0                	test   %al,%al
410882:	74 0b                	je     0x41088f
410884:	ff b5 38 a8 ff ff    	push   -0x57c8(%ebp)
41088a:	e8 f3 7f 01 00       	call   0x428882
41088f:	8b 06                	mov    (%esi),%eax
410891:	8d 8d 24 a8 ff ff    	lea    -0x57dc(%ebp),%ecx
410897:	51                   	push   %ecx
410898:	56                   	push   %esi
410899:	8b 70 38             	mov    0x38(%eax),%esi
41089c:	8b ce                	mov    %esi,%ecx
41089e:	ff 15 20 a5 43 00    	call   *0x43a520
4108a4:	ff d6                	call   *%esi
4108a6:	8d 8d 38 a8 ff ff    	lea    -0x57c8(%ebp),%ecx
4108ac:	8b f0                	mov    %eax,%esi
4108ae:	e8 96 53 01 00       	call   0x425c49
4108b3:	84 c0                	test   %al,%al
4108b5:	74 0b                	je     0x4108c2
4108b7:	8d 8d 28 a8 ff ff    	lea    -0x57d8(%ebp),%ecx
4108bd:	e8 15 94 00 00       	call   0x419cd7
4108c2:	85 f6                	test   %esi,%esi
4108c4:	79 1a                	jns    0x4108e0
4108c6:	81 fe 01 40 00 80    	cmp    $0x80004001,%esi
4108cc:	74 0e                	je     0x4108dc
4108ce:	81 fe 25 0d 04 80    	cmp    $0x80040d25,%esi
4108d4:	74 06                	je     0x4108dc
4108d6:	56                   	push   %esi
4108d7:	e9 92 fe ff ff       	jmp    0x41076e
4108dc:	33 db                	xor    %ebx,%ebx
4108de:	eb 05                	jmp    0x4108e5
4108e0:	bb 01 00 00 00       	mov    $0x1,%ebx
4108e5:	8b b5 d4 a7 ff ff    	mov    -0x582c(%ebp),%esi
4108eb:	8d 8d 34 bd ff ff    	lea    -0x42cc(%ebp),%ecx
4108f1:	e8 5c 33 00 00       	call   0x413c52
4108f6:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
4108fa:	8b bd 3c bd ff ff    	mov    -0x42c4(%ebp),%edi
410900:	6a 00                	push   $0x0
410902:	e8 81 39 00 00       	call   0x414288
410907:	8b 36                	mov    (%esi),%esi
410909:	8d 8d b8 a7 ff ff    	lea    -0x5848(%ebp),%ecx
41090f:	51                   	push   %ecx
410910:	57                   	push   %edi
410911:	8b bd d4 a7 ff ff    	mov    -0x582c(%ebp),%edi
410917:	8b 76 28             	mov    0x28(%esi),%esi
41091a:	8b ce                	mov    %esi,%ecx
41091c:	50                   	push   %eax
41091d:	57                   	push   %edi
41091e:	ff 15 20 a5 43 00    	call   *0x43a520
410924:	ff d6                	call   *%esi
410926:	3d 7a 00 07 80       	cmp    $0x8007007a,%eax
41092b:	75 2f                	jne    0x41095c
41092d:	ff b5 b8 a7 ff ff    	push   -0x5848(%ebp)
410933:	8d 8d 34 bd ff ff    	lea    -0x42cc(%ebp),%ecx
410939:	e8 4a 39 00 00       	call   0x414288
41093e:	8b 37                	mov    (%edi),%esi
410940:	8d 8d b8 a7 ff ff    	lea    -0x5848(%ebp),%ecx
410946:	51                   	push   %ecx
410947:	ff b5 b8 a7 ff ff    	push   -0x5848(%ebp)
41094d:	8b 76 28             	mov    0x28(%esi),%esi
410950:	8b ce                	mov    %esi,%ecx
410952:	50                   	push   %eax
410953:	57                   	push   %edi
410954:	ff 15 20 a5 43 00    	call   *0x43a520
41095a:	ff d6                	call   *%esi
41095c:	85 c0                	test   %eax,%eax
41095e:	0f 88 82 00 00 00    	js     0x4109e6
410964:	51                   	push   %ecx
410965:	8d 8d 34 bd ff ff    	lea    -0x42cc(%ebp),%ecx
41096b:	e8 83 38 00 00       	call   0x4141f3
410970:	8d 85 34 bd ff ff    	lea    -0x42cc(%ebp),%eax
410976:	c7 85 f8 a7 ff ff 01 	movl   $0x1,-0x5808(%ebp)
41097d:	00 00 00
410980:	50                   	push   %eax
410981:	8d 8d 88 b0 ff ff    	lea    -0x4f78(%ebp),%ecx
410987:	e8 bc 52 00 00       	call   0x415c48
41098c:	8d 95 88 b0 ff ff    	lea    -0x4f78(%ebp),%edx
410992:	c6 45 fc 14          	movb   $0x14,-0x4(%ebp)
410996:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
41099c:	e8 28 52 00 00       	call   0x415bc9
4109a1:	8d 8d 88 b0 ff ff    	lea    -0x4f78(%ebp),%ecx
4109a7:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
4109ab:	e8 f4 ed ff ff       	call   0x40f7a4
4109b0:	8b 85 40 bd ff ff    	mov    -0x42c0(%ebp),%eax
4109b6:	3d 04 01 00 00       	cmp    $0x104,%eax
4109bb:	76 10                	jbe    0x4109cd
4109bd:	c1 e0 03             	shl    $0x3,%eax
4109c0:	01 85 fc a7 ff ff    	add    %eax,-0x5804(%ebp)
4109c6:	83 95 00 a8 ff ff 00 	adcl   $0x0,-0x5800(%ebp)
4109cd:	f6 05 80 90 43 00 04 	testb  $0x4,0x439080
4109d4:	74 10                	je     0x4109e6
4109d6:	ff b5 38 bd ff ff    	push   -0x42c8(%ebp)
4109dc:	ba a0 55 40 00       	mov    $0x4055a0,%edx
4109e1:	e8 35 e4 01 00       	call   0x42ee1b
4109e6:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
4109ec:	e8 b4 e5 01 00       	call   0x42efa5
4109f1:	8b f0                	mov    %eax,%esi
4109f3:	89 b5 3c a8 ff ff    	mov    %esi,-0x57c4(%ebp)
4109f9:	85 f6                	test   %esi,%esi
4109fb:	0f 88 de f5 ff ff    	js     0x40ffdf
410a01:	83 bd 44 bb ff ff 00 	cmpl   $0x0,-0x44bc(%ebp)
410a08:	0f 85 d1 f5 ff ff    	jne    0x40ffdf
410a0e:	f7 85 0c b8 ff ff 00 	testl  $0x200,-0x47f4(%ebp)
410a15:	02 00 00
410a18:	74 1d                	je     0x410a37
410a1a:	8b d7                	mov    %edi,%edx
410a1c:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410a22:	e8 29 c5 ff ff       	call   0x40cf50
410a27:	8b f0                	mov    %eax,%esi
410a29:	89 b5 3c a8 ff ff    	mov    %esi,-0x57c4(%ebp)
410a2f:	85 f6                	test   %esi,%esi
410a31:	0f 88 a8 f5 ff ff    	js     0x40ffdf
410a37:	ff b5 2c a8 ff ff    	push   -0x57d4(%ebp)
410a3d:	51                   	push   %ecx
410a3e:	ff b5 c8 a7 ff ff    	push   -0x5838(%ebp)
410a44:	e8 b7 12 00 00       	call   0x411d00
410a49:	85 c0                	test   %eax,%eax
410a4b:	74 14                	je     0x410a61
410a4d:	c7 85 3c a8 ff ff 20 	movl   $0x80070020,-0x57c4(%ebp)
410a54:	00 07 80
410a57:	68 20 00 07 80       	push   $0x80070020
410a5c:	e9 7f f5 ff ff       	jmp    0x40ffe0
410a61:	8b bd 18 a8 ff ff    	mov    -0x57e8(%ebp),%edi
410a67:	85 f6                	test   %esi,%esi
410a69:	0f 88 98 00 00 00    	js     0x410b07
410a6f:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
410a73:	0f 84 8e 00 00 00    	je     0x410b07
410a79:	68 23 0d 04 80       	push   $0x80040d23
410a7e:	8d 8d b0 b1 ff ff    	lea    -0x4e50(%ebp),%ecx
410a84:	e8 56 dc ff ff       	call   0x40e6df
410a89:	8d 8d 34 bd ff ff    	lea    -0x42cc(%ebp),%ecx
410a8f:	e8 22 dc ff ff       	call   0x40e6b6
410a94:	8d 8d 1c a8 ff ff    	lea    -0x57e4(%ebp),%ecx
410a9a:	e8 60 b7 ff ff       	call   0x40c1ff
410a9f:	8d 8d a0 bb ff ff    	lea    -0x4460(%ebp),%ecx
410aa5:	e8 0c dc ff ff       	call   0x40e6b6
410aaa:	8d 8d 2c a8 ff ff    	lea    -0x57d4(%ebp),%ecx
410ab0:	e8 4a b7 ff ff       	call   0x40c1ff
410ab5:	8d 8d 28 a8 ff ff    	lea    -0x57d8(%ebp),%ecx
410abb:	e8 39 4c 01 00       	call   0x4256f9
410ac0:	8d 8d 38 a8 ff ff    	lea    -0x57c8(%ebp),%ecx
410ac6:	e8 88 45 00 00       	call   0x415053
410acb:	8d 8d 34 a8 ff ff    	lea    -0x57cc(%ebp),%ecx
410ad1:	e8 38 2f 00 00       	call   0x413a0e
410ad6:	8d 8d 30 a8 ff ff    	lea    -0x57d0(%ebp),%ecx
410adc:	e8 2d 2f 00 00       	call   0x413a0e
410ae1:	8d 8d 24 a8 ff ff    	lea    -0x57dc(%ebp),%ecx
410ae7:	e8 5c b7 ff ff       	call   0x40c248
410aec:	8d 8d d4 a7 ff ff    	lea    -0x582c(%ebp),%ecx
410af2:	e8 ae 44 00 00       	call   0x414fa5
410af7:	8d 8d 68 bf ff ff    	lea    -0x4098(%ebp),%ecx
410afd:	e8 e6 d9 ff ff       	call   0x40e4e8
410b02:	e9 7a f6 ff ff       	jmp    0x410181
410b07:	c7 85 10 a8 ff ff 00 	movl   $0x0,-0x57f0(%ebp)
410b0e:	00 00 00