5076cf:	e9 55 02 00 00       	jmp    0x507929
5076d4:	81 c2 3b ff ff ff    	add    $0xffffff3b,%edx
5076da:	83 fa 07             	cmp    $0x7,%edx
5076dd:	0f 87 46 02 00 00    	ja     0x507929
5076e3:	ff 24 95 ea 76 50 00 	jmp    *0x5076ea(,%edx,4)
5076ea:	13 78 50             	adc    0x50(%eax),%edi
5076ed:	00 13                	add    %dl,(%ebx)
5076ef:	78 50                	js     0x507741
5076f1:	00 13                	add    %dl,(%ebx)
5076f3:	78 50                	js     0x507745
5076f5:	00 13                	add    %dl,(%ebx)
5076f7:	78 50                	js     0x507749
5076f9:	00 da                	add    %bl,%dl
5076fb:	77 50                	ja     0x50774d
5076fd:	00 f5                	add    %dh,%ch
5076ff:	77 50                	ja     0x507751
507701:	00 13                	add    %dl,(%ebx)
507703:	78 50                	js     0x507755
507705:	00 75 78             	add    %dh,0x78(%ebp)
507708:	50                   	push   %eax
507709:	00 81 fa db 00 00    	add    %al,0xdbfa(%ecx)
50770f:	00 7f 54             	add    %bh,0x54(%edi)
507712:	0f 84 85 01 00 00    	je     0x50789d
507718:	81 c2 33 ff ff ff    	add    $0xffffff33,%edx
50771e:	83 fa 0d             	cmp    $0xd,%edx
507721:	0f 87 02 02 00 00    	ja     0x507929
507727:	ff 24 95 2e 77 50 00 	jmp    *0x50772e(,%edx,4)
50772e:	13 78 50             	adc    0x50(%eax),%edi
507731:	00 13                	add    %dl,(%ebx)
507733:	78 50                	js     0x507785
507735:	00 13                	add    %dl,(%ebx)
507737:	78 50                	js     0x507789
507739:	00 f9                	add    %bh,%cl
50773b:	78 50                	js     0x50778d
50773d:	00 f9                	add    %bh,%cl
50773f:	78 50                	js     0x507791
507741:	00 f9                	add    %bh,%cl
507743:	78 50                	js     0x507795
507745:	00 f9                	add    %bh,%cl
507747:	78 50                	js     0x507799
507749:	00 f9                	add    %bh,%cl
50774b:	78 50                	js     0x50779d
50774d:	00 f9                	add    %bh,%cl
50774f:	78 50                	js     0x5077a1
507751:	00 f9                	add    %bh,%cl
507753:	78 50                	js     0x5077a5
507755:	00 f9                	add    %bh,%cl
507757:	78 50                	js     0x5077a9
507759:	00 93 77 50 00 50    	add    %dl,0x50005077(%ebx)
50775f:	78 50                	js     0x5077b1
507761:	00 30                	add    %dh,(%eax)
507763:	78 50                	js     0x5077b5
507765:	00 81 ea dc 00 00    	add    %al,0xdcea(%ecx)
50776b:	00 0f                	add    %cl,(%edi)
50776d:	84 a7 01 00 00 4a    	test   %ah,0x4a000001(%edi)
507773:	0f 84 38 01 00 00    	je     0x5078b1
507779:	83 c2 fd             	add    $0xfffffffd,%edx
50777c:	83 ea 10             	sub    $0x10,%edx
50777f:	0f 82 40 01 00 00    	jb     0x5078c5
507785:	83 ea 0e             	sub    $0xe,%edx
507788:	0f 84 57 01 00 00    	je     0x5078e5
50778e:	e9 96 01 00 00       	jmp    0x507929
507793:	8b c3                	mov    %ebx,%eax
507795:	e8 7e e8 ff ff       	call   0x506018
50779a:	85 c0                	test   %eax,%eax
50779c:	0f 85 9f 01 00 00    	jne    0x507941
5077a2:	33 c0                	xor    %eax,%eax
5077a4:	5e                   	pop    %esi
5077a5:	5b                   	pop    %ebx
5077a6:	c3                   	ret
5077a7:	33 c9                	xor    %ecx,%ecx
5077a9:	33 d2                	xor    %edx,%edx
5077ab:	8b c3                	mov    %ebx,%eax
5077ad:	e8 0e e9 ff ff       	call   0x5060c0
5077b2:	85 c0                	test   %eax,%eax
5077b4:	0f 85 87 01 00 00    	jne    0x507941
5077ba:	33 c0                	xor    %eax,%eax
5077bc:	5e                   	pop    %esi
5077bd:	5b                   	pop    %ebx
5077be:	c3                   	ret
5077bf:	33 c9                	xor    %ecx,%ecx
5077c1:	ba 01 00 00 00       	mov    $0x1,%edx
5077c6:	8b c3                	mov    %ebx,%eax
5077c8:	e8 f3 e8 ff ff       	call   0x5060c0
5077cd:	85 c0                	test   %eax,%eax
5077cf:	0f 85 6c 01 00 00    	jne    0x507941
5077d5:	33 c0                	xor    %eax,%eax
5077d7:	5e                   	pop    %esi
5077d8:	5b                   	pop    %ebx
5077d9:	c3                   	ret
5077da:	b9 01 00 00 00       	mov    $0x1,%ecx
5077df:	33 d2                	xor    %edx,%edx
5077e1:	8b c3                	mov    %ebx,%eax
5077e3:	e8 d8 e8 ff ff       	call   0x5060c0
5077e8:	85 c0                	test   %eax,%eax
5077ea:	0f 85 51 01 00 00    	jne    0x507941
5077f0:	33 c0                	xor    %eax,%eax
5077f2:	5e                   	pop    %esi
5077f3:	5b                   	pop    %ebx
5077f4:	c3                   	ret
5077f5:	b9 01 00 00 00       	mov    $0x1,%ecx
5077fa:	ba 01 00 00 00       	mov    $0x1,%edx
5077ff:	8b c3                	mov    %ebx,%eax
507801:	e8 ba e8 ff ff       	call   0x5060c0
507806:	85 c0                	test   %eax,%eax
507808:	0f 85 33 01 00 00    	jne    0x507941
50780e:	33 c0                	xor    %eax,%eax
507810:	5e                   	pop    %esi
507811:	5b                   	pop    %ebx
507812:	c3                   	ret
507813:	8b 03                	mov    (%ebx),%eax
507815:	c7 40 14 3b 00 00 00 	movl   $0x3b,0x14(%eax)
50781c:	8b 93 98 01 00 00    	mov    0x198(%ebx),%edx
507822:	89 50 18             	mov    %edx,0x18(%eax)
507825:	8b c3                	mov    %ebx,%eax
507827:	8b 10                	mov    (%eax),%edx
507829:	ff 12                	call   *(%edx)
50782b:	e9 11 01 00 00       	jmp    0x507941
507830:	8b c3                	mov    %ebx,%eax
507832:	e8 09 ec ff ff       	call   0x506440
507837:	85 c0                	test   %eax,%eax
507839:	75 05                	jne    0x507840
50783b:	33 c0                	xor    %eax,%eax
50783d:	5e                   	pop    %esi
50783e:	5b                   	pop    %ebx
50783f:	c3                   	ret
507840:	b8 01 00 00 00       	mov    $0x1,%eax
507845:	33 d2                	xor    %edx,%edx
507847:	89 93 98 01 00 00    	mov    %edx,0x198(%ebx)
50784d:	5e                   	pop    %esi
50784e:	5b                   	pop    %ebx
50784f:	c3                   	ret
507850:	8b 13                	mov    (%ebx),%edx
507852:	8b c3                	mov    %ebx,%eax
507854:	c7 42 14 54 00 00 00 	movl   $0x54,0x14(%edx)
50785b:	8b 08                	mov    (%eax),%ecx
50785d:	ba 01 00 00 00       	mov    $0x1,%edx
507862:	ff 51 04             	call   *0x4(%ecx)
507865:	33 c0                	xor    %eax,%eax
507867:	89 83 98 01 00 00    	mov    %eax,0x198(%ebx)
50786d:	b8 02 00 00 00       	mov    $0x2,%eax
507872:	5e                   	pop    %esi
507873:	5b                   	pop    %ebx
507874:	c3                   	ret
507875:	8b c3                	mov    %ebx,%eax
507877:	e8 60 f3 ff ff       	call   0x506bdc
50787c:	85 c0                	test   %eax,%eax
50787e:	0f 85 bd 00 00 00    	jne    0x507941
507884:	33 c0                	xor    %eax,%eax
507886:	5e                   	pop    %esi
507887:	5b                   	pop    %ebx
507888:	c3                   	ret
507889:	8b c3                	mov    %ebx,%eax
50788b:	e8 e0 f4 ff ff       	call   0x506d70
507890:	85 c0                	test   %eax,%eax
507892:	0f 85 a9 00 00 00    	jne    0x507941
507898:	33 c0                	xor    %eax,%eax
50789a:	5e                   	pop    %esi
50789b:	5b                   	pop    %ebx
50789c:	c3                   	ret
50789d:	8b c3                	mov    %ebx,%eax
50789f:	e8 ec f7 ff ff       	call   0x507090
5078a4:	85 c0                	test   %eax,%eax
5078a6:	0f 85 95 00 00 00    	jne    0x507941
5078ac:	33 c0                	xor    %eax,%eax
5078ae:	5e                   	pop    %esi
5078af:	5b                   	pop    %ebx
5078b0:	c3                   	ret
5078b1:	8b c3                	mov    %ebx,%eax
5078b3:	e8 5c fa ff ff       	call   0x507314
5078b8:	85 c0                	test   %eax,%eax
5078ba:	0f 85 81 00 00 00    	jne    0x507941
5078c0:	33 c0                	xor    %eax,%eax
5078c2:	5e                   	pop    %esi
5078c3:	5b                   	pop    %ebx
5078c4:	c3                   	ret
5078c5:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
5078cb:	8b 8b 98 01 00 00    	mov    0x198(%ebx),%ecx
5078d1:	8b b4 8a 90 fc ff ff 	mov    -0x370(%edx,%ecx,4),%esi
5078d8:	8b c3                	mov    %ebx,%eax
5078da:	ff d6                	call   *%esi
5078dc:	85 c0                	test   %eax,%eax
5078de:	75 61                	jne    0x507941
5078e0:	33 c0                	xor    %eax,%eax
5078e2:	5e                   	pop    %esi
5078e3:	5b                   	pop    %ebx
5078e4:	c3                   	ret
5078e5:	8b c3                	mov    %ebx,%eax
5078e7:	8b 90 b0 01 00 00    	mov    0x1b0(%eax),%edx
5078ed:	ff 52 0c             	call   *0xc(%edx)
5078f0:	85 c0                	test   %eax,%eax
5078f2:	75 4d                	jne    0x507941
5078f4:	33 c0                	xor    %eax,%eax
5078f6:	5e                   	pop    %esi
5078f7:	5b                   	pop    %ebx
5078f8:	c3                   	ret
5078f9:	8b 03                	mov    (%ebx),%eax
5078fb:	c7 40 14 5b 00 00 00 	movl   $0x5b,0x14(%eax)
507902:	8b 93 98 01 00 00    	mov    0x198(%ebx),%edx
507908:	89 50 18             	mov    %edx,0x18(%eax)
50790b:	8b c3                	mov    %ebx,%eax
50790d:	ba 01 00 00 00       	mov    $0x1,%edx
507912:	8b 08                	mov    (%eax),%ecx
507914:	ff 51 04             	call   *0x4(%ecx)
507917:	eb 28                	jmp    0x507941
507919:	8b c3                	mov    %ebx,%eax
50791b:	e8 e0 fa ff ff       	call   0x507400
507920:	85 c0                	test   %eax,%eax
507922:	75 1d                	jne    0x507941
507924:	33 c0                	xor    %eax,%eax
507926:	5e                   	pop    %esi
507927:	5b                   	pop    %ebx
507928:	c3                   	ret
507929:	8b 03                	mov    (%ebx),%eax
50792b:	c7 40 14 43 00 00 00 	movl   $0x43,0x14(%eax)
507932:	8b 93 98 01 00 00    	mov    0x198(%ebx),%edx
507938:	89 50 18             	mov    %edx,0x18(%eax)
50793b:	8b c3                	mov    %ebx,%eax
50793d:	8b 10                	mov    (%eax),%edx
50793f:	ff 12                	call   *(%edx)
507941:	33 c9                	xor    %ecx,%ecx
507943:	89 8b 98 01 00 00    	mov    %ecx,0x198(%ebx)
507949:	e9 fa fc ff ff       	jmp    0x507648
50794e:	5e                   	pop    %esi
50794f:	5b                   	pop    %ebx
507950:	c3                   	ret
507951:	90                   	nop
507952:	90                   	nop
507953:	90                   	nop
507954:	53                   	push   %ebx
507955:	8b d8                	mov    %eax,%ebx
507957:	83 bb 98 01 00 00 00 	cmpl   $0x0,0x198(%ebx)
50795e:	75 0f                	jne    0x50796f
507960:	8b c3                	mov    %ebx,%eax
507962:	e8 2d fb ff ff       	call   0x507494
507967:	85 c0                	test   %eax,%eax
507969:	75 04                	jne    0x50796f
50796b:	33 c0                	xor    %eax,%eax
50796d:	5b                   	pop    %ebx
50796e:	c3                   	ret
50796f:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
507975:	8b 4a 58             	mov    0x58(%edx),%ecx
507978:	81 c1 d0 00 00 00    	add    $0xd0,%ecx
50797e:	3b 8b 98 01 00 00    	cmp    0x198(%ebx),%ecx
507984:	75 2b                	jne    0x5079b1
507986:	8b 03                	mov    (%ebx),%eax
507988:	c7 40 14 61 00 00 00 	movl   $0x61,0x14(%eax)
50798f:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
507995:	8b 4a 58             	mov    0x58(%edx),%ecx
507998:	ba 03 00 00 00       	mov    $0x3,%edx
50799d:	89 48 18             	mov    %ecx,0x18(%eax)
5079a0:	8b c3                	mov    %ebx,%eax
5079a2:	8b 08                	mov    (%eax),%ecx
5079a4:	ff 51 04             	call   *0x4(%ecx)
5079a7:	33 c0                	xor    %eax,%eax
5079a9:	89 83 98 01 00 00    	mov    %eax,0x198(%ebx)
5079af:	eb 19                	jmp    0x5079ca
5079b1:	8b c3                	mov    %ebx,%eax
5079b3:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
5079b9:	8b 48 14             	mov    0x14(%eax),%ecx
5079bc:	8b 52 58             	mov    0x58(%edx),%edx
5079bf:	ff 51 14             	call   *0x14(%ecx)
5079c2:	85 c0                	test   %eax,%eax
5079c4:	75 04                	jne    0x5079ca
5079c6:	33 c0                	xor    %eax,%eax
5079c8:	5b                   	pop    %ebx
5079c9:	c3                   	ret
5079ca:	8b 83 b0 01 00 00    	mov    0x1b0(%ebx),%eax
5079d0:	8b 50 58             	mov    0x58(%eax),%edx
5079d3:	42                   	inc    %edx
5079d4:	83 e2 07             	and    $0x7,%edx
5079d7:	89 50 58             	mov    %edx,0x58(%eax)
5079da:	b8 01 00 00 00       	mov    $0x1,%eax
5079df:	5b                   	pop    %ebx
5079e0:	c3                   	ret
5079e1:	90                   	nop
5079e2:	90                   	nop
5079e3:	90                   	nop
5079e4:	53                   	push   %ebx
5079e5:	56                   	push   %esi
5079e6:	8b f0                	mov    %eax,%esi
5079e8:	57                   	push   %edi
5079e9:	55                   	push   %ebp
5079ea:	8b ea                	mov    %edx,%ebp
5079ec:	8b 06                	mov    (%esi),%eax
5079ee:	8b 9e 98 01 00 00    	mov    0x198(%esi),%ebx
5079f4:	83 ca ff             	or     $0xffffffff,%edx
5079f7:	c7 40 14 75 00 00 00 	movl   $0x75,0x14(%eax)
5079fe:	89 58 18             	mov    %ebx,0x18(%eax)
507a01:	89 68 1c             	mov    %ebp,0x1c(%eax)
507a04:	8b c6                	mov    %esi,%eax
507a06:	8b 08                	mov    (%eax),%ecx
507a08:	ff 51 04             	call   *0x4(%ecx)
507a0b:	81 fb c0 00 00 00    	cmp    $0xc0,%ebx
507a11:	7d 07                	jge    0x507a1a
507a13:	bf 02 00 00 00       	mov    $0x2,%edi
507a18:	eb 68                	jmp    0x507a82
507a1a:	81 fb d0 00 00 00    	cmp    $0xd0,%ebx
507a20:	7c 08                	jl     0x507a2a
507a22:	81 fb d7 00 00 00    	cmp    $0xd7,%ebx
507a28:	7e 07                	jle    0x507a31
507a2a:	bf 03 00 00 00       	mov    $0x3,%edi
507a2f:	eb 51                	jmp    0x507a82
507a31:	8d 45 01             	lea    0x1(%ebp),%eax
507a34:	83 e0 07             	and    $0x7,%eax
507a37:	05 d0 00 00 00       	add    $0xd0,%eax
507a3c:	3b d8                	cmp    %eax,%ebx
507a3e:	74 10                	je     0x507a50
507a40:	8d 55 02             	lea    0x2(%ebp),%edx
507a43:	83 e2 07             	and    $0x7,%edx
507a46:	81 c2 d0 00 00 00    	add    $0xd0,%edx
507a4c:	3b da                	cmp    %edx,%ebx
507a4e:	75 07                	jne    0x507a57
507a50:	bf 03 00 00 00       	mov    $0x3,%edi
507a55:	eb 2b                	jmp    0x507a82
507a57:	8d 45 ff             	lea    -0x1(%ebp),%eax
507a5a:	83 e0 07             	and    $0x7,%eax
507a5d:	05 d0 00 00 00       	add    $0xd0,%eax
507a62:	3b d8                	cmp    %eax,%ebx
507a64:	74 10                	je     0x507a76
507a66:	8d 55 fe             	lea    -0x2(%ebp),%edx
507a69:	83 e2 07             	and    $0x7,%edx
507a6c:	81 c2 d0 00 00 00    	add    $0xd0,%edx
507a72:	3b da                	cmp    %edx,%ebx
507a74:	75 07                	jne    0x507a7d
507a76:	bf 02 00 00 00       	mov    $0x2,%edi
507a7b:	eb 05                	jmp    0x507a82
507a7d:	bf 01 00 00 00       	mov    $0x1,%edi
507a82:	8b 06                	mov    (%esi),%eax
507a84:	c7 40 14 60 00 00 00 	movl   $0x60,0x14(%eax)
507a8b:	89 58 18             	mov    %ebx,0x18(%eax)
507a8e:	89 78 1c             	mov    %edi,0x1c(%eax)
507a91:	ba 04 00 00 00       	mov    $0x4,%edx
507a96:	8b c6                	mov    %esi,%eax
507a98:	8b 08                	mov    (%eax),%ecx
507a9a:	ff 51 04             	call   *0x4(%ecx)
507a9d:	4f                   	dec    %edi
507a9e:	74 0b                	je     0x507aab
507aa0:	4f                   	dec    %edi
507aa1:	74 17                	je     0x507aba
507aa3:	4f                   	dec    %edi
507aa4:	74 2e                	je     0x507ad4
507aa6:	e9 60 ff ff ff       	jmp    0x507a0b
507aab:	33 d2                	xor    %edx,%edx
507aad:	b8 01 00 00 00       	mov    $0x1,%eax
507ab2:	89 96 98 01 00 00    	mov    %edx,0x198(%esi)
507ab8:	eb 1f                	jmp    0x507ad9
507aba:	8b c6                	mov    %esi,%eax
507abc:	e8 d3 f9 ff ff       	call   0x507494
507ac1:	85 c0                	test   %eax,%eax