425511:	e8 f5 02 00 00       	call   0x42580b
425516:	59                   	pop    %ecx
425517:	8b 4b 64             	mov    0x64(%ebx),%ecx
42551a:	8b f0                	mov    %eax,%esi
42551c:	f7 d9                	neg    %ecx
42551e:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
425524:	6a 78                	push   $0x78
425526:	1b c9                	sbb    %ecx,%ecx
425528:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
42552e:	50                   	push   %eax
42552f:	81 c1 02 10 00 00    	add    $0x1002,%ecx
425535:	51                   	push   %ecx
425536:	56                   	push   %esi
425537:	ff 15 98 10 43 00    	call   *0x431098
42553d:	83 a5 08 ff ff ff 00 	andl   $0x0,-0xf8(%ebp)
425544:	85 c0                	test   %eax,%eax
425546:	0f 84 d4 01 00 00    	je     0x425720
42554c:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
425552:	50                   	push   %eax
425553:	ff 73 54             	push   0x54(%ebx)
425556:	e8 da 31 ff ff       	call   0x418735
42555b:	59                   	pop    %ecx
42555c:	59                   	pop    %ecx
42555d:	85 c0                	test   %eax,%eax
42555f:	0f 85 b5 00 00 00    	jne    0x42561a
425565:	6a 78                	push   $0x78
425567:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42556d:	50                   	push   %eax
42556e:	8b 43 60             	mov    0x60(%ebx),%eax
425571:	f7 d8                	neg    %eax
425573:	1b c0                	sbb    %eax,%eax
425575:	25 02 f0 ff ff       	and    $0xfffff002,%eax
42557a:	05 01 10 00 00       	add    $0x1001,%eax
42557f:	50                   	push   %eax
425580:	56                   	push   %esi
425581:	ff 15 98 10 43 00    	call   *0x431098
425587:	85 c0                	test   %eax,%eax
425589:	0f 84 91 01 00 00    	je     0x425720
42558f:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
425595:	50                   	push   %eax
425596:	ff 73 50             	push   0x50(%ebx)
425599:	e8 97 31 ff ff       	call   0x418735
42559e:	59                   	pop    %ecx
42559f:	59                   	pop    %ecx
4255a0:	8b 0f                	mov    (%edi),%ecx
4255a2:	85 c0                	test   %eax,%eax
4255a4:	75 0d                	jne    0x4255b3
4255a6:	81 c9 04 03 00 00    	or     $0x304,%ecx
4255ac:	89 77 04             	mov    %esi,0x4(%edi)
4255af:	89 0f                	mov    %ecx,(%edi)
4255b1:	eb 64                	jmp    0x425617
4255b3:	f6 c1 02             	test   $0x2,%cl
4255b6:	75 62                	jne    0x42561a
4255b8:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
4255bc:	74 42                	je     0x425600
4255be:	ff 73 5c             	push   0x5c(%ebx)
4255c1:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4255c7:	50                   	push   %eax
4255c8:	ff 73 50             	push   0x50(%ebx)
4255cb:	e8 81 2f 00 00       	call   0x428551
4255d0:	83 c4 0c             	add    $0xc,%esp
4255d3:	85 c0                	test   %eax,%eax
4255d5:	75 29                	jne    0x425600
4255d7:	83 0f 02             	orl    $0x2,(%edi)
4255da:	89 77 08             	mov    %esi,0x8(%edi)
4255dd:	8b 4b 50             	mov    0x50(%ebx),%ecx
4255e0:	8d 51 02             	lea    0x2(%ecx),%edx
4255e3:	66 8b 01             	mov    (%ecx),%ax
4255e6:	83 c1 02             	add    $0x2,%ecx
4255e9:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
4255f0:	75 f1                	jne    0x4255e3
4255f2:	2b ca                	sub    %edx,%ecx
4255f4:	d1 f9                	sar    $1,%ecx
4255f6:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
4255f9:	75 1f                	jne    0x42561a
4255fb:	89 77 04             	mov    %esi,0x4(%edi)
4255fe:	eb 1a                	jmp    0x42561a
425600:	8b 17                	mov    (%edi),%edx
425602:	f6 c2 01             	test   $0x1,%dl
425605:	75 13                	jne    0x42561a
425607:	56                   	push   %esi
425608:	e8 33 03 00 00       	call   0x425940
42560d:	59                   	pop    %ecx
42560e:	85 c0                	test   %eax,%eax
425610:	74 08                	je     0x42561a
425612:	83 ca 01             	or     $0x1,%edx
425615:	89 17                	mov    %edx,(%edi)
425617:	89 77 08             	mov    %esi,0x8(%edi)
42561a:	8b 07                	mov    (%edi),%eax
42561c:	b9 00 03 00 00       	mov    $0x300,%ecx
425621:	23 c1                	and    %ecx,%eax
425623:	3b c1                	cmp    %ecx,%eax
425625:	0f 84 e9 00 00 00    	je     0x425714
42562b:	6a 78                	push   $0x78
42562d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
425633:	50                   	push   %eax
425634:	8b 43 60             	mov    0x60(%ebx),%eax
425637:	f7 d8                	neg    %eax
425639:	1b c0                	sbb    %eax,%eax
42563b:	25 02 f0 ff ff       	and    $0xfffff002,%eax
425640:	05 01 10 00 00       	add    $0x1001,%eax
425645:	50                   	push   %eax
425646:	56                   	push   %esi
425647:	ff 15 98 10 43 00    	call   *0x431098
42564d:	85 c0                	test   %eax,%eax
42564f:	0f 84 cb 00 00 00    	je     0x425720
425655:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42565b:	50                   	push   %eax
42565c:	ff 73 50             	push   0x50(%ebx)
42565f:	e8 d1 30 ff ff       	call   0x418735
425664:	59                   	pop    %ecx
425665:	59                   	pop    %ecx
425666:	85 c0                	test   %eax,%eax
425668:	75 6a                	jne    0x4256d4
42566a:	8b 0f                	mov    (%edi),%ecx
42566c:	81 c9 00 02 00 00    	or     $0x200,%ecx
425672:	89 0f                	mov    %ecx,(%edi)
425674:	39 43 60             	cmp    %eax,0x60(%ebx)
425677:	74 10                	je     0x425689
425679:	81 c9 00 01 00 00    	or     $0x100,%ecx
42567f:	89 0f                	mov    %ecx,(%edi)
425681:	39 47 04             	cmp    %eax,0x4(%edi)
425684:	e9 86 00 00 00       	jmp    0x42570f
425689:	39 43 5c             	cmp    %eax,0x5c(%ebx)
42568c:	74 eb                	je     0x425679
42568e:	8b 53 50             	mov    0x50(%ebx),%edx
425691:	8d 42 02             	lea    0x2(%edx),%eax
425694:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42569a:	66 8b 02             	mov    (%edx),%ax
42569d:	83 c2 02             	add    $0x2,%edx
4256a0:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
4256a7:	75 f1                	jne    0x42569a
4256a9:	2b 95 04 ff ff ff    	sub    -0xfc(%ebp),%edx
4256af:	d1 fa                	sar    $1,%edx
4256b1:	3b 53 5c             	cmp    0x5c(%ebx),%edx
4256b4:	75 1a                	jne    0x4256d0
4256b6:	57                   	push   %edi
4256b7:	6a 01                	push   $0x1
4256b9:	56                   	push   %esi
4256ba:	e8 a6 02 00 00       	call   0x425965
4256bf:	83 c4 0c             	add    $0xc,%esp
4256c2:	85 c0                	test   %eax,%eax
4256c4:	74 4e                	je     0x425714
4256c6:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
4256cc:	33 c0                	xor    %eax,%eax
4256ce:	eb b1                	jmp    0x425681
4256d0:	33 c0                	xor    %eax,%eax
4256d2:	eb a5                	jmp    0x425679
4256d4:	33 c0                	xor    %eax,%eax
4256d6:	39 43 60             	cmp    %eax,0x60(%ebx)
4256d9:	75 39                	jne    0x425714
4256db:	39 43 5c             	cmp    %eax,0x5c(%ebx)
4256de:	74 34                	je     0x425714
4256e0:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4256e6:	50                   	push   %eax
4256e7:	ff 73 50             	push   0x50(%ebx)
4256ea:	e8 46 30 ff ff       	call   0x418735
4256ef:	59                   	pop    %ecx
4256f0:	59                   	pop    %ecx
4256f1:	85 c0                	test   %eax,%eax
4256f3:	75 1f                	jne    0x425714
4256f5:	57                   	push   %edi
4256f6:	33 db                	xor    %ebx,%ebx
4256f8:	53                   	push   %ebx
4256f9:	56                   	push   %esi
4256fa:	e8 66 02 00 00       	call   0x425965
4256ff:	83 c4 0c             	add    $0xc,%esp
425702:	85 c0                	test   %eax,%eax
425704:	74 0e                	je     0x425714
425706:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
42570c:	39 5f 04             	cmp    %ebx,0x4(%edi)
42570f:	75 03                	jne    0x425714
425711:	89 77 04             	mov    %esi,0x4(%edi)
425714:	8b 07                	mov    (%edi),%eax
425716:	c1 e8 02             	shr    $0x2,%eax
425719:	f7 d0                	not    %eax
42571b:	83 e0 01             	and    $0x1,%eax
42571e:	eb 05                	jmp    0x425725
425720:	33 c0                	xor    %eax,%eax
425722:	89 07                	mov    %eax,(%edi)
425724:	40                   	inc    %eax
425725:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425728:	5f                   	pop    %edi
425729:	5e                   	pop    %esi
42572a:	33 cd                	xor    %ebp,%ecx
42572c:	5b                   	pop    %ebx
42572d:	e8 75 45 fe ff       	call   0x409ca7
425732:	c9                   	leave
425733:	c2 04 00             	ret    $0x4
425736:	8b ff                	mov    %edi,%edi
425738:	55                   	push   %ebp
425739:	8b ec                	mov    %esp,%ebp
42573b:	81 ec f4 00 00 00    	sub    $0xf4,%esp
425741:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
425746:	33 c5                	xor    %ebp,%eax
425748:	89 45 fc             	mov    %eax,-0x4(%ebp)
42574b:	53                   	push   %ebx
42574c:	56                   	push   %esi
42574d:	8b 75 08             	mov    0x8(%ebp),%esi
425750:	57                   	push   %edi
425751:	e8 93 6b ff ff       	call   0x41c2e9
425756:	8b d8                	mov    %eax,%ebx
425758:	e8 8c 6b ff ff       	call   0x41c2e9
42575d:	56                   	push   %esi
42575e:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
425764:	e8 a2 00 00 00       	call   0x42580b
425769:	59                   	pop    %ecx
42576a:	8b 4b 60             	mov    0x60(%ebx),%ecx
42576d:	8b f0                	mov    %eax,%esi
42576f:	f7 d9                	neg    %ecx
425771:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
425777:	6a 78                	push   $0x78
425779:	1b c9                	sbb    %ecx,%ecx
42577b:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
425781:	50                   	push   %eax
425782:	81 c1 01 10 00 00    	add    $0x1001,%ecx
425788:	51                   	push   %ecx
425789:	56                   	push   %esi
42578a:	ff 15 98 10 43 00    	call   *0x431098
425790:	85 c0                	test   %eax,%eax
425792:	75 05                	jne    0x425799
425794:	21 07                	and    %eax,(%edi)
425796:	40                   	inc    %eax
425797:	eb 61                	jmp    0x4257fa
425799:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42579f:	50                   	push   %eax
4257a0:	ff 73 50             	push   0x50(%ebx)
4257a3:	e8 8d 2f ff ff       	call   0x418735
4257a8:	59                   	pop    %ecx
4257a9:	59                   	pop    %ecx
4257aa:	8b 4b 60             	mov    0x60(%ebx),%ecx
4257ad:	85 c0                	test   %eax,%eax
4257af:	75 09                	jne    0x4257ba
4257b1:	85 c9                	test   %ecx,%ecx
4257b3:	75 32                	jne    0x4257e7
4257b5:	57                   	push   %edi
4257b6:	6a 01                	push   $0x1
4257b8:	eb 20                	jmp    0x4257da
4257ba:	85 c9                	test   %ecx,%ecx
4257bc:	75 32                	jne    0x4257f0
4257be:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
4257c1:	74 2d                	je     0x4257f0
4257c3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4257c9:	50                   	push   %eax
4257ca:	ff 73 50             	push   0x50(%ebx)
4257cd:	e8 63 2f ff ff       	call   0x418735
4257d2:	59                   	pop    %ecx
4257d3:	59                   	pop    %ecx
4257d4:	85 c0                	test   %eax,%eax
4257d6:	75 18                	jne    0x4257f0
4257d8:	57                   	push   %edi
4257d9:	50                   	push   %eax
4257da:	56                   	push   %esi
4257db:	e8 85 01 00 00       	call   0x425965
4257e0:	83 c4 0c             	add    $0xc,%esp
4257e3:	85 c0                	test   %eax,%eax
4257e5:	74 09                	je     0x4257f0
4257e7:	83 0f 04             	orl    $0x4,(%edi)
4257ea:	89 77 04             	mov    %esi,0x4(%edi)
4257ed:	89 77 08             	mov    %esi,0x8(%edi)
4257f0:	8b 07                	mov    (%edi),%eax
4257f2:	c1 e8 02             	shr    $0x2,%eax
4257f5:	f7 d0                	not    %eax
4257f7:	83 e0 01             	and    $0x1,%eax
4257fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4257fd:	5f                   	pop    %edi
4257fe:	5e                   	pop    %esi
4257ff:	33 cd                	xor    %ebp,%ecx
425801:	5b                   	pop    %ebx
425802:	e8 a0 44 fe ff       	call   0x409ca7
425807:	c9                   	leave
425808:	c2 04 00             	ret    $0x4
42580b:	8b ff                	mov    %edi,%edi
42580d:	55                   	push   %ebp
42580e:	8b ec                	mov    %esp,%ebp
425810:	8b 55 08             	mov    0x8(%ebp),%edx
425813:	56                   	push   %esi
425814:	33 f6                	xor    %esi,%esi
425816:	0f b7 0a             	movzwl (%edx),%ecx
425819:	83 c2 02             	add    $0x2,%edx
42581c:	66 85 c9             	test   %cx,%cx
42581f:	74 39                	je     0x42585a
425821:	57                   	push   %edi
425822:	6a 05                	push   $0x5
425824:	5f                   	pop    %edi
425825:	8d 41 9f             	lea    -0x61(%ecx),%eax
425828:	66 3b c7             	cmp    %di,%ax
42582b:	77 08                	ja     0x425835
42582d:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
425833:	eb 0e                	jmp    0x425843
425835:	8d 41 bf             	lea    -0x41(%ecx),%eax
425838:	66 3b c7             	cmp    %di,%ax
42583b:	77 06                	ja     0x425843
42583d:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
425843:	c1 e6 04             	shl    $0x4,%esi
425846:	0f b7 c1             	movzwl %cx,%eax
425849:	83 c6 d0             	add    $0xffffffd0,%esi
42584c:	0f b7 0a             	movzwl (%edx),%ecx
42584f:	03 f0                	add    %eax,%esi
425851:	83 c2 02             	add    $0x2,%edx
425854:	66 85 c9             	test   %cx,%cx
425857:	75 cc                	jne    0x425825
425859:	5f                   	pop    %edi
42585a:	8b c6                	mov    %esi,%eax
42585c:	5e                   	pop    %esi
42585d:	5d                   	pop    %ebp
42585e:	c3                   	ret
42585f:	8b ff                	mov    %edi,%edi
425861:	55                   	push   %ebp
425862:	8b ec                	mov    %esp,%ebp
425864:	51                   	push   %ecx
425865:	8b 4d 08             	mov    0x8(%ebp),%ecx
425868:	56                   	push   %esi
425869:	57                   	push   %edi
42586a:	85 c9                	test   %ecx,%ecx
42586c:	0f 84 9e 00 00 00    	je     0x425910
425872:	33 c0                	xor    %eax,%eax
425874:	66 39 01             	cmp    %ax,(%ecx)
425877:	0f 84 93 00 00 00    	je     0x425910
42587d:	be f8 56 43 00       	mov    $0x4356f8,%esi
425882:	8b d1                	mov    %ecx,%edx
425884:	66 8b 3a             	mov    (%edx),%di
425887:	66 3b 3e             	cmp    (%esi),%di
42588a:	75 1e                	jne    0x4258aa
42588c:	66 85 ff             	test   %di,%di
42588f:	74 15                	je     0x4258a6
425891:	66 8b 7a 02          	mov    0x2(%edx),%di
425895:	66 3b 7e 02          	cmp    0x2(%esi),%di
425899:	75 0f                	jne    0x4258aa
42589b:	83 c2 04             	add    $0x4,%edx
42589e:	83 c6 04             	add    $0x4,%esi
4258a1:	66 85 ff             	test   %di,%di
4258a4:	75 de                	jne    0x425884
4258a6:	8b d0                	mov    %eax,%edx
4258a8:	eb 05                	jmp    0x4258af
4258aa:	1b d2                	sbb    %edx,%edx
4258ac:	83 ca 01             	or     $0x1,%edx
4258af:	85 d2                	test   %edx,%edx
4258b1:	74 5d                	je     0x425910
4258b3:	be 0c 57 43 00       	mov    $0x43570c,%esi
4258b8:	8b d1                	mov    %ecx,%edx
4258ba:	66 8b 3a             	mov    (%edx),%di
4258bd:	66 3b 3e             	cmp    (%esi),%di
4258c0:	75 1c                	jne    0x4258de
4258c2:	66 85 ff             	test   %di,%di
4258c5:	74 1c                	je     0x4258e3
4258c7:	66 8b 7a 02          	mov    0x2(%edx),%di
4258cb:	66 3b 7e 02          	cmp    0x2(%esi),%di
4258cf:	75 0d                	jne    0x4258de
4258d1:	83 c2 04             	add    $0x4,%edx