55cb29:	33 d2                	xor    %edx,%edx
55cb2b:	89 56 0c             	mov    %edx,0xc(%esi)
55cb2e:	8b 45 1c             	mov    0x1c(%ebp),%eax
55cb31:	e8 f2 94 01 00       	call   0x576028
55cb36:	33 d2                	xor    %edx,%edx
55cb38:	47                   	inc    %edi
55cb39:	89 55 1c             	mov    %edx,0x1c(%ebp)
55cb3c:	66 3b 7b 30          	cmp    0x30(%ebx),%di
55cb40:	0f 82 66 ff ff ff    	jb     0x55caac
55cb46:	8b 4d 04             	mov    0x4(%ebp),%ecx
55cb49:	8b 41 3c             	mov    0x3c(%ecx),%eax
55cb4c:	8b 14 24             	mov    (%esp),%edx
55cb4f:	2b c2                	sub    %edx,%eax
55cb51:	01 45 14             	add    %eax,0x14(%ebp)
55cb54:	8b 4d 08             	mov    0x8(%ebp),%ecx
55cb57:	8b 91 d8 00 00 00    	mov    0xd8(%ecx),%edx
55cb5d:	83 fa ff             	cmp    $0xffffffff,%edx
55cb60:	74 30                	je     0x55cb92
55cb62:	83 c0 02             	add    $0x2,%eax
55cb65:	89 44 24 1c          	mov    %eax,0x1c(%esp)
55cb69:	8b 4d 08             	mov    0x8(%ebp),%ecx
55cb6c:	8b 81 d8 00 00 00    	mov    0xd8(%ecx),%eax
55cb72:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55cb76:	3b c2                	cmp    %edx,%eax
55cb78:	72 11                	jb     0x55cb8b
55cb7a:	8b 4d 08             	mov    0x8(%ebp),%ecx
55cb7d:	8b 81 d8 00 00 00    	mov    0xd8(%ecx),%eax
55cb83:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55cb87:	2b c2                	sub    %edx,%eax
55cb89:	eb 02                	jmp    0x55cb8d
55cb8b:	33 c0                	xor    %eax,%eax
55cb8d:	89 45 18             	mov    %eax,0x18(%ebp)
55cb90:	eb 07                	jmp    0x55cb99
55cb92:	c7 45 18 ff ff ff ff 	movl   $0xffffffff,0x18(%ebp)
55cb99:	33 c0                	xor    %eax,%eax
55cb9b:	81 c4 c0 13 00 00    	add    $0x13c0,%esp
55cba1:	5d                   	pop    %ebp
55cba2:	5f                   	pop    %edi
55cba3:	5e                   	pop    %esi
55cba4:	5b                   	pop    %ebx
55cba5:	c3                   	ret
55cba6:	90                   	nop
55cba7:	90                   	nop
55cba8:	53                   	push   %ebx
55cba9:	56                   	push   %esi
55cbaa:	57                   	push   %edi
55cbab:	81 c4 60 ff ff ff    	add    $0xffffff60,%esp
55cbb1:	33 c9                	xor    %ecx,%ecx
55cbb3:	89 04 24             	mov    %eax,(%esp)
55cbb6:	8b 04 24             	mov    (%esp),%eax
55cbb9:	8b 50 08             	mov    0x8(%eax),%edx
55cbbc:	33 c0                	xor    %eax,%eax
55cbbe:	89 54 24 44          	mov    %edx,0x44(%esp)
55cbc2:	89 4c 24 34          	mov    %ecx,0x34(%esp)
55cbc6:	89 44 24 04          	mov    %eax,0x4(%esp)
55cbca:	e9 54 0c 00 00       	jmp    0x55d823
55cbcf:	8b 54 24 44          	mov    0x44(%esp),%edx
55cbd3:	8b 44 24 04          	mov    0x4(%esp),%eax
55cbd7:	8b 4a 24             	mov    0x24(%edx),%ecx
55cbda:	33 d2                	xor    %edx,%edx
55cbdc:	f7 f1                	div    %ecx
55cbde:	89 54 24 08          	mov    %edx,0x8(%esp)
55cbe2:	8b 44 24 44          	mov    0x44(%esp),%eax
55cbe6:	ff 70 24             	push   0x24(%eax)
55cbe9:	8b 44 24 08          	mov    0x8(%esp),%eax
55cbed:	5a                   	pop    %edx
55cbee:	8b ca                	mov    %edx,%ecx
55cbf0:	33 d2                	xor    %edx,%edx
55cbf2:	f7 f1                	div    %ecx
55cbf4:	89 44 24 0c          	mov    %eax,0xc(%esp)
55cbf8:	8b 04 24             	mov    (%esp),%eax
55cbfb:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55cbff:	8b 10                	mov    (%eax),%edx
55cc01:	8b 04 24             	mov    (%esp),%eax
55cc04:	8b 40 08             	mov    0x8(%eax),%eax
55cc07:	e8 a4 1a 00 00       	call   0x55e6b0
55cc0c:	8b 14 24             	mov    (%esp),%edx
55cc0f:	85 c0                	test   %eax,%eax
55cc11:	89 42 0c             	mov    %eax,0xc(%edx)
55cc14:	75 05                	jne    0x55cc1b
55cc16:	e8 2d df ff ff       	call   0x55ab48
55cc1b:	8b 14 24             	mov    (%esp),%edx
55cc1e:	8b 4a 0c             	mov    0xc(%edx),%ecx
55cc21:	89 4c 24 40          	mov    %ecx,0x40(%esp)
55cc25:	e8 22 d3 01 00       	call   0x579f4c
55cc2a:	83 f8 0a             	cmp    $0xa,%eax
55cc2d:	7c 08                	jl     0x55cc37
55cc2f:	8b 04 24             	mov    (%esp),%eax
55cc32:	e8 69 2d 00 00       	call   0x55f9a0
55cc37:	8b 54 24 40          	mov    0x40(%esp),%edx
55cc3b:	8b 44 24 40          	mov    0x40(%esp),%eax
55cc3f:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55cc42:	8b 50 28             	mov    0x28(%eax),%edx
55cc45:	8b c2                	mov    %edx,%eax
55cc47:	c1 e2 07             	shl    $0x7,%edx
55cc4a:	03 d0                	add    %eax,%edx
55cc4c:	c1 e2 02             	shl    $0x2,%edx
55cc4f:	03 ca                	add    %edx,%ecx
55cc51:	89 4c 24 18          	mov    %ecx,0x18(%esp)
55cc55:	66 c7 44 24 50 00 00 	movw   $0x0,0x50(%esp)
55cc5c:	8b 54 24 40          	mov    0x40(%esp),%edx
55cc60:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55cc63:	89 4c 24 14          	mov    %ecx,0x14(%esp)
55cc67:	eb 7d                	jmp    0x55cce6
55cc69:	0f b7 44 24 50       	movzwl 0x50(%esp),%eax
55cc6e:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55cc72:	8d 14 40             	lea    (%eax,%eax,2),%edx
55cc75:	8b 41 34             	mov    0x34(%ecx),%eax
55cc78:	8d 14 d2             	lea    (%edx,%edx,8),%edx
55cc7b:	8b 54 d0 08          	mov    0x8(%eax,%edx,8),%edx
55cc7f:	85 d2                	test   %edx,%edx
55cc81:	75 56                	jne    0x55ccd9
55cc83:	0f b7 4c 24 50       	movzwl 0x50(%esp),%ecx
55cc88:	8b 54 24 44          	mov    0x44(%esp),%edx
55cc8c:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
55cc8f:	8b 4a 34             	mov    0x34(%edx),%ecx
55cc92:	8d 04 c0             	lea    (%eax,%eax,8),%eax
55cc95:	0f b6 4c c1 04       	movzbl 0x4(%ecx,%eax,8),%ecx
55cc9a:	49                   	dec    %ecx
55cc9b:	b8 01 00 00 00       	mov    $0x1,%eax
55cca0:	d3 e0                	shl    %cl,%eax
55cca2:	89 44 24 2c          	mov    %eax,0x2c(%esp)
55cca6:	33 db                	xor    %ebx,%ebx
55cca8:	eb 21                	jmp    0x55cccb
55ccaa:	33 c0                	xor    %eax,%eax
55ccac:	eb 0e                	jmp    0x55ccbc
55ccae:	8b 52 1c             	mov    0x1c(%edx),%edx
55ccb1:	8b 0c 9a             	mov    (%edx,%ebx,4),%ecx
55ccb4:	8b 54 24 2c          	mov    0x2c(%esp),%edx
55ccb8:	29 14 81             	sub    %edx,(%ecx,%eax,4)
55ccbb:	40                   	inc    %eax
55ccbc:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55ccc0:	8b 51 08             	mov    0x8(%ecx),%edx
55ccc3:	8b 4a 18             	mov    0x18(%edx),%ecx
55ccc6:	3b c1                	cmp    %ecx,%eax
55ccc8:	7c e4                	jl     0x55ccae
55ccca:	43                   	inc    %ebx
55cccb:	8b 44 24 14          	mov    0x14(%esp),%eax
55cccf:	8b 40 08             	mov    0x8(%eax),%eax
55ccd2:	8b 50 14             	mov    0x14(%eax),%edx
55ccd5:	3b da                	cmp    %edx,%ebx
55ccd7:	7c d1                	jl     0x55ccaa
55ccd9:	66 ff 44 24 50       	incw   0x50(%esp)
55ccde:	81 44 24 14 04 02 00 	addl   $0x204,0x14(%esp)
55cce5:	00
55cce6:	0f b7 4c 24 50       	movzwl 0x50(%esp),%ecx
55cceb:	8b 44 24 40          	mov    0x40(%esp),%eax
55ccef:	8b 50 28             	mov    0x28(%eax),%edx
55ccf2:	3b ca                	cmp    %edx,%ecx
55ccf4:	0f 8c 6f ff ff ff    	jl     0x55cc69
55ccfa:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55ccfe:	8b 41 20             	mov    0x20(%ecx),%eax
55cd01:	85 c0                	test   %eax,%eax
55cd03:	75 5a                	jne    0x55cd5f
55cd05:	8b 54 24 40          	mov    0x40(%esp),%edx
55cd09:	8b 44 24 40          	mov    0x40(%esp),%eax
55cd0d:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55cd10:	8b 50 28             	mov    0x28(%eax),%edx
55cd13:	8b c2                	mov    %edx,%eax
55cd15:	c1 e2 07             	shl    $0x7,%edx
55cd18:	03 d0                	add    %eax,%edx
55cd1a:	c1 e2 02             	shl    $0x2,%edx
55cd1d:	03 ca                	add    %edx,%ecx
55cd1f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
55cd23:	8b 54 24 40          	mov    0x40(%esp),%edx
55cd27:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55cd2a:	89 4c 24 14          	mov    %ecx,0x14(%esp)
55cd2e:	8b 44 24 14          	mov    0x14(%esp),%eax
55cd32:	8b 54 24 18          	mov    0x18(%esp),%edx
55cd36:	3b c2                	cmp    %edx,%eax
55cd38:	74 25                	je     0x55cd5f
55cd3a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55cd3e:	ba 0d 00 00 00       	mov    $0xd,%edx
55cd43:	8b 41 08             	mov    0x8(%ecx),%eax
55cd46:	e8 31 b4 01 00       	call   0x57817c
55cd4b:	81 44 24 14 04 02 00 	addl   $0x204,0x14(%esp)
55cd52:	00
55cd53:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55cd57:	8b 44 24 18          	mov    0x18(%esp),%eax
55cd5b:	3b c8                	cmp    %eax,%ecx
55cd5d:	75 db                	jne    0x55cd3a
55cd5f:	8b 54 24 40          	mov    0x40(%esp),%edx
55cd63:	8a 4a 18             	mov    0x18(%edx),%cl
55cd66:	fe c9                	dec    %cl
55cd68:	74 56                	je     0x55cdc0
55cd6a:	fe c9                	dec    %cl
55cd6c:	0f 85 9a 00 00 00    	jne    0x55ce0c
55cd72:	8b 04 24             	mov    (%esp),%eax
55cd75:	8b 10                	mov    (%eax),%edx
55cd77:	66 83 7a 10 03       	cmpw   $0x3,0x10(%edx)
55cd7c:	74 17                	je     0x55cd95
55cd7e:	68 c5 04 00 00       	push   $0x4c5
55cd83:	68 d0 dd 69 00       	push   $0x69ddd0
55cd88:	68 ac dd 69 00       	push   $0x69ddac
55cd8d:	e8 ae dd ff ff       	call   0x55ab40
55cd92:	83 c4 0c             	add    $0xc,%esp
55cd95:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55cd99:	8b 54 24 40          	mov    0x40(%esp),%edx
55cd9d:	8b 41 2c             	mov    0x2c(%ecx),%eax
55cda0:	8b 88 10 04 00 00    	mov    0x410(%eax),%ecx
55cda6:	8b 42 2c             	mov    0x2c(%edx),%eax
55cda9:	8b 90 0c 02 00 00    	mov    0x20c(%eax),%edx
55cdaf:	8b 44 24 40          	mov    0x40(%esp),%eax
55cdb3:	8b 40 2c             	mov    0x2c(%eax),%eax
55cdb6:	8b 40 08             	mov    0x8(%eax),%eax
55cdb9:	e8 d6 32 01 00       	call   0x570094
55cdbe:	eb 4c                	jmp    0x55ce0c
55cdc0:	8b 14 24             	mov    (%esp),%edx
55cdc3:	8b 0a                	mov    (%edx),%ecx
55cdc5:	66 83 79 10 03       	cmpw   $0x3,0x10(%ecx)
55cdca:	74 17                	je     0x55cde3
55cdcc:	68 ca 04 00 00       	push   $0x4ca
55cdd1:	68 fe dd 69 00       	push   $0x69ddfe
55cdd6:	68 da dd 69 00       	push   $0x69ddda
55cddb:	e8 60 dd ff ff       	call   0x55ab40
55cde0:	83 c4 0c             	add    $0xc,%esp
55cde3:	8b 44 24 40          	mov    0x40(%esp),%eax
55cde7:	8b 50 2c             	mov    0x2c(%eax),%edx
55cdea:	8b 44 24 40          	mov    0x40(%esp),%eax
55cdee:	8b 8a 10 04 00 00    	mov    0x410(%edx),%ecx
55cdf4:	8b 50 2c             	mov    0x2c(%eax),%edx
55cdf7:	8b 44 24 40          	mov    0x40(%esp),%eax
55cdfb:	8b 92 0c 02 00 00    	mov    0x20c(%edx),%edx
55ce01:	8b 40 2c             	mov    0x2c(%eax),%eax
55ce04:	8b 40 08             	mov    0x8(%eax),%eax
55ce07:	e8 c8 34 01 00       	call   0x5702d4
55ce0c:	33 db                	xor    %ebx,%ebx
55ce0e:	eb 3e                	jmp    0x55ce4e
55ce10:	8b cb                	mov    %ebx,%ecx
55ce12:	8b 44 24 40          	mov    0x40(%esp),%eax
55ce16:	c1 e1 07             	shl    $0x7,%ecx
55ce19:	03 cb                	add    %ebx,%ecx
55ce1b:	8b 50 2c             	mov    0x2c(%eax),%edx
55ce1e:	c1 e1 02             	shl    $0x2,%ecx
55ce21:	03 d1                	add    %ecx,%edx
55ce23:	89 54 24 14          	mov    %edx,0x14(%esp)
55ce27:	8b 44 24 14          	mov    0x14(%esp),%eax
55ce2b:	8b 54 24 14          	mov    0x14(%esp),%edx
55ce2f:	8b 48 08             	mov    0x8(%eax),%ecx
55ce32:	8b 42 0c             	mov    0xc(%edx),%eax
55ce35:	48                   	dec    %eax
55ce36:	75 07                	jne    0x55ce3f
55ce38:	ba 01 00 00 00       	mov    $0x1,%edx
55ce3d:	eb 02                	jmp    0x55ce41
55ce3f:	33 d2                	xor    %edx,%edx
55ce41:	8b 44 24 14          	mov    0x14(%esp),%eax
55ce45:	8b 40 14             	mov    0x14(%eax),%eax
55ce48:	e8 b7 0b 01 00       	call   0x56da04
55ce4d:	43                   	inc    %ebx
55ce4e:	8b 14 24             	mov    (%esp),%edx
55ce51:	8b 0a                	mov    (%edx),%ecx
55ce53:	0f b7 41 10          	movzwl 0x10(%ecx),%eax
55ce57:	3b d8                	cmp    %eax,%ebx
55ce59:	7c b5                	jl     0x55ce10
55ce5b:	8b 54 24 40          	mov    0x40(%esp),%edx
55ce5f:	8b 44 24 40          	mov    0x40(%esp),%eax
55ce63:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55ce66:	8b 50 28             	mov    0x28(%eax),%edx
55ce69:	8b c2                	mov    %edx,%eax
55ce6b:	c1 e2 07             	shl    $0x7,%edx
55ce6e:	03 d0                	add    %eax,%edx
55ce70:	c1 e2 02             	shl    $0x2,%edx
55ce73:	03 ca                	add    %edx,%ecx
55ce75:	89 4c 24 18          	mov    %ecx,0x18(%esp)
55ce79:	66 c7 44 24 50 00 00 	movw   $0x0,0x50(%esp)
55ce80:	8b 54 24 40          	mov    0x40(%esp),%edx
55ce84:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55ce87:	89 4c 24 14          	mov    %ecx,0x14(%esp)
55ce8b:	8b 44 24 14          	mov    0x14(%esp),%eax
55ce8f:	8b 54 24 18          	mov    0x18(%esp),%edx
55ce93:	3b c2                	cmp    %edx,%eax
55ce95:	0f 84 60 02 00 00    	je     0x55d0fb
55ce9b:	33 c9                	xor    %ecx,%ecx
55ce9d:	33 c0                	xor    %eax,%eax
55ce9f:	89 4c 24 68          	mov    %ecx,0x68(%esp)
55cea3:	89 44 24 30          	mov    %eax,0x30(%esp)
55cea7:	68 c8 00 00 00       	push   $0xc8
55ceac:	6a 00                	push   $0x0
55ceae:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55ceb2:	81 c2 36 01 00 00    	add    $0x136,%edx
55ceb8:	52                   	push   %edx
55ceb9:	e8 ea db ff ff       	call   0x55aaa8
55cebe:	83 c4 0c             	add    $0xc,%esp
55cec1:	33 c9                	xor    %ecx,%ecx
55cec3:	89 4c 24 24          	mov    %ecx,0x24(%esp)
55cec7:	8b 44 24 14          	mov    0x14(%esp),%eax
55cecb:	8b 50 04             	mov    0x4(%eax),%edx
55cece:	89 54 24 20          	mov    %edx,0x20(%esp)
55ced2:	e9 c5 01 00 00       	jmp    0x55d09c
55ced7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
55cedb:	8b 41 34             	mov    0x34(%ecx),%eax
55cede:	85 c0                	test   %eax,%eax
55cee0:	75 1d                	jne    0x55ceff
55cee2:	8b 54 24 24          	mov    0x24(%esp),%edx
55cee6:	85 d2                	test   %edx,%edx
55cee8:	74 07                	je     0x55cef1
55ceea:	b9 03 00 00 00       	mov    $0x3,%ecx
55ceef:	eb 05                	jmp    0x55cef6
55cef1:	b9 01 00 00 00       	mov    $0x1,%ecx
55cef6:	01 4c 24 30          	add    %ecx,0x30(%esp)
55cefa:	e9 94 01 00 00       	jmp    0x55d093
55ceff:	8b 4c 24 20          	mov    0x20(%esp),%ecx
55cf03:	8b 44 24 20          	mov    0x20(%esp),%eax
55cf07:	8b 49 30             	mov    0x30(%ecx),%ecx
55cf0a:	8b 40 34             	mov    0x34(%eax),%eax
55cf0d:	c1 e1 02             	shl    $0x2,%ecx
55cf10:	8b d0                	mov    %eax,%edx
55cf12:	8b d8                	mov    %eax,%ebx
55cf14:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55cf17:	03 d1                	add    %ecx,%edx
55cf19:	89 54 24 1c          	mov    %edx,0x1c(%esp)
55cf1d:	8b 54 24 30          	mov    0x30(%esp),%edx
55cf21:	8b 44 24 14          	mov    0x14(%esp),%eax
55cf25:	8d 8c 50 36 01 00 00 	lea    0x136(%eax,%edx,2),%ecx
55cf2c:	89 4c 24 6c          	mov    %ecx,0x6c(%esp)
55cf30:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55cf34:	3b d8                	cmp    %eax,%ebx
55cf36:	0f 84 57 01 00 00    	je     0x55d093
55cf3c:	8b 53 04             	mov    0x4(%ebx),%edx
55cf3f:	85 d2                	test   %edx,%edx
55cf41:	75 0e                	jne    0x55cf51
55cf43:	ff 44 24 30          	incl   0x30(%esp)
55cf47:	83 44 24 6c 02       	addl   $0x2,0x6c(%esp)
55cf4c:	e9 33 01 00 00       	jmp    0x55d084
55cf51:	33 f6                	xor    %esi,%esi
55cf53:	33 c0                	xor    %eax,%eax
55cf55:	89 44 24 64          	mov    %eax,0x64(%esp)
55cf59:	eb 2b                	jmp    0x55cf86
55cf5b:	33 c9                	xor    %ecx,%ecx
55cf5d:	eb 19                	jmp    0x55cf78
55cf5f:	8b 57 1c             	mov    0x1c(%edi),%edx
55cf62:	8b 44 24 64          	mov    0x64(%esp),%eax
55cf66:	8b 14 82             	mov    (%edx,%eax,4),%edx
55cf69:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
55cf6c:	99                   	cltd
55cf6d:	33 c2                	xor    %edx,%eax
55cf6f:	2b c2                	sub    %edx,%eax
55cf71:	3b f0                	cmp    %eax,%esi
55cf73:	7d 02                	jge    0x55cf77
55cf75:	8b f0                	mov    %eax,%esi
55cf77:	41                   	inc    %ecx
55cf78:	8b 7b 04             	mov    0x4(%ebx),%edi
55cf7b:	8b 47 18             	mov    0x18(%edi),%eax
55cf7e:	3b c8                	cmp    %eax,%ecx
55cf80:	72 dd                	jb     0x55cf5f
55cf82:	ff 44 24 64          	incl   0x64(%esp)
55cf86:	8b 53 04             	mov    0x4(%ebx),%edx
55cf89:	8b 4a 14             	mov    0x14(%edx),%ecx
55cf8c:	8b 44 24 64          	mov    0x64(%esp),%eax
55cf90:	3b c8                	cmp    %eax,%ecx