43647b:	cc                   	int3
43647c:	cc                   	int3
43647d:	cc                   	int3
43647e:	cc                   	int3
43647f:	cc                   	int3
436480:	8b ff                	mov    %edi,%edi
436482:	55                   	push   %ebp
436483:	8b ec                	mov    %esp,%ebp
436485:	81 ec f4 00 00 00    	sub    $0xf4,%esp
43648b:	a1 14 40 45 00       	mov    0x454014,%eax
436490:	33 c5                	xor    %ebp,%eax
436492:	89 45 fc             	mov    %eax,-0x4(%ebp)
436495:	53                   	push   %ebx
436496:	56                   	push   %esi
436497:	8b 75 08             	mov    0x8(%ebp),%esi
43649a:	57                   	push   %edi
43649b:	e8 89 5c ff ff       	call   0x42c129
4364a0:	8b d8                	mov    %eax,%ebx
4364a2:	e8 82 5c ff ff       	call   0x42c129
4364a7:	56                   	push   %esi
4364a8:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
4364ae:	e8 a2 00 00 00       	call   0x436555
4364b3:	59                   	pop    %ecx
4364b4:	8b 4b 60             	mov    0x60(%ebx),%ecx
4364b7:	8b f0                	mov    %eax,%esi
4364b9:	f7 d9                	neg    %ecx
4364bb:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4364c1:	6a 78                	push   $0x78
4364c3:	1b c9                	sbb    %ecx,%ecx
4364c5:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
4364cb:	50                   	push   %eax
4364cc:	81 c1 01 10 00 00    	add    $0x1001,%ecx
4364d2:	51                   	push   %ecx
4364d3:	56                   	push   %esi
4364d4:	ff 15 9c f1 43 00    	call   *0x43f19c
4364da:	85 c0                	test   %eax,%eax
4364dc:	75 05                	jne    0x4364e3
4364de:	21 07                	and    %eax,(%edi)
4364e0:	40                   	inc    %eax
4364e1:	eb 61                	jmp    0x436544
4364e3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4364e9:	50                   	push   %eax
4364ea:	ff 73 50             	push   0x50(%ebx)
4364ed:	e8 8e 1a ff ff       	call   0x427f80
4364f2:	59                   	pop    %ecx
4364f3:	59                   	pop    %ecx
4364f4:	8b 4b 60             	mov    0x60(%ebx),%ecx
4364f7:	85 c0                	test   %eax,%eax
4364f9:	75 09                	jne    0x436504
4364fb:	85 c9                	test   %ecx,%ecx
4364fd:	75 32                	jne    0x436531
4364ff:	57                   	push   %edi
436500:	6a 01                	push   $0x1
436502:	eb 20                	jmp    0x436524
436504:	85 c9                	test   %ecx,%ecx
436506:	75 32                	jne    0x43653a
436508:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
43650b:	74 2d                	je     0x43653a
43650d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436513:	50                   	push   %eax
436514:	ff 73 50             	push   0x50(%ebx)
436517:	e8 64 1a ff ff       	call   0x427f80
43651c:	59                   	pop    %ecx
43651d:	59                   	pop    %ecx
43651e:	85 c0                	test   %eax,%eax
436520:	75 18                	jne    0x43653a
436522:	57                   	push   %edi
436523:	50                   	push   %eax
436524:	56                   	push   %esi
436525:	e8 85 01 00 00       	call   0x4366af
43652a:	83 c4 0c             	add    $0xc,%esp
43652d:	85 c0                	test   %eax,%eax
43652f:	74 09                	je     0x43653a
436531:	83 0f 04             	orl    $0x4,(%edi)
436534:	89 77 04             	mov    %esi,0x4(%edi)
436537:	89 77 08             	mov    %esi,0x8(%edi)
43653a:	8b 07                	mov    (%edi),%eax
43653c:	c1 e8 02             	shr    $0x2,%eax
43653f:	f7 d0                	not    %eax
436541:	83 e0 01             	and    $0x1,%eax
436544:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436547:	5f                   	pop    %edi
436548:	5e                   	pop    %esi
436549:	33 cd                	xor    %ebp,%ecx
43654b:	5b                   	pop    %ebx
43654c:	e8 7f 53 fe ff       	call   0x41b8d0
436551:	c9                   	leave
436552:	c2 04 00             	ret    $0x4
436555:	8b ff                	mov    %edi,%edi
436557:	55                   	push   %ebp
436558:	8b ec                	mov    %esp,%ebp
43655a:	8b 55 08             	mov    0x8(%ebp),%edx
43655d:	56                   	push   %esi
43655e:	33 f6                	xor    %esi,%esi
436560:	0f b7 0a             	movzwl (%edx),%ecx
436563:	83 c2 02             	add    $0x2,%edx
436566:	66 85 c9             	test   %cx,%cx
436569:	74 39                	je     0x4365a4
43656b:	57                   	push   %edi
43656c:	6a 05                	push   $0x5
43656e:	5f                   	pop    %edi
43656f:	8d 41 9f             	lea    -0x61(%ecx),%eax
436572:	66 3b c7             	cmp    %di,%ax
436575:	77 08                	ja     0x43657f
436577:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
43657d:	eb 0e                	jmp    0x43658d
43657f:	8d 41 bf             	lea    -0x41(%ecx),%eax
436582:	66 3b c7             	cmp    %di,%ax
436585:	77 06                	ja     0x43658d
436587:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
43658d:	c1 e6 04             	shl    $0x4,%esi
436590:	0f b7 c1             	movzwl %cx,%eax
436593:	83 c6 d0             	add    $0xffffffd0,%esi
436596:	0f b7 0a             	movzwl (%edx),%ecx
436599:	03 f0                	add    %eax,%esi
43659b:	83 c2 02             	add    $0x2,%edx
43659e:	66 85 c9             	test   %cx,%cx
4365a1:	75 cc                	jne    0x43656f
4365a3:	5f                   	pop    %edi
4365a4:	8b c6                	mov    %esi,%eax
4365a6:	5e                   	pop    %esi
4365a7:	5d                   	pop    %ebp
4365a8:	c3                   	ret
4365a9:	8b ff                	mov    %edi,%edi
4365ab:	55                   	push   %ebp
4365ac:	8b ec                	mov    %esp,%ebp
4365ae:	51                   	push   %ecx
4365af:	8b 4d 08             	mov    0x8(%ebp),%ecx
4365b2:	56                   	push   %esi
4365b3:	57                   	push   %edi
4365b4:	85 c9                	test   %ecx,%ecx
4365b6:	0f 84 9e 00 00 00    	je     0x43665a
4365bc:	33 c0                	xor    %eax,%eax
4365be:	66 39 01             	cmp    %ax,(%ecx)
4365c1:	0f 84 93 00 00 00    	je     0x43665a
4365c7:	be e0 47 44 00       	mov    $0x4447e0,%esi
4365cc:	8b d1                	mov    %ecx,%edx
4365ce:	66 8b 3a             	mov    (%edx),%di
4365d1:	66 3b 3e             	cmp    (%esi),%di
4365d4:	75 1e                	jne    0x4365f4
4365d6:	66 85 ff             	test   %di,%di
4365d9:	74 15                	je     0x4365f0
4365db:	66 8b 7a 02          	mov    0x2(%edx),%di
4365df:	66 3b 7e 02          	cmp    0x2(%esi),%di
4365e3:	75 0f                	jne    0x4365f4
4365e5:	83 c2 04             	add    $0x4,%edx
4365e8:	83 c6 04             	add    $0x4,%esi
4365eb:	66 85 ff             	test   %di,%di
4365ee:	75 de                	jne    0x4365ce
4365f0:	8b d0                	mov    %eax,%edx
4365f2:	eb 05                	jmp    0x4365f9
4365f4:	1b d2                	sbb    %edx,%edx
4365f6:	83 ca 01             	or     $0x1,%edx
4365f9:	85 d2                	test   %edx,%edx
4365fb:	74 5d                	je     0x43665a
4365fd:	be f4 47 44 00       	mov    $0x4447f4,%esi
436602:	8b d1                	mov    %ecx,%edx
436604:	66 8b 3a             	mov    (%edx),%di
436607:	66 3b 3e             	cmp    (%esi),%di
43660a:	75 1c                	jne    0x436628
43660c:	66 85 ff             	test   %di,%di
43660f:	74 1c                	je     0x43662d
436611:	66 8b 7a 02          	mov    0x2(%edx),%di
436615:	66 3b 7e 02          	cmp    0x2(%esi),%di
436619:	75 0d                	jne    0x436628
43661b:	83 c2 04             	add    $0x4,%edx
43661e:	83 c6 04             	add    $0x4,%esi
436621:	66 85 ff             	test   %di,%di
436624:	75 de                	jne    0x436604
436626:	eb 05                	jmp    0x43662d
436628:	1b c0                	sbb    %eax,%eax
43662a:	83 c8 01             	or     $0x1,%eax
43662d:	85 c0                	test   %eax,%eax
43662f:	75 20                	jne    0x436651
436631:	6a 02                	push   $0x2
436633:	8d 45 fc             	lea    -0x4(%ebp),%eax
436636:	50                   	push   %eax
436637:	8b 45 0c             	mov    0xc(%ebp),%eax
43663a:	68 0b 00 00 20       	push   $0x2000000b
43663f:	ff 70 08             	push   0x8(%eax)
436642:	ff 15 9c f1 43 00    	call   *0x43f19c
436648:	85 c0                	test   %eax,%eax
43664a:	74 29                	je     0x436675
43664c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43664f:	eb 35                	jmp    0x436686
436651:	51                   	push   %ecx
436652:	e8 fe 15 ff ff       	call   0x427c55
436657:	59                   	pop    %ecx
436658:	eb 2c                	jmp    0x436686
43665a:	6a 02                	push   $0x2
43665c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43665f:	50                   	push   %eax
436660:	8b 45 0c             	mov    0xc(%ebp),%eax
436663:	68 04 10 00 20       	push   $0x20001004
436668:	ff 70 08             	push   0x8(%eax)
43666b:	ff 15 9c f1 43 00    	call   *0x43f19c
436671:	85 c0                	test   %eax,%eax
436673:	75 04                	jne    0x436679
436675:	33 c0                	xor    %eax,%eax
436677:	eb 0d                	jmp    0x436686
436679:	8b 45 fc             	mov    -0x4(%ebp),%eax
43667c:	85 c0                	test   %eax,%eax
43667e:	75 06                	jne    0x436686
436680:	ff 15 3c f0 43 00    	call   *0x43f03c
436686:	5f                   	pop    %edi
436687:	5e                   	pop    %esi
436688:	c9                   	leave
436689:	c3                   	ret
43668a:	8b ff                	mov    %edi,%edi
43668c:	55                   	push   %ebp
43668d:	8b ec                	mov    %esp,%ebp
43668f:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
436693:	33 c0                	xor    %eax,%eax
436695:	66 3b 88 fc 47 44 00 	cmp    0x4447fc(%eax),%cx
43669c:	74 0d                	je     0x4366ab
43669e:	83 c0 02             	add    $0x2,%eax
4366a1:	83 f8 14             	cmp    $0x14,%eax
4366a4:	72 ef                	jb     0x436695
4366a6:	33 c0                	xor    %eax,%eax
4366a8:	40                   	inc    %eax
4366a9:	5d                   	pop    %ebp
4366aa:	c3                   	ret
4366ab:	33 c0                	xor    %eax,%eax
4366ad:	5d                   	pop    %ebp
4366ae:	c3                   	ret
4366af:	8b ff                	mov    %edi,%edi
4366b1:	55                   	push   %ebp
4366b2:	8b ec                	mov    %esp,%ebp
4366b4:	51                   	push   %ecx
4366b5:	56                   	push   %esi
4366b6:	57                   	push   %edi
4366b7:	e8 6d 5a ff ff       	call   0x42c129
4366bc:	8b 75 08             	mov    0x8(%ebp),%esi
4366bf:	8b f8                	mov    %eax,%edi
4366c1:	6a 02                	push   $0x2
4366c3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4366c6:	8b ce                	mov    %esi,%ecx
4366c8:	50                   	push   %eax
4366c9:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4366cf:	68 01 00 00 20       	push   $0x20000001
4366d4:	81 c9 00 04 00 00    	or     $0x400,%ecx
4366da:	51                   	push   %ecx
4366db:	ff 15 9c f1 43 00    	call   *0x43f19c
4366e1:	85 c0                	test   %eax,%eax
4366e3:	74 39                	je     0x43671e
4366e5:	3b 75 fc             	cmp    -0x4(%ebp),%esi
4366e8:	74 2f                	je     0x436719
4366ea:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4366ee:	74 29                	je     0x436719
4366f0:	8b 77 50             	mov    0x50(%edi),%esi
4366f3:	8d 4e 02             	lea    0x2(%esi),%ecx
4366f6:	66 8b 06             	mov    (%esi),%ax
4366f9:	83 c6 02             	add    $0x2,%esi
4366fc:	66 85 c0             	test   %ax,%ax
4366ff:	75 f5                	jne    0x4366f6
436701:	ff 77 50             	push   0x50(%edi)
436704:	2b f1                	sub    %ecx,%esi
436706:	d1 fe                	sar    $1,%esi
436708:	e8 df fa ff ff       	call   0x4361ec
43670d:	59                   	pop    %ecx
43670e:	33 c9                	xor    %ecx,%ecx
436710:	3b c6                	cmp    %esi,%eax
436712:	0f 95 c1             	setne  %cl
436715:	8b c1                	mov    %ecx,%eax
436717:	eb 07                	jmp    0x436720
436719:	33 c0                	xor    %eax,%eax
43671b:	40                   	inc    %eax
43671c:	eb 02                	jmp    0x436720
43671e:	33 c0                	xor    %eax,%eax
436720:	5f                   	pop    %edi
436721:	5e                   	pop    %esi
436722:	c9                   	leave
436723:	c3                   	ret
436724:	8b ff                	mov    %edi,%edi
436726:	55                   	push   %ebp
436727:	8b ec                	mov    %esp,%ebp
436729:	51                   	push   %ecx
43672a:	53                   	push   %ebx
43672b:	56                   	push   %esi
43672c:	8b 75 0c             	mov    0xc(%ebp),%esi
43672f:	57                   	push   %edi
436730:	33 ff                	xor    %edi,%edi
436732:	85 f6                	test   %esi,%esi
436734:	78 34                	js     0x43676a
436736:	8d 04 37             	lea    (%edi,%esi,1),%eax
436739:	99                   	cltd
43673a:	2b c2                	sub    %edx,%eax
43673c:	8b d8                	mov    %eax,%ebx
43673e:	8b 45 08             	mov    0x8(%ebp),%eax
436741:	d1 fb                	sar    $1,%ebx
436743:	6b cb 0c             	imul   $0xc,%ebx,%ecx
436746:	89 4d fc             	mov    %ecx,-0x4(%ebp)
436749:	ff 34 01             	push   (%ecx,%eax,1)
43674c:	8b 45 10             	mov    0x10(%ebp),%eax
43674f:	ff 30                	push   (%eax)
436751:	e8 2a 18 ff ff       	call   0x427f80
436756:	59                   	pop    %ecx
436757:	59                   	pop    %ecx
436758:	85 c0                	test   %eax,%eax
43675a:	74 15                	je     0x436771
43675c:	79 05                	jns    0x436763
43675e:	8d 73 ff             	lea    -0x1(%ebx),%esi
436761:	eb 03                	jmp    0x436766
436763:	8d 7b 01             	lea    0x1(%ebx),%edi
436766:	3b fe                	cmp    %esi,%edi
436768:	7e cc                	jle    0x436736
43676a:	32 c0                	xor    %al,%al
43676c:	5f                   	pop    %edi
43676d:	5e                   	pop    %esi
43676e:	5b                   	pop    %ebx
43676f:	c9                   	leave
436770:	c3                   	ret
436771:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436774:	8b 45 08             	mov    0x8(%ebp),%eax
436777:	83 c1 04             	add    $0x4,%ecx
43677a:	03 c1                	add    %ecx,%eax
43677c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43677f:	89 01                	mov    %eax,(%ecx)
436781:	b0 01                	mov    $0x1,%al
436783:	eb e7                	jmp    0x43676c
436785:	8b ff                	mov    %edi,%edi
436787:	55                   	push   %ebp
436788:	8b ec                	mov    %esp,%ebp
43678a:	83 ec 18             	sub    $0x18,%esp
43678d:	a1 14 40 45 00       	mov    0x454014,%eax
436792:	33 c5                	xor    %ebp,%eax
436794:	89 45 fc             	mov    %eax,-0x4(%ebp)
436797:	8b 45 0c             	mov    0xc(%ebp),%eax
43679a:	53                   	push   %ebx
43679b:	8b 5d 10             	mov    0x10(%ebp),%ebx
43679e:	56                   	push   %esi
43679f:	8b 75 08             	mov    0x8(%ebp),%esi
4367a2:	57                   	push   %edi
4367a3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4367a6:	e8 7e 59 ff ff       	call   0x42c129
4367ab:	83 c0 50             	add    $0x50,%eax
4367ae:	8d 7d f0             	lea    -0x10(%ebp),%edi
4367b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4367b4:	33 c0                	xor    %eax,%eax
4367b6:	ab                   	stos   %eax,%es:(%edi)
4367b7:	ab                   	stos   %eax,%es:(%edi)
4367b8:	ab                   	stos   %eax,%es:(%edi)
4367b9:	e8 6b 59 ff ff       	call   0x42c129
4367be:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4367c1:	33 d2                	xor    %edx,%edx
4367c3:	89 88 4c 03 00 00    	mov    %ecx,0x34c(%eax)
4367c9:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
4367cf:	8b 45 ec             	mov    -0x14(%ebp),%eax
4367d2:	89 30                	mov    %esi,(%eax)
4367d4:	8d 78 04             	lea    0x4(%eax),%edi