4137e1:	0f 86 ae 00 00 00    	jbe    0x413895
4137e7:	89 86 4c 06 00 00    	mov    %eax,0x64c(%esi)
4137ed:	89 86 44 06 00 00    	mov    %eax,0x644(%esi)
4137f3:	e9 b4 00 00 00       	jmp    0x4138ac
4137f8:	8b 86 70 4a 00 00    	mov    0x4a70(%esi),%eax
4137fe:	8b 8e 78 4a 00 00    	mov    0x4a78(%esi),%ecx
413804:	8d 14 08             	lea    (%eax,%ecx,1),%edx
413807:	33 d0                	xor    %eax,%edx
413809:	81 fa 00 00 00 01    	cmp    $0x1000000,%edx
41380f:	72 15                	jb     0x413826
413811:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
413817:	73 37                	jae    0x413850
413819:	f7 d8                	neg    %eax
41381b:	25 ff 7f 00 00       	and    $0x7fff,%eax
413820:	89 86 78 4a 00 00    	mov    %eax,0x4a78(%esi)
413826:	8b 8e 88 4a 00 00    	mov    0x4a88(%esi),%ecx
41382c:	8d be 74 4a 00 00    	lea    0x4a74(%esi),%edi
413832:	e8 87 ef ff ff       	call   0x4127be
413837:	8b 0f                	mov    (%edi),%ecx
413839:	c1 a6 78 4a 00 00 08 	shll   $0x8,0x4a78(%esi)
413840:	c1 e1 08             	shl    $0x8,%ecx
413843:	0b c1                	or     %ecx,%eax
413845:	c1 a6 70 4a 00 00 08 	shll   $0x8,0x4a70(%esi)
41384c:	89 07                	mov    %eax,(%edi)
41384e:	eb a8                	jmp    0x4137f8
413850:	8b 86 dc 4b 00 00    	mov    0x4bdc(%esi),%eax
413856:	8b 8e 44 06 00 00    	mov    0x644(%esi),%ecx
41385c:	ff 86 5c 06 00 00    	incl   0x65c(%esi)
413862:	8b 49 08             	mov    0x8(%ecx),%ecx
413865:	89 8e 44 06 00 00    	mov    %ecx,0x644(%esi)
41386b:	3b c8                	cmp    %eax,%ecx
41386d:	0f 86 13 ff ff ff    	jbe    0x413786
413873:	3b 8e e4 4b 00 00    	cmp    0x4be4(%esi),%ecx
413879:	0f 87 07 ff ff ff    	ja     0x413786
41387f:	0f b7 11             	movzwl (%ecx),%edx
413882:	3b 96 54 06 00 00    	cmp    0x654(%esi),%edx
413888:	74 cc                	je     0x413856
41388a:	56                   	push   %esi
41388b:	e8 b5 fc ff ff       	call   0x413545
413890:	e9 ed fe ff ff       	jmp    0x413782
413895:	8b ce                	mov    %esi,%ecx
413897:	e8 79 f7 ff ff       	call   0x413015
41389c:	80 be 6c 0a 00 00 00 	cmpb   $0x0,0xa6c(%esi)
4138a3:	75 07                	jne    0x4138ac
4138a5:	8b ce                	mov    %esi,%ecx
4138a7:	e8 c7 e6 ff ff       	call   0x411f73
4138ac:	8b 86 70 4a 00 00    	mov    0x4a70(%esi),%eax
4138b2:	8b 8e 78 4a 00 00    	mov    0x4a78(%esi),%ecx
4138b8:	8d 14 08             	lea    (%eax,%ecx,1),%edx
4138bb:	33 d0                	xor    %eax,%edx
4138bd:	81 fa 00 00 00 01    	cmp    $0x1000000,%edx
4138c3:	72 15                	jb     0x4138da
4138c5:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
4138cb:	73 37                	jae    0x413904
4138cd:	f7 d8                	neg    %eax
4138cf:	25 ff 7f 00 00       	and    $0x7fff,%eax
4138d4:	89 86 78 4a 00 00    	mov    %eax,0x4a78(%esi)
4138da:	8b 8e 88 4a 00 00    	mov    0x4a88(%esi),%ecx
4138e0:	8d be 74 4a 00 00    	lea    0x4a74(%esi),%edi
4138e6:	e8 d3 ee ff ff       	call   0x4127be
4138eb:	8b 0f                	mov    (%edi),%ecx
4138ed:	c1 a6 78 4a 00 00 08 	shll   $0x8,0x4a78(%esi)
4138f4:	c1 e1 08             	shl    $0x8,%ecx
4138f7:	0b c1                	or     %ecx,%eax
4138f9:	c1 a6 70 4a 00 00 08 	shll   $0x8,0x4a70(%esi)
413900:	89 07                	mov    %eax,(%edi)
413902:	eb a8                	jmp    0x4138ac
413904:	8b c3                	mov    %ebx,%eax
413906:	5b                   	pop    %ebx
413907:	e9 7d fe ff ff       	jmp    0x413789
41390c:	b8 2e 94 42 00       	mov    $0x42942e,%eax
413911:	e8 a2 65 00 00       	call   0x419eb8
413916:	51                   	push   %ecx
413917:	51                   	push   %ecx
413918:	53                   	push   %ebx
413919:	56                   	push   %esi
41391a:	57                   	push   %edi
41391b:	8b f9                	mov    %ecx,%edi
41391d:	33 db                	xor    %ebx,%ebx
41391f:	39 5f 20             	cmp    %ebx,0x20(%edi)
413922:	75 19                	jne    0x41393d
413924:	be 00 04 40 00       	mov    $0x400400,%esi
413929:	56                   	push   %esi
41392a:	e8 96 61 00 00       	call   0x419ac5
41392f:	56                   	push   %esi
413930:	53                   	push   %ebx
413931:	50                   	push   %eax
413932:	89 47 20             	mov    %eax,0x20(%edi)
413935:	e8 c6 68 00 00       	call   0x41a200
41393a:	83 c4 10             	add    $0x10,%esp
41393d:	39 5f 18             	cmp    %ebx,0x18(%edi)
413940:	0f 85 bc 00 00 00    	jne    0x413a02
413946:	8b 77 1c             	mov    0x1c(%edi),%esi
413949:	03 f6                	add    %esi,%esi
41394b:	33 c9                	xor    %ecx,%ecx
41394d:	bb e4 4a 00 00       	mov    $0x4ae4,%ebx
413952:	8b c6                	mov    %esi,%eax
413954:	8b d3                	mov    %ebx,%edx
413956:	f7 e2                	mul    %edx
413958:	0f 90 c1             	seto   %cl
41395b:	f7 d9                	neg    %ecx
41395d:	0b c8                	or     %eax,%ecx
41395f:	33 c0                	xor    %eax,%eax
413961:	83 c1 04             	add    $0x4,%ecx
413964:	0f 92 c0             	setb   %al
413967:	f7 d8                	neg    %eax
413969:	0b c1                	or     %ecx,%eax
41396b:	50                   	push   %eax
41396c:	e8 54 61 00 00       	call   0x419ac5
413971:	59                   	pop    %ecx
413972:	89 45 f0             	mov    %eax,-0x10(%ebp)
413975:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
413979:	85 c0                	test   %eax,%eax
41397b:	74 1f                	je     0x41399c
41397d:	68 a1 27 41 00       	push   $0x4127a1
413982:	68 89 27 41 00       	push   $0x412789
413987:	56                   	push   %esi
413988:	89 30                	mov    %esi,(%eax)
41398a:	83 c0 04             	add    $0x4,%eax
41398d:	53                   	push   %ebx
41398e:	50                   	push   %eax
41398f:	89 45 ec             	mov    %eax,-0x14(%ebp)
413992:	e8 ff 86 00 00       	call   0x41c096
413997:	8b 45 ec             	mov    -0x14(%ebp),%eax
41399a:	eb 02                	jmp    0x41399e
41399c:	33 c0                	xor    %eax,%eax
41399e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4139a2:	8b ce                	mov    %esi,%ecx
4139a4:	69 c9 e4 4a 00 00    	imul   $0x4ae4,%ecx,%ecx
4139aa:	51                   	push   %ecx
4139ab:	6a 00                	push   $0x0
4139ad:	50                   	push   %eax
4139ae:	89 47 18             	mov    %eax,0x18(%edi)
4139b1:	e8 4a 68 00 00       	call   0x41a200
4139b6:	83 c4 0c             	add    $0xc,%esp
4139b9:	85 f6                	test   %esi,%esi
4139bb:	76 45                	jbe    0x413a02
4139bd:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4139c1:	89 75 ec             	mov    %esi,-0x14(%ebp)
4139c4:	8b 47 18             	mov    0x18(%edi),%eax
4139c7:	03 45 f0             	add    -0x10(%ebp),%eax
4139ca:	8d b0 d4 4a 00 00    	lea    0x4ad4(%eax),%esi
4139d0:	83 3e 00             	cmpl   $0x0,(%esi)
4139d3:	75 25                	jne    0x4139fa
4139d5:	68 00 0c 03 00       	push   $0x30c00
4139da:	c7 80 dc 4a 00 00 00 	movl   $0x4100,0x4adc(%eax)
4139e1:	41 00 00
4139e4:	e8 75 8f 00 00       	call   0x41c95e
4139e9:	59                   	pop    %ecx
4139ea:	89 06                	mov    %eax,(%esi)
4139ec:	85 c0                	test   %eax,%eax
4139ee:	75 0a                	jne    0x4139fa
4139f0:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
4139f5:	e8 0e 2b ff ff       	call   0x406508
4139fa:	01 5d f0             	add    %ebx,-0x10(%ebp)
4139fd:	ff 4d ec             	decl   -0x14(%ebp)
413a00:	75 c2                	jne    0x4139c4
413a02:	8b 4d f4             	mov    -0xc(%ebp),%ecx
413a05:	5f                   	pop    %edi
413a06:	5e                   	pop    %esi
413a07:	5b                   	pop    %ebx
413a08:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413a0f:	c9                   	leave
413a10:	c3                   	ret
413a11:	53                   	push   %ebx
413a12:	8a 5c 24 08          	mov    0x8(%esp),%bl
413a16:	56                   	push   %esi
413a17:	8b f1                	mov    %ecx,%esi
413a19:	f6 c3 02             	test   $0x2,%bl
413a1c:	74 27                	je     0x413a45
413a1e:	57                   	push   %edi
413a1f:	68 a1 27 41 00       	push   $0x4127a1
413a24:	8d 7e fc             	lea    -0x4(%esi),%edi
413a27:	ff 37                	push   (%edi)
413a29:	68 e4 4a 00 00       	push   $0x4ae4
413a2e:	56                   	push   %esi
413a2f:	e8 ff 85 00 00       	call   0x41c033
413a34:	f6 c3 01             	test   $0x1,%bl
413a37:	74 07                	je     0x413a40
413a39:	57                   	push   %edi
413a3a:	e8 bc 89 00 00       	call   0x41c3fb
413a3f:	59                   	pop    %ecx
413a40:	8b c7                	mov    %edi,%eax
413a42:	5f                   	pop    %edi
413a43:	eb 13                	jmp    0x413a58
413a45:	e8 57 ed ff ff       	call   0x4127a1
413a4a:	f6 c3 01             	test   $0x1,%bl
413a4d:	74 07                	je     0x413a56
413a4f:	56                   	push   %esi
413a50:	e8 82 64 00 00       	call   0x419ed7
413a55:	59                   	pop    %ecx
413a56:	8b c6                	mov    %esi,%eax
413a58:	5e                   	pop    %esi
413a59:	5b                   	pop    %ebx
413a5a:	c2 04 00             	ret    $0x4
413a5d:	53                   	push   %ebx
413a5e:	56                   	push   %esi
413a5f:	8b f1                	mov    %ecx,%esi
413a61:	57                   	push   %edi
413a62:	8d be d0 98 00 00    	lea    0x98d0(%esi),%edi
413a68:	8b cf                	mov    %edi,%ecx
413a6a:	e8 de fc ff ff       	call   0x41374d
413a6f:	8b d8                	mov    %eax,%ebx
413a71:	83 fb ff             	cmp    $0xffffffff,%ebx
413a74:	75 0e                	jne    0x413a84
413a76:	8b cf                	mov    %edi,%ecx
413a78:	e8 07 fc ff ff       	call   0x413684
413a7d:	83 a6 70 e6 00 00 00 	andl   $0x0,0xe670(%esi)
413a84:	5f                   	pop    %edi
413a85:	5e                   	pop    %esi
413a86:	8b c3                	mov    %ebx,%eax
413a88:	5b                   	pop    %ebx
413a89:	c3                   	ret
413a8a:	56                   	push   %esi
413a8b:	8b f1                	mov    %ecx,%esi
413a8d:	8d 4e 28             	lea    0x28(%esi),%ecx
413a90:	e8 7a eb ff ff       	call   0x41260f
413a95:	8d 4e 18             	lea    0x18(%esi),%ecx
413a98:	e8 72 eb ff ff       	call   0x41260f
413a9d:	8b ce                	mov    %esi,%ecx
413a9f:	5e                   	pop    %esi
413aa0:	e9 6a eb ff ff       	jmp    0x41260f
413aa5:	56                   	push   %esi
413aa6:	57                   	push   %edi
413aa7:	8b 7c 24 0c          	mov    0xc(%esp),%edi
413aab:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
413aaf:	8b f1                	mov    %ecx,%esi
413ab1:	76 4f                	jbe    0x413b02
413ab3:	8b 86 50 4c 00 00    	mov    0x4c50(%esi),%eax
413ab9:	53                   	push   %ebx
413aba:	89 47 50             	mov    %eax,0x50(%edi)
413abd:	8b 47 18             	mov    0x18(%edi),%eax
413ac0:	ff b6 50 4c 00 00    	push   0x4c50(%esi)
413ac6:	83 c0 24             	add    $0x24,%eax
413ac9:	8d 9e 78 e6 00 00    	lea    0xe678(%esi),%ebx
413acf:	50                   	push   %eax
413ad0:	8b cb                	mov    %ebx,%ecx
413ad2:	e8 21 6f ff ff       	call   0x40a9f8
413ad7:	8b 86 50 4c 00 00    	mov    0x4c50(%esi),%eax
413add:	8b 96 54 4c 00 00    	mov    0x4c54(%esi),%edx
413ae3:	b1 20                	mov    $0x20,%cl
413ae5:	e8 d6 97 00 00       	call   0x41d2c0
413aea:	50                   	push   %eax
413aeb:	8b 47 18             	mov    0x18(%edi),%eax
413aee:	83 c0 28             	add    $0x28,%eax
413af1:	50                   	push   %eax
413af2:	8b cb                	mov    %ebx,%ecx
413af4:	e8 ff 6e ff ff       	call   0x40a9f8
413af9:	57                   	push   %edi
413afa:	8b cb                	mov    %ebx,%ecx
413afc:	e8 44 77 ff ff       	call   0x40b245
413b01:	5b                   	pop    %ebx
413b02:	5f                   	pop    %edi
413b03:	5e                   	pop    %esi
413b04:	c2 04 00             	ret    $0x4
413b07:	55                   	push   %ebp
413b08:	8b ec                	mov    %esp,%ebp
413b0a:	81 ec b0 01 00 00    	sub    $0x1b0,%esp
413b10:	53                   	push   %ebx
413b11:	8b d9                	mov    %ecx,%ebx
413b13:	8b 43 78             	mov    0x78(%ebx),%eax
413b16:	56                   	push   %esi
413b17:	8d 73 04             	lea    0x4(%ebx),%esi
413b1a:	83 e8 19             	sub    $0x19,%eax
413b1d:	39 06                	cmp    %eax,(%esi)
413b1f:	7e 0d                	jle    0x413b2e
413b21:	e8 6b e4 ff ff       	call   0x411f91
413b26:	84 c0                	test   %al,%al
413b28:	0f 84 1d 03 00 00    	je     0x413e4b
413b2e:	8b 43 08             	mov    0x8(%ebx),%eax
413b31:	f7 d8                	neg    %eax
413b33:	83 e0 07             	and    $0x7,%eax
413b36:	50                   	push   %eax
413b37:	8b ce                	mov    %esi,%ecx
413b39:	e8 fa 5b ff ff       	call   0x409738
413b3e:	8b ce                	mov    %esi,%ecx
413b40:	e8 0a 5c ff ff       	call   0x40974f
413b45:	a9 00 80 00 00       	test   $0x8000,%eax
413b4a:	74 22                	je     0x413b6e
413b4c:	8d 83 bc e4 00 00    	lea    0xe4bc(%ebx),%eax
413b52:	50                   	push   %eax
413b53:	53                   	push   %ebx
413b54:	8d 8b d0 98 00 00    	lea    0x98d0(%ebx),%ecx
413b5a:	c7 83 70 e6 00 00 01 	movl   $0x1,0xe670(%ebx)
413b61:	00 00 00
413b64:	e8 41 fb ff ff       	call   0x4136aa
413b69:	e9 dd 02 00 00       	jmp    0x413e4b
413b6e:	57                   	push   %edi
413b6f:	33 ff                	xor    %edi,%edi
413b71:	89 bb 70 e6 00 00    	mov    %edi,0xe670(%ebx)
413b77:	89 bb c8 98 00 00    	mov    %edi,0x98c8(%ebx)
413b7d:	89 bb cc 98 00 00    	mov    %edi,0x98cc(%ebx)
413b83:	a9 00 40 00 00       	test   $0x4000,%eax
413b88:	75 15                	jne    0x413b9f
413b8a:	68 ae 01 00 00       	push   $0x1ae
413b8f:	8d 83 c0 e4 00 00    	lea    0xe4c0(%ebx),%eax
413b95:	57                   	push   %edi
413b96:	50                   	push   %eax
413b97:	e8 64 66 00 00       	call   0x41a200
413b9c:	83 c4 0c             	add    $0xc,%esp
413b9f:	6a 02                	push   $0x2
413ba1:	8b ce                	mov    %esi,%ecx
413ba3:	e8 90 5b ff ff       	call   0x409738
413ba8:	89 7d fc             	mov    %edi,-0x4(%ebp)
413bab:	8b ce                	mov    %esi,%ecx
413bad:	e8 9d 5b ff ff       	call   0x40974f
413bb2:	c1 e8 0c             	shr    $0xc,%eax
413bb5:	0f b6 c0             	movzbl %al,%eax
413bb8:	6a 04                	push   $0x4
413bba:	8b ce                	mov    %esi,%ecx
413bbc:	89 45 f8             	mov    %eax,-0x8(%ebp)
413bbf:	e8 74 5b ff ff       	call   0x409738
413bc4:	8b 45 f8             	mov    -0x8(%ebp),%eax
413bc7:	83 f8 0f             	cmp    $0xf,%eax
413bca:	75 43                	jne    0x413c0f
413bcc:	8b ce                	mov    %esi,%ecx
413bce:	e8 7c 5b ff ff       	call   0x40974f
413bd3:	c1 e8 0c             	shr    $0xc,%eax
413bd6:	6a 04                	push   $0x4
413bd8:	8b ce                	mov    %esi,%ecx
413bda:	0f b6 f8             	movzbl %al,%edi
413bdd:	e8 56 5b ff ff       	call   0x409738
413be2:	85 ff                	test   %edi,%edi
413be4:	75 0a                	jne    0x413bf0
413be6:	8b 45 fc             	mov    -0x4(%ebp),%eax
413be9:	c6 44 05 e4 0f       	movb   $0xf,-0x1c(%ebp,%eax,1)
413bee:	eb 26                	jmp    0x413c16
413bf0:	47                   	inc    %edi
413bf1:	47                   	inc    %edi
413bf2:	eb 12                	jmp    0x413c06
413bf4:	4f                   	dec    %edi
413bf5:	83 7d fc 14          	cmpl   $0x14,-0x4(%ebp)
413bf9:	73 0f                	jae    0x413c0a
413bfb:	8b 45 fc             	mov    -0x4(%ebp),%eax
413bfe:	ff 45 fc             	incl   -0x4(%ebp)
413c01:	c6 44 05 e4 00       	movb   $0x0,-0x1c(%ebp,%eax,1)
413c06:	85 ff                	test   %edi,%edi
413c08:	7f ea                	jg     0x413bf4
413c0a:	ff 4d fc             	decl   -0x4(%ebp)
413c0d:	eb 07                	jmp    0x413c16
413c0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413c12:	88 44 0d e4          	mov    %al,-0x1c(%ebp,%ecx,1)
413c16:	ff 45 fc             	incl   -0x4(%ebp)
413c19:	83 7d fc 14          	cmpl   $0x14,-0x4(%ebp)
413c1d:	72 8c                	jb     0x413bab
413c1f:	6a 14                	push   $0x14
413c21:	8d bb 44 3c 00 00    	lea    0x3c44(%ebx),%edi
413c27:	57                   	push   %edi
413c28:	8d 45 e4             	lea    -0x1c(%ebp),%eax
413c2b:	50                   	push   %eax