430370:	8b ff                	mov    %edi,%edi
430372:	55                   	push   %ebp
430373:	8b ec                	mov    %esp,%ebp
430375:	8b 45 08             	mov    0x8(%ebp),%eax
430378:	57                   	push   %edi
430379:	8b f9                	mov    %ecx,%edi
43037b:	85 c0                	test   %eax,%eax
43037d:	75 1d                	jne    0x43039c
43037f:	56                   	push   %esi
430380:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
430386:	8b ce                	mov    %esi,%ecx
430388:	6a 0c                	push   $0xc
43038a:	ff 15 20 a5 43 00    	call   *0x43a520
430390:	ff d6                	call   *%esi
430392:	5e                   	pop    %esi
430393:	85 c0                	test   %eax,%eax
430395:	75 05                	jne    0x43039c
430397:	e8 35 a0 fe ff       	call   0x41a3d1
43039c:	c7 00 00 19 40 00    	movl   $0x401900,(%eax)
4303a2:	8b 4f 04             	mov    0x4(%edi),%ecx
4303a5:	89 48 04             	mov    %ecx,0x4(%eax)
4303a8:	5f                   	pop    %edi
4303a9:	5d                   	pop    %ebp
4303aa:	c2 04 00             	ret    $0x4
4303ad:	cc                   	int3
4303ae:	cc                   	int3
4303af:	cc                   	int3
4303b0:	6a 00                	push   $0x0
4303b2:	b8 51 e1 41 00       	mov    $0x41e151,%eax
4303b7:	e8 52 aa fe ff       	call   0x41ae0e
4303bc:	8b f9                	mov    %ecx,%edi
4303be:	8b 07                	mov    (%edi),%eax
4303c0:	6a 00                	push   $0x0
4303c2:	8b 70 14             	mov    0x14(%eax),%esi
4303c5:	8b ce                	mov    %esi,%ecx
4303c7:	ff 15 20 a5 43 00    	call   *0x43a520
4303cd:	8b cf                	mov    %edi,%ecx
4303cf:	ff d6                	call   *%esi
4303d1:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4303d5:	74 15                	je     0x4303ec
4303d7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4303db:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
4303e1:	8b ce                	mov    %esi,%ecx
4303e3:	57                   	push   %edi
4303e4:	ff 15 20 a5 43 00    	call   *0x43a520
4303ea:	ff d6                	call   *%esi
4303ec:	e8 eb a9 fe ff       	call   0x41addc
4303f1:	c2 04 00             	ret    $0x4
4303f4:	cc                   	int3
4303f5:	cc                   	int3
4303f6:	cc                   	int3
4303f7:	cc                   	int3
4303f8:	cc                   	int3
4303f9:	cc                   	int3
4303fa:	cc                   	int3
4303fb:	cc                   	int3
4303fc:	cc                   	int3
4303fd:	cc                   	int3
4303fe:	cc                   	int3
4303ff:	cc                   	int3
430400:	8b ff                	mov    %edi,%edi
430402:	57                   	push   %edi
430403:	8b f9                	mov    %ecx,%edi
430405:	85 ff                	test   %edi,%edi
430407:	74 15                	je     0x43041e
430409:	8b 07                	mov    (%edi),%eax
43040b:	56                   	push   %esi
43040c:	6a 01                	push   $0x1
43040e:	8b 70 08             	mov    0x8(%eax),%esi
430411:	8b ce                	mov    %esi,%ecx
430413:	ff 15 20 a5 43 00    	call   *0x43a520
430419:	8b cf                	mov    %edi,%ecx
43041b:	ff d6                	call   *%esi
43041d:	5e                   	pop    %esi
43041e:	5f                   	pop    %edi
43041f:	c3                   	ret
430420:	8b ff                	mov    %edi,%edi
430422:	55                   	push   %ebp
430423:	8b ec                	mov    %esp,%ebp
430425:	8b 45 0c             	mov    0xc(%ebp),%eax
430428:	83 c1 04             	add    $0x4,%ecx
43042b:	ff 30                	push   (%eax)
43042d:	8b 45 08             	mov    0x8(%ebp),%eax
430430:	ff 30                	push   (%eax)
430432:	e8 79 f9 ff ff       	call   0x42fdb0
430437:	5d                   	pop    %ebp
430438:	c2 08 00             	ret    $0x8
43043b:	8b ff                	mov    %edi,%edi
43043d:	55                   	push   %ebp
43043e:	8b ec                	mov    %esp,%ebp
430440:	51                   	push   %ecx
430441:	51                   	push   %ecx
430442:	56                   	push   %esi
430443:	89 4d fc             	mov    %ecx,-0x4(%ebp)
430446:	ff 15 a8 a0 43 00    	call   *0x43a0a8
43044c:	8b 0d 38 a2 43 00    	mov    0x43a238,%ecx
430452:	8d 55 fc             	lea    -0x4(%ebp),%edx
430455:	89 4d f8             	mov    %ecx,-0x8(%ebp)
430458:	8b f0                	mov    %eax,%esi
43045a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43045d:	e8 02 b2 fe ff       	call   0x41b664
430462:	56                   	push   %esi
430463:	ff 15 ac a0 43 00    	call   *0x43a0ac
430469:	5e                   	pop    %esi
43046a:	c9                   	leave
43046b:	c3                   	ret
43046c:	8b ff                	mov    %edi,%edi
43046e:	55                   	push   %ebp
43046f:	8b ec                	mov    %esp,%ebp
430471:	51                   	push   %ecx
430472:	51                   	push   %ecx
430473:	56                   	push   %esi
430474:	89 4d fc             	mov    %ecx,-0x4(%ebp)
430477:	ff 15 a8 a0 43 00    	call   *0x43a0a8
43047d:	8b 0d 64 a0 43 00    	mov    0x43a064,%ecx
430483:	8d 55 fc             	lea    -0x4(%ebp),%edx
430486:	89 4d f8             	mov    %ecx,-0x8(%ebp)
430489:	8b f0                	mov    %eax,%esi
43048b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43048e:	e8 d1 b1 fe ff       	call   0x41b664
430493:	56                   	push   %esi
430494:	ff 15 ac a0 43 00    	call   *0x43a0ac
43049a:	5e                   	pop    %esi
43049b:	c9                   	leave
43049c:	c3                   	ret
43049d:	a1 10 8e 43 00       	mov    0x438e10,%eax
4304a2:	85 c0                	test   %eax,%eax
4304a4:	74 27                	je     0x4304cd
4304a6:	83 f8 2c             	cmp    $0x2c,%eax
4304a9:	74 06                	je     0x4304b1
4304ab:	b8 57 00 07 80       	mov    $0x80070057,%eax
4304b0:	c3                   	ret
4304b1:	b9 30 8e 43 00       	mov    $0x438e30,%ecx
4304b6:	e8 15 00 00 00       	call   0x4304d0
4304bb:	68 14 8e 43 00       	push   $0x438e14
4304c0:	ff 15 90 a2 43 00    	call   *0x43a290
4304c6:	83 25 10 8e 43 00 00 	andl   $0x0,0x438e10
4304cd:	33 c0                	xor    %eax,%eax
4304cf:	c3                   	ret
4304d0:	8b ff                	mov    %edi,%edi
4304d2:	56                   	push   %esi
4304d3:	8b f1                	mov    %ecx,%esi
4304d5:	83 3e 00             	cmpl   $0x0,(%esi)
4304d8:	74 0c                	je     0x4304e6
4304da:	ff 36                	push   (%esi)
4304dc:	ff 15 14 a4 43 00    	call   *0x43a414
4304e2:	83 26 00             	andl   $0x0,(%esi)
4304e5:	59                   	pop    %ecx
4304e6:	83 66 04 00          	andl   $0x0,0x4(%esi)
4304ea:	83 66 08 00          	andl   $0x0,0x8(%esi)
4304ee:	5e                   	pop    %esi
4304ef:	c3                   	ret
4304f0:	6a 04                	push   $0x4
4304f2:	b8 fc e2 41 00       	mov    $0x41e2fc,%eax
4304f7:	e8 12 a9 fe ff       	call   0x41ae0e
4304fc:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
430500:	75 07                	jne    0x430509
430502:	b8 03 40 00 80       	mov    $0x80004003,%eax
430507:	eb 66                	jmp    0x43056f
430509:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43050c:	e8 53 72 ff ff       	call   0x427764
430511:	8b d8                	mov    %eax,%ebx
430513:	85 db                	test   %ebx,%ebx
430515:	78 56                	js     0x43056d
430517:	8b 7d f0             	mov    -0x10(%ebp),%edi
43051a:	85 ff                	test   %edi,%edi
43051c:	74 10                	je     0x43052e
43051e:	8b 07                	mov    (%edi),%eax
430520:	57                   	push   %edi
430521:	8b 70 04             	mov    0x4(%eax),%esi
430524:	8b ce                	mov    %esi,%ecx
430526:	ff 15 20 a5 43 00    	call   *0x43a520
43052c:	ff d6                	call   *%esi
43052e:	ff 75 08             	push   0x8(%ebp)
430531:	8b cf                	mov    %edi,%ecx
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