4e5740:	8b 50 0c             	mov    0xc(%eax),%edx
4e5743:	c1 e2 02             	shl    $0x2,%edx
4e5746:	01 54 24 28          	add    %edx,0x28(%esp)
4e574a:	33 c9                	xor    %ecx,%ecx
4e574c:	89 4c 24 48          	mov    %ecx,0x48(%esp)
4e5750:	eb 2b                	jmp    0x4e577d
4e5752:	8b 44 24 24          	mov    0x24(%esp),%eax
4e5756:	50                   	push   %eax
4e5757:	6a 00                	push   $0x0
4e5759:	8b 44 24 08          	mov    0x8(%esp),%eax
4e575d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4e5761:	8b 54 24 10          	mov    0x10(%esp),%edx
4e5765:	8b 58 04             	mov    0x4(%eax),%ebx
4e5768:	8b 54 8a 48          	mov    0x48(%edx,%ecx,4),%edx
4e576c:	33 c9                	xor    %ecx,%ecx
4e576e:	ff 53 20             	call   *0x20(%ebx)
4e5771:	89 44 24 28          	mov    %eax,0x28(%esp)
4e5775:	c7 44 24 48 01 00 00 	movl   $0x1,0x48(%esp)
4e577c:	00
4e577d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e5781:	8b 44 24 08          	mov    0x8(%esp),%eax
4e5785:	c1 e1 03             	shl    $0x3,%ecx
4e5788:	8b 50 70             	mov    0x70(%eax),%edx
4e578b:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
4e578e:	03 d1                	add    %ecx,%edx
4e5790:	89 54 24 50          	mov    %edx,0x50(%esp)
4e5794:	8b 44 24 40          	mov    0x40(%esp),%eax
4e5798:	8b 50 4c             	mov    0x4c(%eax),%edx
4e579b:	89 54 24 54          	mov    %edx,0x54(%esp)
4e579f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4e57a3:	0f b7 01             	movzwl (%ecx),%eax
4e57a6:	89 44 24 58          	mov    %eax,0x58(%esp)
4e57aa:	8b 54 24 54          	mov    0x54(%esp),%edx
4e57ae:	0f b7 4a 02          	movzwl 0x2(%edx),%ecx
4e57b2:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
4e57b6:	8b 44 24 54          	mov    0x54(%esp),%eax
4e57ba:	0f b7 50 10          	movzwl 0x10(%eax),%edx
4e57be:	89 54 24 64          	mov    %edx,0x64(%esp)
4e57c2:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4e57c6:	0f b7 41 20          	movzwl 0x20(%ecx),%eax
4e57ca:	89 44 24 6c          	mov    %eax,0x6c(%esp)
4e57ce:	8b 54 24 54          	mov    0x54(%esp),%edx
4e57d2:	0f b7 4a 12          	movzwl 0x12(%edx),%ecx
4e57d6:	89 4c 24 68          	mov    %ecx,0x68(%esp)
4e57da:	8b 44 24 54          	mov    0x54(%esp),%eax
4e57de:	0f b7 50 04          	movzwl 0x4(%eax),%edx
4e57e2:	89 54 24 60          	mov    %edx,0x60(%esp)
4e57e6:	8b 0c 24             	mov    (%esp),%ecx
4e57e9:	8b 54 24 18          	mov    0x18(%esp),%edx
4e57ed:	8b 81 c0 01 00 00    	mov    0x1c0(%ecx),%eax
4e57f3:	8b 4c 90 04          	mov    0x4(%eax,%edx,4),%ecx
4e57f7:	89 4c 24 44          	mov    %ecx,0x44(%esp)
4e57fb:	8b 44 24 04          	mov    0x4(%esp),%eax
4e57ff:	8b 54 24 18          	mov    0x18(%esp),%edx
4e5803:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
4e5806:	33 c0                	xor    %eax,%eax
4e5808:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4e580c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4e5810:	8b 54 24 28          	mov    0x28(%esp),%edx
4e5814:	8b ca                	mov    %edx,%ecx
4e5816:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
4e581d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4e5821:	8b 54 24 20          	mov    0x20(%esp),%edx
4e5825:	3b c2                	cmp    %edx,%eax
4e5827:	0f 8d 29 05 00 00    	jge    0x4e5d56
4e582d:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
4e5834:	8b 01                	mov    (%ecx),%eax
4e5836:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4e583a:	8b 54 24 48          	mov    0x48(%esp),%edx
4e583e:	85 d2                	test   %edx,%edx
4e5840:	74 12                	je     0x4e5854
4e5842:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e5846:	85 c9                	test   %ecx,%ecx
4e5848:	75 0a                	jne    0x4e5854
4e584a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e584e:	89 44 24 30          	mov    %eax,0x30(%esp)
4e5852:	eb 0e                	jmp    0x4e5862
4e5854:	8b 94 24 94 00 00 00 	mov    0x94(%esp),%edx
4e585b:	8b 4a fc             	mov    -0x4(%edx),%ecx
4e585e:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4e5862:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4e5866:	85 c0                	test   %eax,%eax
4e5868:	74 17                	je     0x4e5881
4e586a:	8b 54 24 20          	mov    0x20(%esp),%edx
4e586e:	4a                   	dec    %edx
4e586f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e5873:	3b d1                	cmp    %ecx,%edx
4e5875:	75 0a                	jne    0x4e5881
4e5877:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e587b:	89 44 24 34          	mov    %eax,0x34(%esp)
4e587f:	eb 0e                	jmp    0x4e588f
4e5881:	8b 94 24 94 00 00 00 	mov    0x94(%esp),%edx
4e5888:	8b 4a 04             	mov    0x4(%edx),%ecx
4e588b:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4e588f:	8b 44 24 30          	mov    0x30(%esp),%eax
4e5893:	0f bf 10             	movswl (%eax),%edx
4e5896:	89 54 24 78          	mov    %edx,0x78(%esp)
4e589a:	89 54 24 74          	mov    %edx,0x74(%esp)
4e589e:	89 54 24 70          	mov    %edx,0x70(%esp)
4e58a2:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e58a6:	0f bf 08             	movswl (%eax),%ecx
4e58a9:	89 8c 24 80 00 00 00 	mov    %ecx,0x80(%esp)
4e58b0:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
4e58b4:	8b 44 24 34          	mov    0x34(%esp),%eax
4e58b8:	8b f1                	mov    %ecx,%esi
4e58ba:	0f bf 10             	movswl (%eax),%edx
4e58bd:	89 94 24 8c 00 00 00 	mov    %edx,0x8c(%esp)
4e58c4:	89 94 24 88 00 00 00 	mov    %edx,0x88(%esp)
4e58cb:	89 94 24 84 00 00 00 	mov    %edx,0x84(%esp)
4e58d2:	33 c0                	xor    %eax,%eax
4e58d4:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4e58d8:	33 d2                	xor    %edx,%edx
4e58da:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4e58de:	8b 41 1c             	mov    0x1c(%ecx),%eax
4e58e1:	48                   	dec    %eax
4e58e2:	89 44 24 14          	mov    %eax,0x14(%esp)
4e58e6:	89 54 24 10          	mov    %edx,0x10(%esp)
4e58ea:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4e58ee:	8b 44 24 14          	mov    0x14(%esp),%eax
4e58f2:	3b c8                	cmp    %eax,%ecx
4e58f4:	0f 87 32 04 00 00    	ja     0x4e5d2c
4e58fa:	8d 94 24 98 00 00 00 	lea    0x98(%esp),%edx
4e5901:	b9 01 00 00 00       	mov    $0x1,%ecx
4e5906:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e590a:	e8 e9 46 00 00       	call   0x4e9ff8
4e590f:	8b 54 24 10          	mov    0x10(%esp),%edx
4e5913:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4e5917:	3b d1                	cmp    %ecx,%edx
4e5919:	73 33                	jae    0x4e594e
4e591b:	8b 44 24 30          	mov    0x30(%esp),%eax
4e591f:	0f bf 90 80 00 00 00 	movswl 0x80(%eax),%edx
4e5926:	89 54 24 78          	mov    %edx,0x78(%esp)
4e592a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4e592e:	0f bf 81 80 00 00 00 	movswl 0x80(%ecx),%eax
4e5935:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
4e593c:	8b 54 24 34          	mov    0x34(%esp),%edx
4e5940:	0f bf 8a 80 00 00 00 	movswl 0x80(%edx),%ecx
4e5947:	89 8c 24 8c 00 00 00 	mov    %ecx,0x8c(%esp)
4e594e:	8b 44 24 50          	mov    0x50(%esp),%eax
4e5952:	8b 58 04             	mov    0x4(%eax),%ebx
4e5955:	85 db                	test   %ebx,%ebx
4e5957:	0f 84 97 00 00 00    	je     0x4e59f4
4e595d:	66 83 bc 24 9a 00 00 	cmpw   $0x0,0x9a(%esp)
4e5964:	00 00
4e5966:	0f 85 88 00 00 00    	jne    0x4e59f4
4e596c:	8b d6                	mov    %esi,%edx
4e596e:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
4e5975:	2b d1                	sub    %ecx,%edx
4e5977:	0f af 54 24 58       	imul   0x58(%esp),%edx
4e597c:	8b ca                	mov    %edx,%ecx
4e597e:	c1 e1 02             	shl    $0x2,%ecx
4e5981:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4e5984:	85 c9                	test   %ecx,%ecx
4e5986:	7c 32                	jl     0x4e59ba
4e5988:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4e598c:	8b 54 24 5c          	mov    0x5c(%esp),%edx
4e5990:	c1 e0 07             	shl    $0x7,%eax
4e5993:	c1 e2 08             	shl    $0x8,%edx
4e5996:	03 c1                	add    %ecx,%eax
4e5998:	8b ca                	mov    %edx,%ecx
4e599a:	99                   	cltd
4e599b:	f7 f9                	idiv   %ecx
4e599d:	85 db                	test   %ebx,%ebx
4e599f:	7e 4b                	jle    0x4e59ec
4e59a1:	8b cb                	mov    %ebx,%ecx
4e59a3:	ba 01 00 00 00       	mov    $0x1,%edx
4e59a8:	d3 e2                	shl    %cl,%edx
4e59aa:	3b c2                	cmp    %edx,%eax
4e59ac:	7c 3e                	jl     0x4e59ec
4e59ae:	8b cb                	mov    %ebx,%ecx
4e59b0:	b8 01 00 00 00       	mov    $0x1,%eax
4e59b5:	d3 e0                	shl    %cl,%eax
4e59b7:	48                   	dec    %eax
4e59b8:	eb 32                	jmp    0x4e59ec
4e59ba:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4e59be:	8b 54 24 5c          	mov    0x5c(%esp),%edx
4e59c2:	c1 e0 07             	shl    $0x7,%eax
4e59c5:	c1 e2 08             	shl    $0x8,%edx
4e59c8:	2b c1                	sub    %ecx,%eax
4e59ca:	8b ca                	mov    %edx,%ecx
4e59cc:	99                   	cltd
4e59cd:	f7 f9                	idiv   %ecx
4e59cf:	85 db                	test   %ebx,%ebx
4e59d1:	7e 17                	jle    0x4e59ea
4e59d3:	8b cb                	mov    %ebx,%ecx
4e59d5:	ba 01 00 00 00       	mov    $0x1,%edx
4e59da:	d3 e2                	shl    %cl,%edx
4e59dc:	3b c2                	cmp    %edx,%eax
4e59de:	7c 0a                	jl     0x4e59ea
4e59e0:	8b cb                	mov    %ebx,%ecx
4e59e2:	b8 01 00 00 00       	mov    $0x1,%eax
4e59e7:	d3 e0                	shl    %cl,%eax
4e59e9:	48                   	dec    %eax
4e59ea:	f7 d8                	neg    %eax
4e59ec:	66 89 84 24 9a 00 00 	mov    %ax,0x9a(%esp)
4e59f3:	00
4e59f4:	8b 54 24 50          	mov    0x50(%esp),%edx
4e59f8:	8b 5a 08             	mov    0x8(%edx),%ebx
4e59fb:	85 db                	test   %ebx,%ebx
4e59fd:	0f 84 98 00 00 00    	je     0x4e5a9b
4e5a03:	66 83 bc 24 a8 00 00 	cmpw   $0x0,0xa8(%esp)
4e5a0a:	00 00
4e5a0c:	0f 85 89 00 00 00    	jne    0x4e5a9b
4e5a12:	8b 44 24 74          	mov    0x74(%esp),%eax
4e5a16:	8b 94 24 88 00 00 00 	mov    0x88(%esp),%edx
4e5a1d:	2b c2                	sub    %edx,%eax
4e5a1f:	f7 6c 24 58          	imull  0x58(%esp)
4e5a23:	8b c8                	mov    %eax,%ecx
4e5a25:	c1 e1 02             	shl    $0x2,%ecx
4e5a28:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4e5a2b:	85 c9                	test   %ecx,%ecx
4e5a2d:	7c 32                	jl     0x4e5a61
4e5a2f:	8b 44 24 64          	mov    0x64(%esp),%eax
4e5a33:	8b 54 24 64          	mov    0x64(%esp),%edx
4e5a37:	c1 e0 07             	shl    $0x7,%eax
4e5a3a:	c1 e2 08             	shl    $0x8,%edx
4e5a3d:	03 c1                	add    %ecx,%eax
4e5a3f:	8b ca                	mov    %edx,%ecx
4e5a41:	99                   	cltd
4e5a42:	f7 f9                	idiv   %ecx
4e5a44:	85 db                	test   %ebx,%ebx
4e5a46:	7e 4b                	jle    0x4e5a93
4e5a48:	8b cb                	mov    %ebx,%ecx
4e5a4a:	ba 01 00 00 00       	mov    $0x1,%edx
4e5a4f:	d3 e2                	shl    %cl,%edx
4e5a51:	3b c2                	cmp    %edx,%eax
4e5a53:	7c 3e                	jl     0x4e5a93
4e5a55:	8b cb                	mov    %ebx,%ecx
4e5a57:	b8 01 00 00 00       	mov    $0x1,%eax
4e5a5c:	d3 e0                	shl    %cl,%eax
4e5a5e:	48                   	dec    %eax
4e5a5f:	eb 32                	jmp    0x4e5a93
4e5a61:	8b 44 24 64          	mov    0x64(%esp),%eax
4e5a65:	8b 54 24 64          	mov    0x64(%esp),%edx
4e5a69:	c1 e0 07             	shl    $0x7,%eax
4e5a6c:	c1 e2 08             	shl    $0x8,%edx
4e5a6f:	2b c1                	sub    %ecx,%eax
4e5a71:	8b ca                	mov    %edx,%ecx
4e5a73:	99                   	cltd
4e5a74:	f7 f9                	idiv   %ecx
4e5a76:	85 db                	test   %ebx,%ebx
4e5a78:	7e 17                	jle    0x4e5a91
4e5a7a:	8b cb                	mov    %ebx,%ecx
4e5a7c:	ba 01 00 00 00       	mov    $0x1,%edx
4e5a81:	d3 e2                	shl    %cl,%edx
4e5a83:	3b c2                	cmp    %edx,%eax
4e5a85:	7c 0a                	jl     0x4e5a91
4e5a87:	8b cb                	mov    %ebx,%ecx
4e5a89:	b8 01 00 00 00       	mov    $0x1,%eax
4e5a8e:	d3 e0                	shl    %cl,%eax
4e5a90:	48                   	dec    %eax
4e5a91:	f7 d8                	neg    %eax
4e5a93:	66 89 84 24 a8 00 00 	mov    %ax,0xa8(%esp)
4e5a9a:	00
4e5a9b:	8b 54 24 50          	mov    0x50(%esp),%edx
4e5a9f:	8b 5a 0c             	mov    0xc(%edx),%ebx
4e5aa2:	85 db                	test   %ebx,%ebx
4e5aa4:	0f 84 9b 00 00 00    	je     0x4e5b45
4e5aaa:	66 83 bc 24 b8 00 00 	cmpw   $0x0,0xb8(%esp)
4e5ab1:	00 00
4e5ab3:	0f 85 8c 00 00 00    	jne    0x4e5b45
4e5ab9:	8b 44 24 74          	mov    0x74(%esp),%eax
4e5abd:	8b 94 24 88 00 00 00 	mov    0x88(%esp),%edx
4e5ac4:	03 c2                	add    %edx,%eax
4e5ac6:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
4e5aca:	03 c9                	add    %ecx,%ecx
4e5acc:	2b c1                	sub    %ecx,%eax
4e5ace:	f7 6c 24 58          	imull  0x58(%esp)
4e5ad2:	8d 0c c0             	lea    (%eax,%eax,8),%ecx
4e5ad5:	85 c9                	test   %ecx,%ecx
4e5ad7:	7c 32                	jl     0x4e5b0b
4e5ad9:	8b 44 24 6c          	mov    0x6c(%esp),%eax
4e5add:	8b 54 24 6c          	mov    0x6c(%esp),%edx
4e5ae1:	c1 e0 07             	shl    $0x7,%eax
4e5ae4:	c1 e2 08             	shl    $0x8,%edx
4e5ae7:	03 c1                	add    %ecx,%eax
4e5ae9:	8b ca                	mov    %edx,%ecx
4e5aeb:	99                   	cltd
4e5aec:	f7 f9                	idiv   %ecx
4e5aee:	85 db                	test   %ebx,%ebx
4e5af0:	7e 4b                	jle    0x4e5b3d
4e5af2:	8b cb                	mov    %ebx,%ecx
4e5af4:	ba 01 00 00 00       	mov    $0x1,%edx
4e5af9:	d3 e2                	shl    %cl,%edx
4e5afb:	3b c2                	cmp    %edx,%eax
4e5afd:	7c 3e                	jl     0x4e5b3d
4e5aff:	8b cb                	mov    %ebx,%ecx
4e5b01:	b8 01 00 00 00       	mov    $0x1,%eax
4e5b06:	d3 e0                	shl    %cl,%eax
4e5b08:	48                   	dec    %eax
4e5b09:	eb 32                	jmp    0x4e5b3d
4e5b0b:	8b 44 24 6c          	mov    0x6c(%esp),%eax
4e5b0f:	8b 54 24 6c          	mov    0x6c(%esp),%edx
4e5b13:	c1 e0 07             	shl    $0x7,%eax
4e5b16:	c1 e2 08             	shl    $0x8,%edx
4e5b19:	2b c1                	sub    %ecx,%eax
4e5b1b:	8b ca                	mov    %edx,%ecx
4e5b1d:	99                   	cltd
4e5b1e:	f7 f9                	idiv   %ecx
4e5b20:	85 db                	test   %ebx,%ebx
4e5b22:	7e 17                	jle    0x4e5b3b
4e5b24:	8b cb                	mov    %ebx,%ecx
4e5b26:	ba 01 00 00 00       	mov    $0x1,%edx
4e5b2b:	d3 e2                	shl    %cl,%edx
4e5b2d:	3b c2                	cmp    %edx,%eax
4e5b2f:	7c 0a                	jl     0x4e5b3b
4e5b31:	8b cb                	mov    %ebx,%ecx
4e5b33:	b8 01 00 00 00       	mov    $0x1,%eax
4e5b38:	d3 e0                	shl    %cl,%eax
4e5b3a:	48                   	dec    %eax
4e5b3b:	f7 d8                	neg    %eax
4e5b3d:	66 89 84 24 b8 00 00 	mov    %ax,0xb8(%esp)
4e5b44:	00
4e5b45:	8b 54 24 50          	mov    0x50(%esp),%edx
4e5b49:	8b 5a 10             	mov    0x10(%edx),%ebx
4e5b4c:	85 db                	test   %ebx,%ebx
4e5b4e:	0f 84 a2 00 00 00    	je     0x4e5bf6
4e5b54:	66 83 bc 24 aa 00 00 	cmpw   $0x0,0xaa(%esp)
4e5b5b:	00 00
4e5b5d:	0f 85 93 00 00 00    	jne    0x4e5bf6
4e5b63:	8b 44 24 70          	mov    0x70(%esp),%eax
4e5b67:	8b 54 24 78          	mov    0x78(%esp),%edx
4e5b6b:	2b c2                	sub    %edx,%eax
4e5b6d:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
4e5b74:	2b c1                	sub    %ecx,%eax
4e5b76:	8b 94 24 8c 00 00 00 	mov    0x8c(%esp),%edx
4e5b7d:	03 c2                	add    %edx,%eax
4e5b7f:	f7 6c 24 58          	imull  0x58(%esp)
4e5b83:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
4e5b86:	85 c9                	test   %ecx,%ecx
4e5b88:	7c 32                	jl     0x4e5bbc
4e5b8a:	8b 44 24 68          	mov    0x68(%esp),%eax
4e5b8e:	8b 54 24 68          	mov    0x68(%esp),%edx
4e5b92:	c1 e0 07             	shl    $0x7,%eax
4e5b95:	c1 e2 08             	shl    $0x8,%edx
4e5b98:	03 c1                	add    %ecx,%eax
4e5b9a:	8b ca                	mov    %edx,%ecx
4e5b9c:	99                   	cltd
4e5b9d:	f7 f9                	idiv   %ecx
4e5b9f:	85 db                	test   %ebx,%ebx
4e5ba1:	7e 4b                	jle    0x4e5bee
4e5ba3:	8b cb                	mov    %ebx,%ecx
4e5ba5:	ba 01 00 00 00       	mov    $0x1,%edx
4e5baa:	d3 e2                	shl    %cl,%edx
4e5bac:	3b c2                	cmp    %edx,%eax
4e5bae:	7c 3e                	jl     0x4e5bee
4e5bb0:	8b cb                	mov    %ebx,%ecx
4e5bb2:	b8 01 00 00 00       	mov    $0x1,%eax
4e5bb7:	d3 e0                	shl    %cl,%eax
4e5bb9:	48                   	dec    %eax