55d8af:	33 c9                	xor    %ecx,%ecx
55d8b1:	8a 0c 02             	mov    (%edx,%eax,1),%cl
55d8b4:	51                   	push   %ecx
55d8b5:	8b 53 20             	mov    0x20(%ebx),%edx
55d8b8:	52                   	push   %edx
55d8b9:	8b 4b 0c             	mov    0xc(%ebx),%ecx
55d8bc:	51                   	push   %ecx
55d8bd:	8b 53 08             	mov    0x8(%ebx),%edx
55d8c0:	52                   	push   %edx
55d8c1:	8b 4b 04             	mov    0x4(%ebx),%ecx
55d8c4:	51                   	push   %ecx
55d8c5:	50                   	push   %eax
55d8c6:	68 d5 de 69 00       	push   $0x69ded5
55d8cb:	68 80 2e 6a 00       	push   $0x6a2e80
55d8d0:	e8 f7 c7 01 00       	call   0x57a0cc
55d8d5:	83 c4 28             	add    $0x28,%esp
55d8d8:	83 c3 48             	add    $0x48,%ebx
55d8db:	47                   	inc    %edi
55d8dc:	3b ef                	cmp    %edi,%ebp
55d8de:	7f c3                	jg     0x55d8a3
55d8e0:	33 c0                	xor    %eax,%eax
55d8e2:	5a                   	pop    %edx
55d8e3:	5d                   	pop    %ebp
55d8e4:	5f                   	pop    %edi
55d8e5:	5e                   	pop    %esi
55d8e6:	5b                   	pop    %ebx
55d8e7:	c3                   	ret
55d8e8:	53                   	push   %ebx
55d8e9:	56                   	push   %esi
55d8ea:	57                   	push   %edi
55d8eb:	55                   	push   %ebp
55d8ec:	51                   	push   %ecx
55d8ed:	89 14 24             	mov    %edx,(%esp)
55d8f0:	8b f8                	mov    %eax,%edi
55d8f2:	8b 04 24             	mov    (%esp),%eax
55d8f5:	3d 00 20 00 00       	cmp    $0x2000,%eax
55d8fa:	74 62                	je     0x55d95e
55d8fc:	33 ed                	xor    %ebp,%ebp
55d8fe:	eb 57                	jmp    0x55d957
55d900:	33 f6                	xor    %esi,%esi
55d902:	eb 4b                	jmp    0x55d94f
55d904:	8b 47 1c             	mov    0x1c(%edi),%eax
55d907:	8b 14 a8             	mov    (%eax,%ebp,4),%edx
55d90a:	8b 1c b2             	mov    (%edx,%esi,4),%ebx
55d90d:	85 db                	test   %ebx,%ebx
55d90f:	7d 1d                	jge    0x55d92e
55d911:	8b 04 24             	mov    (%esp),%eax
55d914:	99                   	cltd
55d915:	52                   	push   %edx
55d916:	50                   	push   %eax
55d917:	8b c3                	mov    %ebx,%eax
55d919:	f7 d8                	neg    %eax
55d91b:	99                   	cltd
55d91c:	0f a4 c2 0d          	shld   $0xd,%eax,%edx
55d920:	c1 e0 0d             	shl    $0xd,%eax
55d923:	e8 80 d7 ff ff       	call   0x55b0a8
55d928:	f7 d8                	neg    %eax
55d92a:	8b d8                	mov    %eax,%ebx
55d92c:	eb 17                	jmp    0x55d945
55d92e:	8b 04 24             	mov    (%esp),%eax
55d931:	99                   	cltd
55d932:	52                   	push   %edx
55d933:	50                   	push   %eax
55d934:	8b c3                	mov    %ebx,%eax
55d936:	99                   	cltd
55d937:	0f a4 c2 0d          	shld   $0xd,%eax,%edx
55d93b:	c1 e0 0d             	shl    $0xd,%eax
55d93e:	e8 65 d7 ff ff       	call   0x55b0a8
55d943:	8b d8                	mov    %eax,%ebx
55d945:	8b 57 1c             	mov    0x1c(%edi),%edx
55d948:	8b 0c aa             	mov    (%edx,%ebp,4),%ecx
55d94b:	89 1c b1             	mov    %ebx,(%ecx,%esi,4)
55d94e:	46                   	inc    %esi
55d94f:	8b 47 18             	mov    0x18(%edi),%eax
55d952:	3b f0                	cmp    %eax,%esi
55d954:	7c ae                	jl     0x55d904
55d956:	45                   	inc    %ebp
55d957:	8b 57 14             	mov    0x14(%edi),%edx
55d95a:	3b ea                	cmp    %edx,%ebp
55d95c:	7c a2                	jl     0x55d900
55d95e:	5a                   	pop    %edx
55d95f:	5d                   	pop    %ebp
55d960:	5f                   	pop    %edi
55d961:	5e                   	pop    %esi
55d962:	5b                   	pop    %ebx
55d963:	c3                   	ret
55d964:	53                   	push   %ebx
55d965:	56                   	push   %esi
55d966:	8b f0                	mov    %eax,%esi
55d968:	57                   	push   %edi
55d969:	55                   	push   %ebp
55d96a:	83 c4 e4             	add    $0xffffffe4,%esp
55d96d:	8b 06                	mov    (%esi),%eax
55d96f:	8b 6e 04             	mov    0x4(%esi),%ebp
55d972:	c1 e0 03             	shl    $0x3,%eax
55d975:	8b 7e 04             	mov    0x4(%esi),%edi
55d978:	8d 04 c0             	lea    (%eax,%eax,8),%eax
55d97b:	03 e8                	add    %eax,%ebp
55d97d:	33 c0                	xor    %eax,%eax
55d97f:	89 04 24             	mov    %eax,(%esp)
55d982:	89 44 24 04          	mov    %eax,0x4(%esp)
55d986:	3b ef                	cmp    %edi,%ebp
55d988:	0f 84 f9 00 00 00    	je     0x55da87
55d98e:	33 db                	xor    %ebx,%ebx
55d990:	8b 56 04             	mov    0x4(%esi),%edx
55d993:	3b ea                	cmp    %edx,%ebp
55d995:	0f 84 e4 00 00 00    	je     0x55da7f
55d99b:	8b 42 38             	mov    0x38(%edx),%eax
55d99e:	85 db                	test   %ebx,%ebx
55d9a0:	89 44 24 10          	mov    %eax,0x10(%esp)
55d9a4:	8b 42 3c             	mov    0x3c(%edx),%eax
55d9a7:	89 44 24 14          	mov    %eax,0x14(%esp)
55d9ab:	8b 4a 04             	mov    0x4(%edx),%ecx
55d9ae:	74 0e                	je     0x55d9be
55d9b0:	dd 43 38             	fldl   0x38(%ebx)
55d9b3:	dc 6c 24 10          	fsubrl 0x10(%esp)
55d9b7:	dd 5c 24 10          	fstpl  0x10(%esp)
55d9bb:	2b 4b 04             	sub    0x4(%ebx),%ecx
55d9be:	dd 44 24 10          	fldl   0x10(%esp)
55d9c2:	d8 1d 90 da 55 00    	fcomps 0x55da90
55d9c8:	df e0                	fnstsw %ax
55d9ca:	9e                   	sahf
55d9cb:	77 1c                	ja     0x55d9e9
55d9cd:	33 c9                	xor    %ecx,%ecx
55d9cf:	89 4a 28             	mov    %ecx,0x28(%edx)
55d9d2:	c7 42 2c 00 00 f0 bf 	movl   $0xbff00000,0x2c(%edx)
55d9d9:	3b fa                	cmp    %edx,%edi
55d9db:	0f 87 93 00 00 00    	ja     0x55da74
55d9e1:	8d 7a 48             	lea    0x48(%edx),%edi
55d9e4:	e9 8b 00 00 00       	jmp    0x55da74
55d9e9:	3b fa                	cmp    %edx,%edi
55d9eb:	76 0e                	jbe    0x55d9fb
55d9ed:	dd 42 28             	fldl   0x28(%edx)
55d9f0:	d8 1d 90 da 55 00    	fcomps 0x55da90
55d9f6:	df e0                	fnstsw %ax
55d9f8:	9e                   	sahf
55d9f9:	76 79                	jbe    0x55da74
55d9fb:	85 c9                	test   %ecx,%ecx
55d9fd:	75 25                	jne    0x55da24
55d9ff:	85 db                	test   %ebx,%ebx
55da01:	75 17                	jne    0x55da1a
55da03:	68 39 06 00 00       	push   $0x639
55da08:	68 25 df 69 00       	push   $0x69df25
55da0d:	68 1f df 69 00       	push   $0x69df1f
55da12:	e8 29 d1 ff ff       	call   0x55ab40
55da17:	83 c4 0c             	add    $0xc,%esp
55da1a:	33 d2                	xor    %edx,%edx
55da1c:	89 53 28             	mov    %edx,0x28(%ebx)
55da1f:	89 53 2c             	mov    %edx,0x2c(%ebx)
55da22:	eb 5b                	jmp    0x55da7f
55da24:	89 4c 24 18          	mov    %ecx,0x18(%esp)
55da28:	db 44 24 18          	fildl  0x18(%esp)
55da2c:	dc 7c 24 10          	fdivrl 0x10(%esp)
55da30:	dd 5c 24 08          	fstpl  0x8(%esp)
55da34:	85 db                	test   %ebx,%ebx
55da36:	74 16                	je     0x55da4e
55da38:	dd 44 24 08          	fldl   0x8(%esp)
55da3c:	dc 1c 24             	fcompl (%esp)
55da3f:	df e0                	fnstsw %ax
55da41:	9e                   	sahf
55da42:	72 0a                	jb     0x55da4e
55da44:	33 d2                	xor    %edx,%edx
55da46:	89 53 28             	mov    %edx,0x28(%ebx)
55da49:	89 53 2c             	mov    %edx,0x2c(%ebx)
55da4c:	eb 31                	jmp    0x55da7f
55da4e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
55da52:	3b fa                	cmp    %edx,%edi
55da54:	89 4a 28             	mov    %ecx,0x28(%edx)
55da57:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
55da5b:	89 4a 2c             	mov    %ecx,0x2c(%edx)
55da5e:	77 03                	ja     0x55da63
55da60:	8d 7a 48             	lea    0x48(%edx),%edi
55da63:	8b da                	mov    %edx,%ebx
55da65:	8b 44 24 08          	mov    0x8(%esp),%eax
55da69:	89 04 24             	mov    %eax,(%esp)
55da6c:	8b 44 24 0c          	mov    0xc(%esp),%eax
55da70:	89 44 24 04          	mov    %eax,0x4(%esp)
55da74:	83 c2 48             	add    $0x48,%edx
55da77:	3b ea                	cmp    %edx,%ebp
55da79:	0f 85 1c ff ff ff    	jne    0x55d99b
55da7f:	3b ef                	cmp    %edi,%ebp
55da81:	0f 85 07 ff ff ff    	jne    0x55d98e
55da87:	83 c4 1c             	add    $0x1c,%esp
55da8a:	5d                   	pop    %ebp
55da8b:	5f                   	pop    %edi
55da8c:	5e                   	pop    %esi
55da8d:	5b                   	pop    %ebx
55da8e:	c3                   	ret
55da8f:	00 00                	add    %al,(%eax)
55da91:	00 00                	add    %al,(%eax)
55da93:	00 53 56             	add    %dl,0x56(%ebx)
55da96:	57                   	push   %edi
55da97:	55                   	push   %ebp
55da98:	83 c4 d8             	add    $0xffffffd8,%esp
55da9b:	8b 40 0c             	mov    0xc(%eax),%eax
55da9e:	89 44 24 24          	mov    %eax,0x24(%esp)
55daa2:	33 ff                	xor    %edi,%edi
55daa4:	e9 71 01 00 00       	jmp    0x55dc1a
55daa9:	57                   	push   %edi
55daaa:	68 2f df 69 00       	push   $0x69df2f
55daaf:	68 80 2e 6a 00       	push   $0x6a2e80
55dab4:	e8 13 c6 01 00       	call   0x57a0cc
55dab9:	83 c4 0c             	add    $0xc,%esp
55dabc:	66 c7 44 24 04 00 00 	movw   $0x0,0x4(%esp)
55dac3:	8b 44 24 24          	mov    0x24(%esp),%eax
55dac7:	8b 50 2c             	mov    0x2c(%eax),%edx
55daca:	89 14 24             	mov    %edx,(%esp)
55dacd:	e9 33 01 00 00       	jmp    0x55dc05
55dad2:	66 c7 44 24 0c 00 00 	movw   $0x0,0xc(%esp)
55dad9:	8b 0c 24             	mov    (%esp),%ecx
55dadc:	8b 41 04             	mov    0x4(%ecx),%eax
55dadf:	89 44 24 08          	mov    %eax,0x8(%esp)
55dae3:	e9 00 01 00 00       	jmp    0x55dbe8
55dae8:	8b 54 24 08          	mov    0x8(%esp),%edx
55daec:	8b 42 34             	mov    0x34(%edx),%eax
55daef:	85 c0                	test   %eax,%eax
55daf1:	0f 84 e7 00 00 00    	je     0x55dbde
55daf7:	66 c7 44 24 14 00 00 	movw   $0x0,0x14(%esp)
55dafe:	89 44 24 10          	mov    %eax,0x10(%esp)
55db02:	e9 c3 00 00 00       	jmp    0x55dbca
55db07:	8b 54 24 10          	mov    0x10(%esp),%edx
55db0b:	8b 4a 04             	mov    0x4(%edx),%ecx
55db0e:	85 c9                	test   %ecx,%ecx
55db10:	0f 84 aa 00 00 00    	je     0x55dbc0
55db16:	33 c0                	xor    %eax,%eax
55db18:	89 44 24 1c          	mov    %eax,0x1c(%esp)
55db1c:	8b 54 24 10          	mov    0x10(%esp),%edx
55db20:	8b 0a                	mov    (%edx),%ecx
55db22:	89 4c 24 18          	mov    %ecx,0x18(%esp)
55db26:	e9 82 00 00 00       	jmp    0x55dbad
55db2b:	8b 44 24 18          	mov    0x18(%esp),%eax
55db2f:	8b 40 1c             	mov    0x1c(%eax),%eax
55db32:	85 c0                	test   %eax,%eax
55db34:	74 6e                	je     0x55dba4
55db36:	33 ed                	xor    %ebp,%ebp
55db38:	89 44 24 20          	mov    %eax,0x20(%esp)
55db3c:	eb 58                	jmp    0x55db96
55db3e:	33 db                	xor    %ebx,%ebx
55db40:	8b 44 24 20          	mov    0x20(%esp),%eax
55db44:	8b 70 04             	mov    0x4(%eax),%esi
55db47:	eb 33                	jmp    0x55db7c
55db49:	50                   	push   %eax
55db4a:	0f b7 c5             	movzwl %bp,%eax
55db4d:	50                   	push   %eax
55db4e:	8b 54 24 24          	mov    0x24(%esp),%edx
55db52:	52                   	push   %edx
55db53:	0f b7 4c 24 20       	movzwl 0x20(%esp),%ecx
55db58:	51                   	push   %ecx
55db59:	0f b7 44 24 1c       	movzwl 0x1c(%esp),%eax
55db5e:	50                   	push   %eax
55db5f:	0f b7 54 24 18       	movzwl 0x18(%esp),%edx
55db64:	52                   	push   %edx
55db65:	57                   	push   %edi
55db66:	68 3d df 69 00       	push   $0x69df3d
55db6b:	68 80 2e 6a 00       	push   $0x6a2e80
55db70:	e8 57 c5 01 00       	call   0x57a0cc
55db75:	83 c4 24             	add    $0x24,%esp
55db78:	43                   	inc    %ebx
55db79:	83 c6 48             	add    $0x48,%esi
55db7c:	0f b7 c3             	movzwl %bx,%eax
55db7f:	8b 54 24 20          	mov    0x20(%esp),%edx
55db83:	8b 0a                	mov    (%edx),%ecx
55db85:	3b c1                	cmp    %ecx,%eax
55db87:	7d 07                	jge    0x55db90
55db89:	8b 56 20             	mov    0x20(%esi),%edx
55db8c:	3b fa                	cmp    %edx,%edi
55db8e:	74 b9                	je     0x55db49
55db90:	45                   	inc    %ebp
55db91:	83 44 24 20 3c       	addl   $0x3c,0x20(%esp)
55db96:	0f b7 c5             	movzwl %bp,%eax
55db99:	8b 4c 24 18          	mov    0x18(%esp),%ecx
55db9d:	8b 51 18             	mov    0x18(%ecx),%edx
55dba0:	3b c2                	cmp    %edx,%eax
55dba2:	7c 9a                	jl     0x55db3e
55dba4:	ff 44 24 1c          	incl   0x1c(%esp)
55dba8:	83 44 24 18 34       	addl   $0x34,0x18(%esp)
55dbad:	8b 44 24 08          	mov    0x8(%esp),%eax
55dbb1:	8b 48 20             	mov    0x20(%eax),%ecx
55dbb4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55dbb8:	3b c8                	cmp    %eax,%ecx
55dbba:	0f 87 6b ff ff ff    	ja     0x55db2b
55dbc0:	66 ff 44 24 14       	incw   0x14(%esp)
55dbc5:	83 44 24 10 24       	addl   $0x24,0x10(%esp)
55dbca:	0f b7 54 24 14       	movzwl 0x14(%esp),%edx
55dbcf:	8b 4c 24 08          	mov    0x8(%esp),%ecx
55dbd3:	8b 41 30             	mov    0x30(%ecx),%eax
55dbd6:	3b d0                	cmp    %eax,%edx
55dbd8:	0f 8c 29 ff ff ff    	jl     0x55db07
55dbde:	66 ff 44 24 0c       	incw   0xc(%esp)
55dbe3:	83 44 24 08 3c       	addl   $0x3c,0x8(%esp)
55dbe8:	8b 14 24             	mov    (%esp),%edx
55dbeb:	66 8b 0a             	mov    (%edx),%cx
55dbee:	66 3b 4c 24 0c       	cmp    0xc(%esp),%cx
55dbf3:	0f 87 ef fe ff ff    	ja     0x55dae8
55dbf9:	66 ff 44 24 04       	incw   0x4(%esp)
55dbfe:	81 04 24 04 02 00 00 	addl   $0x204,(%esp)
55dc05:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
55dc0a:	8b 54 24 24          	mov    0x24(%esp),%edx
55dc0e:	8b 4a 28             	mov    0x28(%edx),%ecx
55dc11:	3b c1                	cmp    %ecx,%eax
55dc13:	0f 8c b9 fe ff ff    	jl     0x55dad2
55dc19:	47                   	inc    %edi
55dc1a:	8b 44 24 24          	mov    0x24(%esp),%eax
55dc1e:	0f b7 50 16          	movzwl 0x16(%eax),%edx
55dc22:	3b fa                	cmp    %edx,%edi
55dc24:	0f 8c 7f fe ff ff    	jl     0x55daa9
55dc2a:	83 c4 28             	add    $0x28,%esp
55dc2d:	5d                   	pop    %ebp
55dc2e:	5f                   	pop    %edi
55dc2f:	5e                   	pop    %esi
55dc30:	5b                   	pop    %ebx
55dc31:	c3                   	ret
55dc32:	90                   	nop
55dc33:	90                   	nop
55dc34:	53                   	push   %ebx
55dc35:	56                   	push   %esi
55dc36:	57                   	push   %edi
55dc37:	55                   	push   %ebp
55dc38:	83 c4 84             	add    $0xffffff84,%esp
55dc3b:	89 4c 24 08          	mov    %ecx,0x8(%esp)
55dc3f:	89 54 24 04          	mov    %edx,0x4(%esp)
55dc43:	89 04 24             	mov    %eax,(%esp)
55dc46:	8b 04 24             	mov    (%esp),%eax
55dc49:	8b 50 0c             	mov    0xc(%eax),%edx
55dc4c:	89 54 24 70          	mov    %edx,0x70(%esp)
55dc50:	be 01 00 00 00       	mov    $0x1,%esi
55dc55:	8b 44 24 08          	mov    0x8(%esp),%eax
55dc59:	8b d0                	mov    %eax,%edx
55dc5b:	89 54 24 78          	mov    %edx,0x78(%esp)
55dc5f:	eb 1c                	jmp    0x55dc7d
55dc61:	8b 4c 24 78          	mov    0x78(%esp),%ecx
55dc65:	8b 54 24 78          	mov    0x78(%esp),%edx
55dc69:	8b 01                	mov    (%ecx),%eax
55dc6b:	8b 4a 04             	mov    0x4(%edx),%ecx
55dc6e:	3b c1                	cmp    %ecx,%eax
55dc70:	76 05                	jbe    0x55dc77
55dc72:	e8 d1 ce ff ff       	call   0x55ab48
55dc77:	46                   	inc    %esi
55dc78:	83 44 24 78 04       	addl   $0x4,0x78(%esp)
55dc7d:	8b 44 24 04          	mov    0x4(%esp),%eax
55dc81:	48                   	dec    %eax
55dc82:	3b f0                	cmp    %eax,%esi
55dc84:	7c db                	jl     0x55dc61
55dc86:	33 d2                	xor    %edx,%edx
55dc88:	33 c0                	xor    %eax,%eax
55dc8a:	e8 8d a7 01 00       	call   0x57841c
55dc8f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
55dc93:	85 c0                	test   %eax,%eax
55dc95:	75 08                	jne    0x55dc9f
55dc97:	83 c8 ff             	or     $0xffffffff,%eax