5616da:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
5616e0:	83 c4 10             	add    $0x10,%esp
5616e3:	8b 55 80             	mov    -0x80(%ebp),%edx
5616e6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5616ec:	83 79 14 01          	cmpl   $0x1,0x14(%ecx)
5616f0:	75 15                	jne    0x561707
5616f2:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
5616f8:	81 49 24 00 01 00 00 	orl    $0x100,0x24(%ecx)
5616ff:	eb 06                	jmp    0x561707
561701:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
561707:	83 7a 44 00          	cmpl   $0x0,0x44(%edx)
56170b:	74 04                	je     0x561711
56170d:	33 db                	xor    %ebx,%ebx
56170f:	eb 03                	jmp    0x561714
561711:	8b 5b 14             	mov    0x14(%ebx),%ebx
561714:	ff 85 5c ff ff ff    	incl   -0xa4(%ebp)
56171a:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
561720:	85 c0                	test   %eax,%eax
561722:	0f 84 9e fc ff ff    	je     0x5613c6
561728:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56172b:	5f                   	pop    %edi
56172c:	5e                   	pop    %esi
56172d:	33 cd                	xor    %ebp,%ecx
56172f:	5b                   	pop    %ebx
561730:	e8 a5 fd 07 00       	call   0x5e14da
561735:	8b e5                	mov    %ebp,%esp
561737:	5d                   	pop    %ebp
561738:	c3                   	ret
561739:	cc                   	int3
56173a:	cc                   	int3
56173b:	cc                   	int3
56173c:	cc                   	int3
56173d:	cc                   	int3
56173e:	cc                   	int3
56173f:	cc                   	int3
561740:	55                   	push   %ebp
561741:	8b ec                	mov    %esp,%ebp
561743:	81 ec c0 00 00 00    	sub    $0xc0,%esp
561749:	a1 d4 89 72 00       	mov    0x7289d4,%eax
56174e:	33 c5                	xor    %ebp,%eax
561750:	89 45 fc             	mov    %eax,-0x4(%ebp)
561753:	8b 4d 08             	mov    0x8(%ebp),%ecx
561756:	33 d2                	xor    %edx,%edx
561758:	8b 45 0c             	mov    0xc(%ebp),%eax
56175b:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
561761:	53                   	push   %ebx
561762:	8b 01                	mov    (%ecx),%eax
561764:	8b 5d 10             	mov    0x10(%ebp),%ebx
561767:	56                   	push   %esi
561768:	8b 71 0c             	mov    0xc(%ecx),%esi
56176b:	8b 00                	mov    (%eax),%eax
56176d:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
561773:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
561776:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
56177c:	8b 00                	mov    (%eax),%eax
56177e:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
561784:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
56178b:	89 55 98             	mov    %edx,-0x68(%ebp)
56178e:	89 55 88             	mov    %edx,-0x78(%ebp)
561791:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
561797:	38 50 51             	cmp    %dl,0x51(%eax)
56179a:	74 13                	je     0x5617af
56179c:	5e                   	pop    %esi
56179d:	8d 42 07             	lea    0x7(%edx),%eax
5617a0:	5b                   	pop    %ebx
5617a1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5617a4:	33 cd                	xor    %ebp,%ecx
5617a6:	e8 2f fd 07 00       	call   0x5e14da
5617ab:	8b e5                	mov    %ebp,%esp
5617ad:	5d                   	pop    %ebp
5617ae:	c3                   	ret
5617af:	8b 46 24             	mov    0x24(%esi),%eax
5617b2:	ba 18 00 00 00       	mov    $0x18,%edx
5617b7:	0f b7 4e 18          	movzwl 0x18(%esi),%ecx
5617bb:	a8 20                	test   $0x20,%al
5617bd:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
5617c3:	b8 bf 01 00 00       	mov    $0x1bf,%eax
5617c8:	0f 44 d0             	cmove  %eax,%edx
5617cb:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
5617ce:	0f b7 46 1a          	movzwl 0x1a(%esi),%eax
5617d2:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
5617d8:	0f b7 46 1c          	movzwl 0x1c(%esi),%eax
5617dc:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
5617e2:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
5617e6:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
5617ec:	8b 06                	mov    (%esi),%eax
5617ee:	57                   	push   %edi
5617ef:	0f b7 7e 28          	movzwl 0x28(%esi),%edi
5617f3:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
5617f9:	8b 46 04             	mov    0x4(%esi),%eax
5617fc:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
561802:	0f b7 46 16          	movzwl 0x16(%esi),%eax
561806:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
56180c:	8b 43 38             	mov    0x38(%ebx),%eax
56180f:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
561815:	0f b7 f9             	movzwl %cx,%edi
561818:	8b ca                	mov    %edx,%ecx
56181a:	83 e1 c3             	and    $0xffffffc3,%ecx
56181d:	24 04                	and    $0x4,%al
56181f:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
561825:	53                   	push   %ebx
561826:	0f 44 ca             	cmove  %edx,%ecx
561829:	51                   	push   %ecx
56182a:	57                   	push   %edi
56182b:	ff 70 2c             	push   0x2c(%eax)
56182e:	8b 45 84             	mov    -0x7c(%ebp),%eax
561831:	ff 70 04             	push   0x4(%eax)
561834:	8d 45 9c             	lea    -0x64(%ebp),%eax
561837:	50                   	push   %eax
561838:	e8 a3 2f 00 00       	call   0x5647e0
56183d:	8b f8                	mov    %eax,%edi
56183f:	83 c4 18             	add    $0x18,%esp
561842:	33 c0                	xor    %eax,%eax
561844:	89 7d 8c             	mov    %edi,-0x74(%ebp)
561847:	66 89 46 12          	mov    %ax,0x12(%esi)
56184b:	8b 43 08             	mov    0x8(%ebx),%eax
56184e:	0f b7 00             	movzwl (%eax),%eax
561851:	8b c8                	mov    %eax,%ecx
561853:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
561859:	66 83 f9 0a          	cmp    $0xa,%cx
56185d:	7f 0c                	jg     0x56186b
56185f:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
561866:	00 00 00
561869:	eb 19                	jmp    0x561884
56186b:	98                   	cwtl
56186c:	99                   	cltd
56186d:	52                   	push   %edx
56186e:	50                   	push   %eax
56186f:	e8 1c f5 fc ff       	call   0x530d90
561874:	83 c4 08             	add    $0x8,%esp
561877:	66 83 e8 21          	sub    $0x21,%ax
56187b:	0f b7 c0             	movzwl %ax,%eax
56187e:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
561884:	b9 00 01 00 00       	mov    $0x100,%ecx
561889:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
561890:	85 ff                	test   %edi,%edi
561892:	0f 84 ce 04 00 00    	je     0x561d66
561898:	0f b7 57 0c          	movzwl 0xc(%edi),%edx
56189c:	8b c2                	mov    %edx,%eax
56189e:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
5618a5:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
5618ab:	66 3b c1             	cmp    %cx,%ax
5618ae:	75 38                	jne    0x5618e8
5618b0:	8b 75 94             	mov    -0x6c(%ebp),%esi
5618b3:	8b 43 04             	mov    0x4(%ebx),%eax
5618b6:	0f b7 ce             	movzwl %si,%ecx
5618b9:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
5618bf:	0f bf 0c 48          	movswl (%eax,%ecx,2),%ecx
5618c3:	85 c9                	test   %ecx,%ecx
5618c5:	78 18                	js     0x5618df
5618c7:	8b 43 0c             	mov    0xc(%ebx),%eax
5618ca:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5618cd:	8b 40 04             	mov    0x4(%eax),%eax
5618d0:	0f b6 44 88 0c       	movzbl 0xc(%eax,%ecx,4),%eax
5618d5:	85 c0                	test   %eax,%eax
5618d7:	0f 85 69 04 00 00    	jne    0x561d46
5618dd:	eb 09                	jmp    0x5618e8
5618df:	83 f9 ff             	cmp    $0xffffffff,%ecx
5618e2:	0f 84 5e 04 00 00    	je     0x561d46
5618e8:	8b 4f 20             	mov    0x20(%edi),%ecx
5618eb:	8b 47 24             	mov    0x24(%edi),%eax
5618ee:	23 4e 08             	and    0x8(%esi),%ecx
5618f1:	23 46 0c             	and    0xc(%esi),%eax
5618f4:	0b c8                	or     %eax,%ecx
5618f6:	0f 85 4a 04 00 00    	jne    0x561d46
5618fc:	b8 00 01 00 00       	mov    $0x100,%eax
561901:	66 85 47 0a          	test   %ax,0xa(%edi)
561905:	74 09                	je     0x561910
561907:	83 fa 10             	cmp    $0x10,%edx
56190a:	0f 84 36 04 00 00    	je     0x561d46
561910:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
561916:	f6 40 24 08          	testb  $0x8,0x24(%eax)
56191a:	74 0c                	je     0x561928
56191c:	8b 07                	mov    (%edi),%eax
56191e:	f6 40 04 01          	testb  $0x1,0x4(%eax)
561922:	0f 84 1e 04 00 00    	je     0x561d46
561928:	80 7b 36 00          	cmpb   $0x0,0x36(%ebx)
56192c:	8b 55 94             	mov    -0x6c(%ebp),%edx
56192f:	74 15                	je     0x561946
561931:	0f b7 43 32          	movzwl 0x32(%ebx),%eax
561935:	48                   	dec    %eax
561936:	0f b7 ca             	movzwl %dx,%ecx
561939:	3b c8                	cmp    %eax,%ecx
56193b:	75 09                	jne    0x561946
56193d:	8b 45 84             	mov    -0x7c(%ebp),%eax
561940:	83 48 14 02          	orl    $0x2,0x14(%eax)
561944:	eb 07                	jmp    0x56194d
561946:	8b 45 84             	mov    -0x7c(%ebp),%eax
561949:	83 48 14 01          	orl    $0x1,0x14(%eax)
56194d:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
561953:	89 46 24             	mov    %eax,0x24(%esi)
561956:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
56195c:	66 89 46 1a          	mov    %ax,0x1a(%esi)
561960:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
561966:	66 89 46 1c          	mov    %ax,0x1c(%esi)
56196a:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
561970:	66 89 46 28          	mov    %ax,0x28(%esi)
561974:	0f b7 c0             	movzwl %ax,%eax
561977:	40                   	inc    %eax
561978:	66 89 56 18          	mov    %dx,0x18(%esi)
56197c:	50                   	push   %eax
56197d:	56                   	push   %esi
56197e:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
561984:	e8 c7 17 00 00       	call   0x563150
561989:	83 c4 0c             	add    $0xc,%esp
56198c:	85 c0                	test   %eax,%eax
56198e:	0f 85 d2 03 00 00    	jne    0x561d66
561994:	0f b7 4e 28          	movzwl 0x28(%esi),%ecx
561998:	8b 46 30             	mov    0x30(%esi),%eax
56199b:	8b 55 8c             	mov    -0x74(%ebp),%edx
56199e:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
5619a1:	66 ff 46 28          	incw   0x28(%esi)
5619a5:	8b 52 24             	mov    0x24(%edx),%edx
5619a8:	8b 7f 20             	mov    0x20(%edi),%edi
5619ab:	8b 46 0c             	mov    0xc(%esi),%eax
5619ae:	0b 95 54 ff ff ff    	or     -0xac(%ebp),%edx
5619b4:	f7 d0                	not    %eax
5619b6:	8b 4e 08             	mov    0x8(%esi),%ecx
5619b9:	23 d0                	and    %eax,%edx
5619bb:	0b bd 58 ff ff ff    	or     -0xa8(%ebp),%edi
5619c1:	f7 d1                	not    %ecx
5619c3:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5619c9:	23 f9                	and    %ecx,%edi
5619cb:	66 8b 5e 28          	mov    0x28(%esi),%bx
5619cf:	89 3e                	mov    %edi,(%esi)
5619d1:	89 56 04             	mov    %edx,0x4(%esi)
5619d4:	a8 01                	test   $0x1,%al
5619d6:	0f 84 cc 00 00 00    	je     0x561aa8
5619dc:	8b 45 8c             	mov    -0x74(%ebp),%eax
5619df:	8b 38                	mov    (%eax),%edi
5619e1:	f7 47 04 00 08 00 00 	testl  $0x800,0x4(%edi)
5619e8:	74 5f                	je     0x561a49
5619ea:	0f b7 d3             	movzwl %bx,%edx
5619ed:	33 c9                	xor    %ecx,%ecx
5619ef:	4a                   	dec    %edx
5619f0:	c7 45 90 2e 00 00 00 	movl   $0x2e,-0x70(%ebp)
5619f7:	85 d2                	test   %edx,%edx
5619f9:	7e 6e                	jle    0x561a69
5619fb:	8b 5e 30             	mov    0x30(%esi),%ebx
5619fe:	8b 75 90             	mov    -0x70(%ebp),%esi
561a01:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
561a04:	85 c0                	test   %eax,%eax
561a06:	74 0d                	je     0x561a15
561a08:	39 38                	cmp    %edi,(%eax)
561a0a:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
561a11:	0f 44 75 90          	cmove  -0x70(%ebp),%esi
561a15:	41                   	inc    %ecx
561a16:	3b ca                	cmp    %edx,%ecx
561a18:	7c e7                	jl     0x561a01
561a1a:	89 75 90             	mov    %esi,-0x70(%ebp)
561a1d:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
561a23:	8b 4d 90             	mov    -0x70(%ebp),%ecx
561a26:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
561a2c:	f6 43 38 80          	testb  $0x80,0x38(%ebx)
561a30:	74 70                	je     0x561aa2
561a32:	8b 7d 94             	mov    -0x6c(%ebp),%edi
561a35:	8b 43 08             	mov    0x8(%ebx),%eax
561a38:	0f b7 d7             	movzwl %di,%edx
561a3b:	0f b7 3c 50          	movzwl (%eax,%edx,2),%edi
561a3f:	66 83 f9 0a          	cmp    $0xa,%cx
561a43:	7f 2b                	jg     0x561a70
561a45:	33 c0                	xor    %eax,%eax
561a47:	eb 3c                	jmp    0x561a85
561a49:	8b 47 14             	mov    0x14(%edi),%eax
561a4c:	85 c0                	test   %eax,%eax
561a4e:	74 d3                	je     0x561a23
561a50:	8b 00                	mov    (%eax),%eax
561a52:	85 c0                	test   %eax,%eax
561a54:	74 cd                	je     0x561a23
561a56:	99                   	cltd
561a57:	52                   	push   %edx
561a58:	50                   	push   %eax
561a59:	e8 32 f3 fc ff       	call   0x530d90
561a5e:	0f bf c8             	movswl %ax,%ecx
561a61:	83 c4 08             	add    $0x8,%esp
561a64:	89 4d 90             	mov    %ecx,-0x70(%ebp)
561a67:	eb bd                	jmp    0x561a26
561a69:	b9 2e 00 00 00       	mov    $0x2e,%ecx
561a6e:	eb b6                	jmp    0x561a26
561a70:	0f bf c1             	movswl %cx,%eax
561a73:	99                   	cltd
561a74:	52                   	push   %edx
561a75:	50                   	push   %eax
561a76:	e8 15 f3 fc ff       	call   0x530d90
561a7b:	83 c4 08             	add    $0x8,%esp
561a7e:	66 83 e8 21          	sub    $0x21,%ax
561a82:	0f b7 c0             	movzwl %ax,%eax
561a85:	0f bf c8             	movswl %ax,%ecx
561a88:	0f bf c7             	movswl %di,%eax
561a8b:	83 c0 0a             	add    $0xa,%eax
561a8e:	03 c8                	add    %eax,%ecx
561a90:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
561a96:	98                   	cwtl
561a97:	03 45 90             	add    -0x70(%ebp),%eax
561a9a:	3b c8                	cmp    %eax,%ecx
561a9c:	0f 8c a4 02 00 00    	jl     0x561d46
561aa2:	83 4e 24 04          	orl    $0x4,0x24(%esi)
561aa6:	eb 61                	jmp    0x561b09
561aa8:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
561aae:	a8 82                	test   $0x82,%al
561ab0:	0f 84 88 00 00 00    	je     0x561b3e
561ab6:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
561ab9:	8b 43 04             	mov    0x4(%ebx),%eax
561abc:	0f b7 f9             	movzwl %cx,%edi
561abf:	0f bf 04 78          	movswl (%eax,%edi,2),%eax
561ac3:	83 4e 24 01          	orl    $0x1,0x24(%esi)
561ac7:	8b 4e 24             	mov    0x24(%esi),%ecx
561aca:	83 f8 ff             	cmp    $0xffffffff,%eax
561acd:	74 67                	je     0x561b36
561acf:	85 c0                	test   %eax,%eax
561ad1:	78 36                	js     0x561b09
561ad3:	66 83 7d 14 00       	cmpw   $0x0,0x14(%ebp)
561ad8:	75 2f                	jne    0x561b09
561ada:	0f b7 53 32          	movzwl 0x32(%ebx),%edx
561ade:	8d 42 ff             	lea    -0x1(%edx),%eax
561ae1:	3b f8                	cmp    %eax,%edi
561ae3:	75 24                	jne    0x561b09
561ae5:	f6 43 38 08          	testb  $0x8,0x38(%ebx)
561ae9:	75 4b                	jne    0x561b36
561aeb:	83 fa 01             	cmp    $0x1,%edx
561aee:	75 10                	jne    0x561b00
561af0:	80 7b 36 00          	cmpb   $0x0,0x36(%ebx)
561af4:	74 0a                	je     0x561b00
561af6:	66 83 bd 6c ff ff ff 	cmpw   $0x2,-0x94(%ebp)
561afd:	02
561afe:	74 36                	je     0x561b36
561b00:	81 c9 00 00 01 00    	or     $0x10000,%ecx
561b06:	89 4e 24             	mov    %ecx,0x24(%esi)
561b09:	8b 7d 8c             	mov    -0x74(%ebp),%edi
561b0c:	8b 4d 88             	mov    -0x78(%ebp),%ecx
561b0f:	8b 45 98             	mov    -0x68(%ebp),%eax
561b12:	f6 46 24 02          	testb  $0x2,0x24(%esi)
561b16:	0f 84 fa 00 00 00    	je     0x561c16
561b1c:	56                   	push   %esi
561b1d:	50                   	push   %eax
561b1e:	8b 45 84             	mov    -0x7c(%ebp),%eax
561b21:	51                   	push   %ecx
561b22:	50                   	push   %eax
561b23:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
561b29:	e8 72 2a 00 00       	call   0x5645a0
561b2e:	83 c4 14             	add    $0x14,%esp
561b31:	e9 37 01 00 00       	jmp    0x561c6d
561b36:	81 c9 00 10 00 00    	or     $0x1000,%ecx
561b3c:	eb c8                	jmp    0x561b06
561b3e:	a9 00 01 00 00       	test   $0x100,%eax
561b43:	74 06                	je     0x561b4b
561b45:	83 4e 24 08          	orl    $0x8,0x24(%esi)
561b49:	eb be                	jmp    0x561b09
561b4b:	8b 7d 8c             	mov    -0x74(%ebp),%edi
561b4e:	a8 24                	test   $0x24,%al