430533:	e8 58 03 00 00       	call   0x430890
430538:	8b d8                	mov    %eax,%ebx
43053a:	85 db                	test   %ebx,%ebx
43053c:	78 17                	js     0x430555
43053e:	8b 07                	mov    (%edi),%eax
430540:	ff 75 0c             	push   0xc(%ebp)
430543:	68 d8 78 40 00       	push   $0x4078d8
430548:	8b 30                	mov    (%eax),%esi
43054a:	8b ce                	mov    %esi,%ecx
43054c:	57                   	push   %edi
43054d:	ff 15 20 a5 43 00    	call   *0x43a520
430553:	ff d6                	call   *%esi
430555:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
430559:	85 ff                	test   %edi,%edi
43055b:	74 10                	je     0x43056d
43055d:	8b 07                	mov    (%edi),%eax
43055f:	57                   	push   %edi
430560:	8b 70 08             	mov    0x8(%eax),%esi
430563:	8b ce                	mov    %esi,%ecx
430565:	ff 15 20 a5 43 00    	call   *0x43a520
43056b:	ff d6                	call   *%esi
43056d:	8b c3                	mov    %ebx,%eax
43056f:	e8 68 a8 fe ff       	call   0x41addc
430574:	c2 08 00             	ret    $0x8
430577:	cc                   	int3
430578:	cc                   	int3
430579:	cc                   	int3
43057a:	cc                   	int3
43057b:	cc                   	int3
43057c:	cc                   	int3
43057d:	cc                   	int3
43057e:	cc                   	int3
43057f:	cc                   	int3
430580:	8b ff                	mov    %edi,%edi
430582:	55                   	push   %ebp
430583:	8b ec                	mov    %esp,%ebp
430585:	8b 45 08             	mov    0x8(%ebp),%eax
430588:	ff 70 0c             	push   0xc(%eax)
43058b:	ff 15 dc a0 43 00    	call   *0x43a0dc
430591:	85 c0                	test   %eax,%eax
430593:	75 14                	jne    0x4305a9
430595:	ff 15 a8 a0 43 00    	call   *0x43a0a8
43059b:	85 c0                	test   %eax,%eax
43059d:	7e 0c                	jle    0x4305ab
43059f:	0f b7 c0             	movzwl %ax,%eax
4305a2:	0d 00 00 07 80       	or     $0x80070000,%eax
4305a7:	eb 02                	jmp    0x4305ab
4305a9:	33 c0                	xor    %eax,%eax
4305ab:	5d                   	pop    %ebp
4305ac:	c2 08 00             	ret    $0x8
4305af:	cc                   	int3
4305b0:	8b ff                	mov    %edi,%edi
4305b2:	55                   	push   %ebp
4305b3:	8b ec                	mov    %esp,%ebp
4305b5:	b8 2c 28 00 00       	mov    $0x282c,%eax
4305ba:	e8 71 da fe ff       	call   0x41e030
4305bf:	a1 08 85 43 00       	mov    0x438508,%eax
4305c4:	33 c5                	xor    %ebp,%eax
4305c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4305c9:	8b 45 08             	mov    0x8(%ebp),%eax
4305cc:	33 c9                	xor    %ecx,%ecx
4305ce:	83 a5 f8 d7 ff ff 00 	andl   $0x0,-0x2808(%ebp)
4305d5:	83 a5 f4 d7 ff ff 00 	andl   $0x0,-0x280c(%ebp)
4305dc:	8b 55 14             	mov    0x14(%ebp),%edx
4305df:	53                   	push   %ebx
4305e0:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4305e3:	89 85 e0 d7 ff ff    	mov    %eax,-0x2820(%ebp)
4305e9:	8b 45 18             	mov    0x18(%ebp),%eax
4305ec:	56                   	push   %esi
4305ed:	8b 75 0c             	mov    0xc(%ebp),%esi
4305f0:	89 85 d8 d7 ff ff    	mov    %eax,-0x2828(%ebp)
4305f6:	33 c0                	xor    %eax,%eax
4305f8:	89 b5 dc d7 ff ff    	mov    %esi,-0x2824(%ebp)
4305fe:	89 9d d4 d7 ff ff    	mov    %ebx,-0x282c(%ebp)
430604:	89 95 e4 d7 ff ff    	mov    %edx,-0x281c(%ebp)
43060a:	89 85 f0 d7 ff ff    	mov    %eax,-0x2810(%ebp)
430610:	89 85 ec d7 ff ff    	mov    %eax,-0x2814(%ebp)
430616:	57                   	push   %edi
430617:	8b 7d 10             	mov    0x10(%ebp),%edi
43061a:	85 f6                	test   %esi,%esi
43061c:	75 0a                	jne    0x430628
43061e:	b8 03 40 00 80       	mov    $0x80004003,%eax
430623:	e9 24 01 00 00       	jmp    0x43074c
430628:	8b 9d f8 d7 ff ff    	mov    -0x2808(%ebp),%ebx
43062e:	8b c7                	mov    %edi,%eax
430630:	0b c2                	or     %edx,%eax
430632:	0f 84 d6 00 00 00    	je     0x43070e
430638:	85 c9                	test   %ecx,%ecx
43063a:	0f 88 ce 00 00 00    	js     0x43070e
430640:	83 a5 e8 d7 ff ff 00 	andl   $0x0,-0x2818(%ebp)
430647:	83 a5 f8 d7 ff ff 00 	andl   $0x0,-0x2808(%ebp)
43064e:	85 d2                	test   %edx,%edx
430650:	77 0e                	ja     0x430660
430652:	72 08                	jb     0x43065c
430654:	81 ff 00 28 00 00    	cmp    $0x2800,%edi
43065a:	73 04                	jae    0x430660
43065c:	8b c7                	mov    %edi,%eax
43065e:	eb 05                	jmp    0x430665
430660:	b8 00 28 00 00       	mov    $0x2800,%eax
430665:	8b 8d e0 d7 ff ff    	mov    -0x2820(%ebp),%ecx
43066b:	8d 95 f8 d7 ff ff    	lea    -0x2808(%ebp),%edx
430671:	52                   	push   %edx
430672:	50                   	push   %eax
430673:	8d 85 fc d7 ff ff    	lea    -0x2804(%ebp),%eax
430679:	8b 31                	mov    (%ecx),%esi
43067b:	50                   	push   %eax
43067c:	51                   	push   %ecx
43067d:	8b 4e 0c             	mov    0xc(%esi),%ecx
430680:	ff 15 20 a5 43 00    	call   *0x43a520
430686:	ff 56 0c             	call   *0xc(%esi)
430689:	8d 88 da ff f8 7f    	lea    0x7ff8ffda(%eax),%ecx
43068f:	f7 d9                	neg    %ecx
430691:	1b c9                	sbb    %ecx,%ecx
430693:	23 c8                	and    %eax,%ecx
430695:	8b 85 f8 d7 ff ff    	mov    -0x2808(%ebp),%eax
43069b:	85 c0                	test   %eax,%eax
43069d:	74 39                	je     0x4306d8
43069f:	85 c9                	test   %ecx,%ecx
4306a1:	78 52                	js     0x4306f5
4306a3:	8b 8d dc d7 ff ff    	mov    -0x2824(%ebp),%ecx
4306a9:	8d 95 e8 d7 ff ff    	lea    -0x2818(%ebp),%edx
4306af:	52                   	push   %edx
4306b0:	50                   	push   %eax
4306b1:	03 d8                	add    %eax,%ebx
4306b3:	8d 85 fc d7 ff ff    	lea    -0x2804(%ebp),%eax
4306b9:	8b 31                	mov    (%ecx),%esi
4306bb:	83 95 f4 d7 ff ff 00 	adcl   $0x0,-0x280c(%ebp)
4306c2:	50                   	push   %eax
4306c3:	51                   	push   %ecx
4306c4:	8b 4e 10             	mov    0x10(%esi),%ecx
4306c7:	ff 15 20 a5 43 00    	call   *0x43a520
4306cd:	ff 56 10             	call   *0x10(%esi)
4306d0:	8b c8                	mov    %eax,%ecx
4306d2:	8b 85 f8 d7 ff ff    	mov    -0x2808(%ebp),%eax
4306d8:	85 c9                	test   %ecx,%ecx
4306da:	78 19                	js     0x4306f5
4306dc:	8b b5 f0 d7 ff ff    	mov    -0x2810(%ebp),%esi
4306e2:	03 b5 e8 d7 ff ff    	add    -0x2818(%ebp),%esi
4306e8:	89 b5 f0 d7 ff ff    	mov    %esi,-0x2810(%ebp)
4306ee:	83 95 ec d7 ff ff 00 	adcl   $0x0,-0x2814(%ebp)
4306f5:	8b 95 e4 d7 ff ff    	mov    -0x281c(%ebp),%edx
4306fb:	2b f8                	sub    %eax,%edi
4306fd:	83 da 00             	sbb    $0x0,%edx
430700:	89 95 e4 d7 ff ff    	mov    %edx,-0x281c(%ebp)
430706:	85 c0                	test   %eax,%eax
430708:	0f 85 20 ff ff ff    	jne    0x43062e
43070e:	8b b5 d8 d7 ff ff    	mov    -0x2828(%ebp),%esi
430714:	89 9d f8 d7 ff ff    	mov    %ebx,-0x2808(%ebp)
43071a:	8b 9d d4 d7 ff ff    	mov    -0x282c(%ebp),%ebx
430720:	85 f6                	test   %esi,%esi
430722:	74 11                	je     0x430735
430724:	8b 85 f8 d7 ff ff    	mov    -0x2808(%ebp),%eax
43072a:	89 06                	mov    %eax,(%esi)
43072c:	8b 85 f4 d7 ff ff    	mov    -0x280c(%ebp),%eax
430732:	89 46 04             	mov    %eax,0x4(%esi)
430735:	85 db                	test   %ebx,%ebx
430737:	74 11                	je     0x43074a
430739:	8b 85 f0 d7 ff ff    	mov    -0x2810(%ebp),%eax
43073f:	89 03                	mov    %eax,(%ebx)
430741:	8b 85 ec d7 ff ff    	mov    -0x2814(%ebp),%eax
430747:	89 43 04             	mov    %eax,0x4(%ebx)
43074a:	8b c1                	mov    %ecx,%eax
43074c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43074f:	5f                   	pop    %edi
430750:	5e                   	pop    %esi
430751:	33 cd                	xor    %ebp,%ecx
430753:	5b                   	pop    %ebx
430754:	e8 67 a0 fe ff       	call   0x41a7c0
430759:	c9                   	leave
43075a:	c2 18 00             	ret    $0x18
43075d:	cc                   	int3
43075e:	cc                   	int3
43075f:	cc                   	int3
430760:	8b ff                	mov    %edi,%edi
430762:	55                   	push   %ebp
430763:	8b ec                	mov    %esp,%ebp
430765:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
430769:	8b 45 10             	mov    0x10(%ebp),%eax
43076c:	57                   	push   %edi
43076d:	8b 7d 08             	mov    0x8(%ebp),%edi
430770:	89 87 a4 00 00 00    	mov    %eax,0xa4(%edi)
430776:	75 07                	jne    0x43077f
430778:	b8 03 40 00 80       	mov    $0x80004003,%eax
43077d:	eb 68                	jmp    0x4307e7
43077f:	56                   	push   %esi
430780:	ff 75 24             	push   0x24(%ebp)
430783:	ff 75 20             	push   0x20(%ebp)
430786:	ff 75 1c             	push   0x1c(%ebp)
430789:	ff 75 18             	push   0x18(%ebp)
43078c:	ff 75 14             	push   0x14(%ebp)
43078f:	50                   	push   %eax
430790:	ff 75 0c             	push   0xc(%ebp)
430793:	ff 15 f8 a0 43 00    	call   *0x43a0f8
430799:	8b 4f 0c             	mov    0xc(%edi),%ecx
43079c:	8b f0                	mov    %eax,%esi
43079e:	83 f9 ff             	cmp    $0xffffffff,%ecx
4307a1:	74 09                	je     0x4307ac
4307a3:	85 c9                	test   %ecx,%ecx
4307a5:	74 05                	je     0x4307ac
4307a7:	e8 a4 db ff ff       	call   0x42e350
4307ac:	89 77 0c             	mov    %esi,0xc(%edi)
4307af:	83 fe ff             	cmp    $0xffffffff,%esi
4307b2:	74 22                	je     0x4307d6
4307b4:	85 f6                	test   %esi,%esi
4307b6:	74 1e                	je     0x4307d6
4307b8:	8b 47 10             	mov    0x10(%edi),%eax
4307bb:	6a ff                	push   $0xffffffff
4307bd:	6a 00                	push   $0x0
4307bf:	ff 75 0c             	push   0xc(%ebp)
4307c2:	8b 70 10             	mov    0x10(%eax),%esi
4307c5:	8b ce                	mov    %esi,%ecx
4307c7:	ff 15 20 a5 43 00    	call   *0x43a520
4307cd:	8d 4f 10             	lea    0x10(%edi),%ecx
4307d0:	ff d6                	call   *%esi
4307d2:	33 c0                	xor    %eax,%eax
4307d4:	eb 10                	jmp    0x4307e6
4307d6:	8b 4d 04             	mov    0x4(%ebp),%ecx
4307d9:	68 f4 79 40 00       	push   $0x4079f4
4307de:	6a 42                	push   $0x42
4307e0:	5a                   	pop    %edx
4307e1:	e8 0b b9 ff ff       	call   0x42c0f1
4307e6:	5e                   	pop    %esi
4307e7:	5f                   	pop    %edi
4307e8:	5d                   	pop    %ebp
4307e9:	c2 20 00             	ret    $0x20
4307ec:	cc                   	int3
4307ed:	cc                   	int3
4307ee:	cc                   	int3
4307ef:	cc                   	int3
4307f0:	8b ff                	mov    %edi,%edi
4307f2:	55                   	push   %ebp
4307f3:	8b ec                	mov    %esp,%ebp
4307f5:	8b 45 30             	mov    0x30(%ebp),%eax
4307f8:	53                   	push   %ebx
4307f9:	8b 5d 08             	mov    0x8(%ebp),%ebx
4307fc:	56                   	push   %esi
4307fd:	57                   	push   %edi
4307fe:	89 83 c8 00 00 00    	mov    %eax,0xc8(%ebx)
430804:	8b 45 34             	mov    0x34(%ebp),%eax
430807:	89 83 cc 00 00 00    	mov    %eax,0xcc(%ebx)
43080d:	8b 45 18             	mov    0x18(%ebp),%eax
430810:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
430816:	8b 45 1c             	mov    0x1c(%ebp),%eax
430819:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
43081f:	8b 45 20             	mov    0x20(%ebp),%eax
430822:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
430828:	8b 45 24             	mov    0x24(%ebp),%eax
43082b:	89 83 bc 00 00 00    	mov    %eax,0xbc(%ebx)
430831:	8b 45 28             	mov    0x28(%ebp),%eax
430834:	89 83 c0 00 00 00    	mov    %eax,0xc0(%ebx)
43083a:	8b 45 2c             	mov    0x2c(%ebp),%eax
43083d:	c7 83 ac 00 00 00 01 	movl   $0x1,0xac(%ebx)
430844:	00 00 00
430847:	89 83 c4 00 00 00    	mov    %eax,0xc4(%ebx)
43084d:	8b 4b 0c             	mov    0xc(%ebx),%ecx
430850:	83 f9 ff             	cmp    $0xffffffff,%ecx
430853:	74 09                	je     0x43085e
430855:	85 c9                	test   %ecx,%ecx
430857:	74 05                	je     0x43085e
430859:	e8 f2 da ff ff       	call   0x42e350
43085e:	8b 45 0c             	mov    0xc(%ebp),%eax
430861:	89 43 0c             	mov    %eax,0xc(%ebx)
430864:	8b 43 10             	mov    0x10(%ebx),%eax
430867:	6a ff                	push   $0xffffffff
430869:	6a 00                	push   $0x0
43086b:	ff 75 14             	push   0x14(%ebp)
43086e:	8b 70 10             	mov    0x10(%eax),%esi
430871:	8b ce                	mov    %esi,%ecx
430873:	ff 15 20 a5 43 00    	call   *0x43a520
430879:	8d 4b 10             	lea    0x10(%ebx),%ecx
43087c:	ff d6                	call   *%esi
43087e:	8b 45 10             	mov    0x10(%ebp),%eax
430881:	5f                   	pop    %edi
430882:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
430888:	33 c0                	xor    %eax,%eax
43088a:	5e                   	pop    %esi
43088b:	5b                   	pop    %ebx
43088c:	5d                   	pop    %ebp
43088d:	c2 30 00             	ret    $0x30
430890:	8b ff                	mov    %edi,%edi
430892:	55                   	push   %ebp
430893:	8b ec                	mov    %esp,%ebp
430895:	53                   	push   %ebx
430896:	8b d9                	mov    %ecx,%ebx
430898:	56                   	push   %esi
430899:	8d 4b 0c             	lea    0xc(%ebx),%ecx
43089c:	e8 9e b6 fe ff       	call   0x41bf3f
4308a1:	8b 75 08             	mov    0x8(%ebp),%esi
4308a4:	6a 02                	push   $0x2
4308a6:	6a 00                	push   $0x0
4308a8:	6a 00                	push   $0x0
4308aa:	8b 76 0c             	mov    0xc(%esi),%esi
4308ad:	50                   	push   %eax
4308ae:	ff 15 e8 a1 43 00    	call   *0x43a1e8
4308b4:	50                   	push   %eax
4308b5:	56                   	push   %esi
4308b6:	ff 15 e8 a1 43 00    	call   *0x43a1e8
4308bc:	50                   	push   %eax
4308bd:	ff 15 08 a1 43 00    	call   *0x43a108
4308c3:	85 c0                	test   %eax,%eax
4308c5:	75 14                	jne    0x4308db
4308c7:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4308cd:	85 c0                	test   %eax,%eax
4308cf:	7e 3a                	jle    0x43090b
4308d1:	0f b7 c0             	movzwl %ax,%eax
4308d4:	0d 00 00 07 80       	or     $0x80070000,%eax
4308d9:	eb 30                	jmp    0x43090b
4308db:	8b 43 10             	mov    0x10(%ebx),%eax
4308de:	8b 4d 08             	mov    0x8(%ebp),%ecx
4308e1:	57                   	push   %edi
4308e2:	6a ff                	push   $0xffffffff
4308e4:	8b 70 10             	mov    0x10(%eax),%esi
4308e7:	6a 00                	push   $0x0
4308e9:	ff 71 14             	push   0x14(%ecx)
4308ec:	8b ce                	mov    %esi,%ecx
4308ee:	ff 15 20 a5 43 00    	call   *0x43a520
4308f4:	8d 4b 10             	lea    0x10(%ebx),%ecx
4308f7:	ff d6                	call   *%esi
4308f9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4308fc:	5f                   	pop    %edi
4308fd:	8b 81 a4 00 00 00    	mov    0xa4(%ecx),%eax
430903:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
430909:	33 c0                	xor    %eax,%eax
43090b:	5e                   	pop    %esi
43090c:	5b                   	pop    %ebx
43090d:	5d                   	pop    %ebp
43090e:	c2 04 00             	ret    $0x4
430911:	cc                   	int3
430912:	cc                   	int3
430913:	cc                   	int3
430914:	cc                   	int3
430915:	cc                   	int3
430916:	cc                   	int3
430917:	cc                   	int3
430918:	cc                   	int3
430919:	cc                   	int3
43091a:	cc                   	int3
43091b:	cc                   	int3
43091c:	cc                   	int3
43091d:	cc                   	int3
43091e:	cc                   	int3
43091f:	cc                   	int3
430920:	8b ff                	mov    %edi,%edi
430922:	55                   	push   %ebp
430923:	8b ec                	mov    %esp,%ebp
430925:	83 7d 1c 02          	cmpl   $0x2,0x1c(%ebp)
430929:	74 07                	je     0x430932
43092b:	b8 01 00 03 80       	mov    $0x80030001,%eax
430930:	eb 32                	jmp    0x430964
430932:	ff 75 18             	push   0x18(%ebp)