55bea8:	75 06                	jne    0x55beb0
55beaa:	8b 53 08             	mov    0x8(%ebx),%edx
55bead:	89 53 18             	mov    %edx,0x18(%ebx)
55beb0:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
55beb3:	85 c9                	test   %ecx,%ecx
55beb5:	75 0b                	jne    0x55bec2
55beb7:	8b 43 0c             	mov    0xc(%ebx),%eax
55beba:	8b 53 14             	mov    0x14(%ebx),%edx
55bebd:	2b c2                	sub    %edx,%eax
55bebf:	89 43 1c             	mov    %eax,0x1c(%ebx)
55bec2:	8b 4b 20             	mov    0x20(%ebx),%ecx
55bec5:	85 c9                	test   %ecx,%ecx
55bec7:	75 0b                	jne    0x55bed4
55bec9:	8b 43 10             	mov    0x10(%ebx),%eax
55becc:	8b 53 18             	mov    0x18(%ebx),%edx
55becf:	2b c2                	sub    %edx,%eax
55bed1:	89 43 20             	mov    %eax,0x20(%ebx)
55bed4:	66 83 7b 30 03       	cmpw   $0x3,0x30(%ebx)
55bed9:	75 65                	jne    0x55bf40
55bedb:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
55bee2:	00
55bee3:	33 ff                	xor    %edi,%edi
55bee5:	8b 46 14             	mov    0x14(%esi),%eax
55bee8:	eb 4e                	jmp    0x55bf38
55beea:	8b 10                	mov    (%eax),%edx
55beec:	66 8b 4a 18          	mov    0x18(%edx),%cx
55bef0:	8b 56 14             	mov    0x14(%esi),%edx
55bef3:	8b 12                	mov    (%edx),%edx
55bef5:	66 3b 4a 18          	cmp    0x18(%edx),%cx
55bef9:	75 33                	jne    0x55bf2e
55befb:	8b 08                	mov    (%eax),%ecx
55befd:	8a 51 1a             	mov    0x1a(%ecx),%dl
55bf00:	8b 4e 14             	mov    0x14(%esi),%ecx
55bf03:	8b 09                	mov    (%ecx),%ecx
55bf05:	8a 49 1a             	mov    0x1a(%ecx),%cl
55bf08:	3a d1                	cmp    %cl,%dl
55bf0a:	75 22                	jne    0x55bf2e
55bf0c:	8b 4e 14             	mov    0x14(%esi),%ecx
55bf0f:	8b 10                	mov    (%eax),%edx
55bf11:	8b 09                	mov    (%ecx),%ecx
55bf13:	8b 52 10             	mov    0x10(%edx),%edx
55bf16:	8b 49 10             	mov    0x10(%ecx),%ecx
55bf19:	3b d1                	cmp    %ecx,%edx
55bf1b:	75 11                	jne    0x55bf2e
55bf1d:	8b 4e 14             	mov    0x14(%esi),%ecx
55bf20:	8b 10                	mov    (%eax),%edx
55bf22:	8b 09                	mov    (%ecx),%ecx
55bf24:	8b 52 14             	mov    0x14(%edx),%edx
55bf27:	8b 49 14             	mov    0x14(%ecx),%ecx
55bf2a:	3b d1                	cmp    %ecx,%edx
55bf2c:	74 06                	je     0x55bf34
55bf2e:	33 d2                	xor    %edx,%edx
55bf30:	89 54 24 2c          	mov    %edx,0x2c(%esp)
55bf34:	47                   	inc    %edi
55bf35:	83 c0 04             	add    $0x4,%eax
55bf38:	66 3b 7e 10          	cmp    0x10(%esi),%di
55bf3c:	72 ac                	jb     0x55beea
55bf3e:	eb 06                	jmp    0x55bf46
55bf40:	33 c0                	xor    %eax,%eax
55bf42:	89 44 24 2c          	mov    %eax,0x2c(%esp)
55bf46:	8b 44 24 2c          	mov    0x2c(%esp),%eax
55bf4a:	85 c0                	test   %eax,%eax
55bf4c:	74 22                	je     0x55bf70
55bf4e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55bf52:	85 d2                	test   %edx,%edx
55bf54:	74 1a                	je     0x55bf70
55bf56:	8b 4e 18             	mov    0x18(%esi),%ecx
55bf59:	83 f9 02             	cmp    $0x2,%ecx
55bf5c:	74 12                	je     0x55bf70
55bf5e:	68 51 da 69 00       	push   $0x69da51
55bf63:	68 80 2e 6a 00       	push   $0x6a2e80
55bf68:	e8 5f e1 01 00       	call   0x57a0cc
55bf6d:	83 c4 08             	add    $0x8,%esp
55bf70:	8b 44 24 2c          	mov    0x2c(%esp),%eax
55bf74:	85 c0                	test   %eax,%eax
55bf76:	74 22                	je     0x55bf9a
55bf78:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55bf7c:	85 d2                	test   %edx,%edx
55bf7e:	74 1a                	je     0x55bf9a
55bf80:	8b 4e 18             	mov    0x18(%esi),%ecx
55bf83:	83 f9 02             	cmp    $0x2,%ecx
55bf86:	75 12                	jne    0x55bf9a
55bf88:	8b 45 00             	mov    0x0(%ebp),%eax
55bf8b:	85 c0                	test   %eax,%eax
55bf8d:	74 04                	je     0x55bf93
55bf8f:	b2 02                	mov    $0x2,%dl
55bf91:	eb 02                	jmp    0x55bf95
55bf93:	b2 01                	mov    $0x1,%dl
55bf95:	88 55 06             	mov    %dl,0x6(%ebp)
55bf98:	eb 04                	jmp    0x55bf9e
55bf9a:	c6 45 06 00          	movb   $0x0,0x6(%ebp)
55bf9e:	8b 45 00             	mov    0x0(%ebp),%eax
55bfa1:	85 c0                	test   %eax,%eax
55bfa3:	74 04                	je     0x55bfa9
55bfa5:	b1 01                	mov    $0x1,%cl
55bfa7:	eb 02                	jmp    0x55bfab
55bfa9:	33 c9                	xor    %ecx,%ecx
55bfab:	8b 44 24 14          	mov    0x14(%esp),%eax
55bfaf:	88 48 07             	mov    %cl,0x7(%eax)
55bfb2:	33 d2                	xor    %edx,%edx
55bfb4:	8b 44 24 14          	mov    0x14(%esp),%eax
55bfb8:	83 c0 08             	add    $0x8,%eax
55bfbb:	eb 15                	jmp    0x55bfd2
55bfbd:	66 8b 4c 24 18       	mov    0x18(%esp),%cx
55bfc2:	42                   	inc    %edx
55bfc3:	66 89 08             	mov    %cx,(%eax)
55bfc6:	66 8b 4c 24 1a       	mov    0x1a(%esp),%cx
55bfcb:	66 89 48 42          	mov    %cx,0x42(%eax)
55bfcf:	83 c0 02             	add    $0x2,%eax
55bfd2:	8b 74 24 14          	mov    0x14(%esp),%esi
55bfd6:	0f b7 ca             	movzwl %dx,%ecx
55bfd9:	0f b6 76 01          	movzbl 0x1(%esi),%esi
55bfdd:	3b ce                	cmp    %esi,%ecx
55bfdf:	7c dc                	jl     0x55bfbd
55bfe1:	66 83 7c 24 18 0f    	cmpw   $0xf,0x18(%esp)
55bfe7:	75 08                	jne    0x55bff1
55bfe9:	66 83 7c 24 1a 0f    	cmpw   $0xf,0x1a(%esp)
55bfef:	74 07                	je     0x55bff8
55bff1:	8b 44 24 14          	mov    0x14(%esp),%eax
55bff5:	80 08 01             	orb    $0x1,(%eax)
55bff8:	8b 53 1c             	mov    0x1c(%ebx),%edx
55bffb:	85 d2                	test   %edx,%edx
55bffd:	75 1b                	jne    0x55c01a
55bfff:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
55c002:	51                   	push   %ecx
55c003:	68 7a da 69 00       	push   $0x69da7a
55c008:	68 80 2e 6a 00       	push   $0x6a2e80
55c00d:	e8 ba e0 01 00       	call   0x57a0cc
55c012:	83 c4 0c             	add    $0xc,%esp
55c015:	e9 8e 03 00 00       	jmp    0x55c3a8
55c01a:	8b 43 20             	mov    0x20(%ebx),%eax
55c01d:	85 c0                	test   %eax,%eax
55c01f:	75 1b                	jne    0x55c03c
55c021:	8b 53 20             	mov    0x20(%ebx),%edx
55c024:	52                   	push   %edx
55c025:	68 92 da 69 00       	push   $0x69da92
55c02a:	68 80 2e 6a 00       	push   $0x6a2e80
55c02f:	e8 98 e0 01 00       	call   0x57a0cc
55c034:	83 c4 0c             	add    $0xc,%esp
55c037:	e9 6c 03 00 00       	jmp    0x55c3a8
55c03c:	8b 4b 04             	mov    0x4(%ebx),%ecx
55c03f:	8b 43 14             	mov    0x14(%ebx),%eax
55c042:	3b c8                	cmp    %eax,%ecx
55c044:	72 27                	jb     0x55c06d
55c046:	8b 53 18             	mov    0x18(%ebx),%edx
55c049:	8b 4b 08             	mov    0x8(%ebx),%ecx
55c04c:	3b d1                	cmp    %ecx,%edx
55c04e:	77 1d                	ja     0x55c06d
55c050:	8b d0                	mov    %eax,%edx
55c052:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
55c055:	03 d1                	add    %ecx,%edx
55c057:	8b 4b 04             	mov    0x4(%ebx),%ecx
55c05a:	3b d1                	cmp    %ecx,%edx
55c05c:	72 0f                	jb     0x55c06d
55c05e:	8b 53 18             	mov    0x18(%ebx),%edx
55c061:	8b 4b 20             	mov    0x20(%ebx),%ecx
55c064:	03 d1                	add    %ecx,%edx
55c066:	8b 4b 08             	mov    0x8(%ebx),%ecx
55c069:	3b d1                	cmp    %ecx,%edx
55c06b:	73 1c                	jae    0x55c089
55c06d:	8b 53 18             	mov    0x18(%ebx),%edx
55c070:	52                   	push   %edx
55c071:	50                   	push   %eax
55c072:	68 ab da 69 00       	push   $0x69daab
55c077:	68 80 2e 6a 00       	push   $0x6a2e80
55c07c:	e8 4b e0 01 00       	call   0x57a0cc
55c081:	83 c4 10             	add    $0x10,%esp
55c084:	e9 1f 03 00 00       	jmp    0x55c3a8
55c089:	8b 43 1c             	mov    0x1c(%ebx),%eax
55c08c:	85 c0                	test   %eax,%eax
55c08e:	77 17                	ja     0x55c0a7
55c090:	68 ba 02 00 00       	push   $0x2ba
55c095:	68 0c db 69 00       	push   $0x69db0c
55c09a:	68 d0 da 69 00       	push   $0x69dad0
55c09f:	e8 9c ea ff ff       	call   0x55ab40
55c0a4:	83 c4 0c             	add    $0xc,%esp
55c0a7:	8b 43 0c             	mov    0xc(%ebx),%eax
55c0aa:	8b 53 14             	mov    0x14(%ebx),%edx
55c0ad:	2b c2                	sub    %edx,%eax
55c0af:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
55c0b2:	03 c1                	add    %ecx,%eax
55c0b4:	48                   	dec    %eax
55c0b5:	33 d2                	xor    %edx,%edx
55c0b7:	f7 73 1c             	divl   0x1c(%ebx)
55c0ba:	89 43 24             	mov    %eax,0x24(%ebx)
55c0bd:	8b 43 20             	mov    0x20(%ebx),%eax
55c0c0:	85 c0                	test   %eax,%eax
55c0c2:	77 17                	ja     0x55c0db
55c0c4:	68 bc 02 00 00       	push   $0x2bc
55c0c9:	68 54 db 69 00       	push   $0x69db54
55c0ce:	68 16 db 69 00       	push   $0x69db16
55c0d3:	e8 68 ea ff ff       	call   0x55ab40
55c0d8:	83 c4 0c             	add    $0xc,%esp
55c0db:	8b 43 10             	mov    0x10(%ebx),%eax
55c0de:	8b 53 18             	mov    0x18(%ebx),%edx
55c0e1:	2b c2                	sub    %edx,%eax
55c0e3:	8b 4b 20             	mov    0x20(%ebx),%ecx
55c0e6:	03 c1                	add    %ecx,%eax
55c0e8:	48                   	dec    %eax
55c0e9:	33 d2                	xor    %edx,%edx
55c0eb:	f7 73 20             	divl   0x20(%ebx)
55c0ee:	89 43 28             	mov    %eax,0x28(%ebx)
55c0f1:	8b 43 24             	mov    0x24(%ebx),%eax
55c0f4:	f7 6b 28             	imull  0x28(%ebx)
55c0f7:	89 43 2c             	mov    %eax,0x2c(%ebx)
55c0fa:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
55c0fe:	85 c9                	test   %ecx,%ecx
55c100:	74 50                	je     0x55c152
55c102:	8b 44 24 08          	mov    0x8(%esp),%eax
55c106:	85 c0                	test   %eax,%eax
55c108:	7e 48                	jle    0x55c152
55c10a:	66 8b 54 24 08       	mov    0x8(%esp),%dx
55c10f:	42                   	inc    %edx
55c110:	66 89 55 08          	mov    %dx,0x8(%ebp)
55c114:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
55c118:	48                   	dec    %eax
55c119:	c1 e0 02             	shl    $0x2,%eax
55c11c:	e8 5b c2 01 00       	call   0x57837c
55c121:	89 45 0c             	mov    %eax,0xc(%ebp)
55c124:	85 c0                	test   %eax,%eax
55c126:	0f 84 7c 02 00 00    	je     0x55c3a8
55c12c:	33 f6                	xor    %esi,%esi
55c12e:	eb 19                	jmp    0x55c149
55c130:	8b 44 24 0c          	mov    0xc(%esp),%eax
55c134:	dd 04 f0             	fldl   (%eax,%esi,8)
55c137:	d8 0d e0 c3 55 00    	fmuls  0x55c3e0
55c13d:	e8 9e e9 ff ff       	call   0x55aae0
55c142:	8b 55 0c             	mov    0xc(%ebp),%edx
55c145:	89 04 b2             	mov    %eax,(%edx,%esi,4)
55c148:	46                   	inc    %esi
55c149:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
55c14d:	49                   	dec    %ecx
55c14e:	3b f1                	cmp    %ecx,%esi
55c150:	7c de                	jl     0x55c130
55c152:	8b 83 d8 00 00 00    	mov    0xd8(%ebx),%eax
55c158:	83 f8 ff             	cmp    $0xffffffff,%eax
55c15b:	75 1e                	jne    0x55c17b
55c15d:	8b 53 38             	mov    0x38(%ebx),%edx
55c160:	85 d2                	test   %edx,%edx
55c162:	75 17                	jne    0x55c17b
55c164:	68 5e db 69 00       	push   $0x69db5e
55c169:	68 80 2e 6a 00       	push   $0x6a2e80
55c16e:	e8 59 df 01 00       	call   0x57a0cc
55c173:	83 c4 08             	add    $0x8,%esp
55c176:	e9 2d 02 00 00       	jmp    0x55c3a8
55c17b:	66 83 7c 24 18 0f    	cmpw   $0xf,0x18(%esp)
55c181:	76 17                	jbe    0x55c19a
55c183:	68 88 db 69 00       	push   $0x69db88
55c188:	68 80 2e 6a 00       	push   $0x6a2e80
55c18d:	e8 3a df 01 00       	call   0x57a0cc
55c192:	83 c4 08             	add    $0x8,%esp
55c195:	e9 0e 02 00 00       	jmp    0x55c3a8
55c19a:	66 83 7c 24 1a 0f    	cmpw   $0xf,0x1a(%esp)
55c1a0:	76 17                	jbe    0x55c1b9
55c1a2:	68 a0 db 69 00       	push   $0x69dba0
55c1a7:	68 80 2e 6a 00       	push   $0x6a2e80
55c1ac:	e8 1b df 01 00       	call   0x57a0cc
55c1b1:	83 c4 08             	add    $0x8,%esp
55c1b4:	e9 ef 01 00 00       	jmp    0x55c3a8
55c1b9:	66 8b 43 4a          	mov    0x4a(%ebx),%ax
55c1bd:	66 83 f8 02          	cmp    $0x2,%ax
55c1c1:	72 06                	jb     0x55c1c9
55c1c3:	66 83 f8 0c          	cmp    $0xc,%ax
55c1c7:	76 21                	jbe    0x55c1ea
55c1c9:	8b c8                	mov    %eax,%ecx
55c1cb:	ba 01 00 00 00       	mov    $0x1,%edx
55c1d0:	d3 e2                	shl    %cl,%edx
55c1d2:	52                   	push   %edx
55c1d3:	68 b9 db 69 00       	push   $0x69dbb9
55c1d8:	68 80 2e 6a 00       	push   $0x6a2e80
55c1dd:	e8 ea de 01 00       	call   0x57a0cc
55c1e2:	83 c4 0c             	add    $0xc,%esp
55c1e5:	e9 be 01 00 00       	jmp    0x55c3a8
55c1ea:	66 8b 43 4c          	mov    0x4c(%ebx),%ax
55c1ee:	66 83 f8 02          	cmp    $0x2,%ax
55c1f2:	72 06                	jb     0x55c1fa
55c1f4:	66 83 f8 0c          	cmp    $0xc,%ax
55c1f8:	76 21                	jbe    0x55c21b
55c1fa:	8b c8                	mov    %eax,%ecx
55c1fc:	ba 01 00 00 00       	mov    $0x1,%edx
55c201:	d3 e2                	shl    %cl,%edx
55c203:	52                   	push   %edx
55c204:	68 d6 db 69 00       	push   $0x69dbd6
55c209:	68 80 2e 6a 00       	push   $0x6a2e80
55c20e:	e8 b9 de 01 00       	call   0x57a0cc
55c213:	83 c4 0c             	add    $0xc,%esp
55c216:	e9 8d 01 00 00       	jmp    0x55c3a8
55c21b:	0f b7 43 4a          	movzwl 0x4a(%ebx),%eax
55c21f:	0f b7 53 4c          	movzwl 0x4c(%ebx),%edx
55c223:	03 c2                	add    %edx,%eax
55c225:	83 f8 0c             	cmp    $0xc,%eax
55c228:	7e 17                	jle    0x55c241
55c22a:	68 f4 db 69 00       	push   $0x69dbf4
55c22f:	68 80 2e 6a 00       	push   $0x6a2e80
55c234:	e8 93 de 01 00       	call   0x57a0cc
55c239:	83 c4 08             	add    $0x8,%esp
55c23c:	e9 67 01 00 00       	jmp    0x55c3a8
55c241:	66 81 7b 40 00 40    	cmpw   $0x4000,0x40(%ebx)
55c247:	76 17                	jbe    0x55c260
55c249:	68 0f dc 69 00       	push   $0x69dc0f
55c24e:	68 80 2e 6a 00       	push   $0x6a2e80
55c253:	e8 74 de 01 00       	call   0x57a0cc
55c258:	83 c4 08             	add    $0x8,%esp
55c25b:	e9 48 01 00 00       	jmp    0x55c3a8
55c260:	8a 4b 49             	mov    0x49(%ebx),%cl
55c263:	80 f9 01             	cmp    $0x1,%cl
55c266:	73 17                	jae    0x55c27f
55c268:	68 20 dc 69 00       	push   $0x69dc20
55c26d:	68 80 2e 6a 00       	push   $0x6a2e80
55c272:	e8 55 de 01 00       	call   0x57a0cc
55c277:	83 c4 08             	add    $0x8,%esp
55c27a:	e9 29 01 00 00       	jmp    0x55c3a8
55c27f:	8a 83 d4 00 00 00    	mov    0xd4(%ebx),%al
55c285:	3c 08                	cmp    $0x8,%al
55c287:	76 17                	jbe    0x55c2a0
55c289:	68 47 dc 69 00       	push   $0x69dc47
55c28e:	68 80 2e 6a 00       	push   $0x6a2e80
55c293:	e8 34 de 01 00       	call   0x57a0cc
55c298:	83 c4 08             	add    $0x8,%esp
55c29b:	e9 08 01 00 00       	jmp    0x55c3a8
55c2a0:	8b 93 d8 00 00 00    	mov    0xd8(%ebx),%edx
55c2a6:	83 fa ff             	cmp    $0xffffffff,%edx
55c2a9:	74 30                	je     0x55c2db
55c2ab:	8b 8b d8 00 00 00    	mov    0xd8(%ebx),%ecx
55c2b1:	8b 83 dc 00 00 00    	mov    0xdc(%ebx),%eax
55c2b7:	3b c8                	cmp    %eax,%ecx
55c2b9:	76 20                	jbe    0x55c2db
55c2bb:	8b 93 dc 00 00 00    	mov    0xdc(%ebx),%edx
55c2c1:	52                   	push   %edx
55c2c2:	8b 8b d8 00 00 00    	mov    0xd8(%ebx),%ecx
55c2c8:	51                   	push   %ecx
55c2c9:	68 65 dc 69 00       	push   $0x69dc65
55c2ce:	68 80 2e 6a 00       	push   $0x6a2e80
55c2d3:	e8 f4 dd 01 00       	call   0x57a0cc
55c2d8:	83 c4 10             	add    $0x10,%esp
55c2db:	66 83 7d 08 01       	cmpw   $0x1,0x8(%ebp)
55c2e0:	0f 86 ad 00 00 00    	jbe    0x55c393
55c2e6:	33 d2                	xor    %edx,%edx
55c2e8:	eb 29                	jmp    0x55c313
55c2ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
55c2ed:	8b 75 0c             	mov    0xc(%ebp),%esi
55c2f0:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
55c2f3:	8b 44 86 04          	mov    0x4(%esi,%eax,4),%eax
55c2f7:	3b c8                	cmp    %eax,%ecx
55c2f9:	7c 17                	jl     0x55c312
55c2fb:	68 a0 dc 69 00       	push   $0x69dca0
55c300:	68 80 2e 6a 00       	push   $0x6a2e80
55c305:	e8 c2 dd 01 00       	call   0x57a0cc
55c30a:	83 c4 08             	add    $0x8,%esp
55c30d:	e9 96 00 00 00       	jmp    0x55c3a8