55c8f6:	46                   	inc    %esi
55c8f7:	83 44 24 0c 28       	addl   $0x28,0xc(%esp)
55c8fc:	66 3b 74 24 10       	cmp    0x10(%esp),%si
55c901:	0f 82 32 ff ff ff    	jb     0x55c839
55c907:	0f b7 c7             	movzwl %di,%eax
55c90a:	66 8b 4c 24 10       	mov    0x10(%esp),%cx
55c90f:	8b 53 34             	mov    0x34(%ebx),%edx
55c912:	8d 04 40             	lea    (%eax,%eax,2),%eax
55c915:	47                   	inc    %edi
55c916:	8d 04 c0             	lea    (%eax,%eax,8),%eax
55c919:	66 89 4c c2 0c       	mov    %cx,0xc(%edx,%eax,8)
55c91e:	66 3b 7b 30          	cmp    0x30(%ebx),%di
55c922:	0f 82 95 fe ff ff    	jb     0x55c7bd
55c928:	b8 52 ff 00 00       	mov    $0xff52,%eax
55c92d:	e8 ae 96 01 00       	call   0x575fe0
55c932:	89 45 1c             	mov    %eax,0x1c(%ebp)
55c935:	85 c0                	test   %eax,%eax
55c937:	75 08                	jne    0x55c941
55c939:	83 c8 ff             	or     $0xffffffff,%eax
55c93c:	e9 5a 02 00 00       	jmp    0x55cb9b
55c941:	8b 45 1c             	mov    0x1c(%ebp),%eax
55c944:	8a 4b 3c             	mov    0x3c(%ebx),%cl
55c947:	83 c0 08             	add    $0x8,%eax
55c94a:	8a 53 48             	mov    0x48(%ebx),%dl
55c94d:	0a d1                	or     %cl,%dl
55c94f:	88 10                	mov    %dl,(%eax)
55c951:	8a 4b 3c             	mov    0x3c(%ebx),%cl
55c954:	8a 53 48             	mov    0x48(%ebx),%dl
55c957:	0a d1                	or     %cl,%dl
55c959:	33 c9                	xor    %ecx,%ecx
55c95b:	88 50 08             	mov    %dl,0x8(%eax)
55c95e:	8a 53 49             	mov    0x49(%ebx),%dl
55c961:	80 c2 ff             	add    $0xff,%dl
55c964:	88 50 09             	mov    %dl,0x9(%eax)
55c967:	8a 4b 49             	mov    0x49(%ebx),%cl
55c96a:	89 48 10             	mov    %ecx,0x10(%eax)
55c96d:	8a 53 3d             	mov    0x3d(%ebx),%dl
55c970:	88 50 01             	mov    %dl,0x1(%eax)
55c973:	66 8b 4b 40          	mov    0x40(%ebx),%cx
55c977:	66 89 48 02          	mov    %cx,0x2(%eax)
55c97b:	8a 53 4a             	mov    0x4a(%ebx),%dl
55c97e:	80 c2 fe             	add    $0xfe,%dl
55c981:	88 50 0a             	mov    %dl,0xa(%eax)
55c984:	8a 4b 4c             	mov    0x4c(%ebx),%cl
55c987:	80 c1 fe             	add    $0xfe,%cl
55c98a:	88 48 0b             	mov    %cl,0xb(%eax)
55c98d:	8a 53 4e             	mov    0x4e(%ebx),%dl
55c990:	88 50 0c             	mov    %dl,0xc(%eax)
55c993:	8a 4b 4f             	mov    0x4f(%ebx),%cl
55c996:	88 48 0d             	mov    %cl,0xd(%eax)
55c999:	8a 53 3e             	mov    0x3e(%ebx),%dl
55c99c:	84 d2                	test   %dl,%dl
55c99e:	0f 95 c1             	setne  %cl
55c9a1:	83 e1 01             	and    $0x1,%ecx
55c9a4:	88 48 04             	mov    %cl,0x4(%eax)
55c9a7:	8b 54 24 04          	mov    0x4(%esp),%edx
55c9ab:	f6 02 01             	testb  $0x1,(%edx)
55c9ae:	74 39                	je     0x55c9e9
55c9b0:	66 c7 44 24 12 00 00 	movw   $0x0,0x12(%esp)
55c9b7:	8d 50 14             	lea    0x14(%eax),%edx
55c9ba:	8b 44 24 04          	mov    0x4(%esp),%eax
55c9be:	83 c0 08             	add    $0x8,%eax
55c9c1:	eb 15                	jmp    0x55c9d8
55c9c3:	8a 08                	mov    (%eax),%cl
55c9c5:	88 0a                	mov    %cl,(%edx)
55c9c7:	8a 48 42             	mov    0x42(%eax),%cl
55c9ca:	88 4a 01             	mov    %cl,0x1(%edx)
55c9cd:	83 c2 02             	add    $0x2,%edx
55c9d0:	66 ff 44 24 12       	incw   0x12(%esp)
55c9d5:	83 c0 02             	add    $0x2,%eax
55c9d8:	8b 74 24 04          	mov    0x4(%esp),%esi
55c9dc:	0f b7 4c 24 12       	movzwl 0x12(%esp),%ecx
55c9e1:	0f b6 76 01          	movzbl 0x1(%esi),%esi
55c9e5:	3b ce                	cmp    %esi,%ecx
55c9e7:	7c da                	jl     0x55c9c3
55c9e9:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
55c9ec:	8b 55 10             	mov    0x10(%ebp),%edx
55c9ef:	8b 45 04             	mov    0x4(%ebp),%eax
55c9f2:	e8 f1 94 01 00       	call   0x575ee8
55c9f7:	85 c0                	test   %eax,%eax
55c9f9:	74 1a                	je     0x55ca15
55c9fb:	68 93 dd 69 00       	push   $0x69dd93
55ca00:	68 80 2e 6a 00       	push   $0x6a2e80
55ca05:	e8 c2 d6 01 00       	call   0x57a0cc
55ca0a:	83 c4 08             	add    $0x8,%esp
55ca0d:	83 c8 ff             	or     $0xffffffff,%eax
55ca10:	e9 86 01 00 00       	jmp    0x55cb9b
55ca15:	8b 45 1c             	mov    0x1c(%ebp),%eax
55ca18:	e8 0b 96 01 00       	call   0x576028
55ca1d:	33 d2                	xor    %edx,%edx
55ca1f:	b8 5c ff 00 00       	mov    $0xff5c,%eax
55ca24:	89 55 1c             	mov    %edx,0x1c(%ebp)
55ca27:	e8 b4 95 01 00       	call   0x575fe0
55ca2c:	89 45 1c             	mov    %eax,0x1c(%ebp)
55ca2f:	85 c0                	test   %eax,%eax
55ca31:	75 08                	jne    0x55ca3b
55ca33:	83 c8 ff             	or     $0xffffffff,%eax
55ca36:	e9 60 01 00 00       	jmp    0x55cb9b
55ca3b:	8b 44 24 04          	mov    0x4(%esp),%eax
55ca3f:	8b 75 1c             	mov    0x1c(%ebp),%esi
55ca42:	83 c6 08             	add    $0x8,%esi
55ca45:	8a 50 07             	mov    0x7(%eax),%dl
55ca48:	84 d2                	test   %dl,%dl
55ca4a:	75 04                	jne    0x55ca50
55ca4c:	b1 02                	mov    $0x2,%cl
55ca4e:	eb 02                	jmp    0x55ca52
55ca50:	33 c9                	xor    %ecx,%ecx
55ca52:	88 0e                	mov    %cl,(%esi)
55ca54:	8b 43 34             	mov    0x34(%ebx),%eax
55ca57:	0f b7 50 0c          	movzwl 0xc(%eax),%edx
55ca5b:	89 56 04             	mov    %edx,0x4(%esi)
55ca5e:	8a 83 d4 00 00 00    	mov    0xd4(%ebx),%al
55ca64:	88 46 0c             	mov    %al,0xc(%esi)
55ca67:	8b 53 34             	mov    0x34(%ebx),%edx
55ca6a:	83 c2 0e             	add    $0xe,%edx
55ca6d:	89 56 08             	mov    %edx,0x8(%esi)
55ca70:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
55ca73:	8b 55 10             	mov    0x10(%ebp),%edx
55ca76:	8b 45 04             	mov    0x4(%ebp),%eax
55ca79:	e8 6a 94 01 00       	call   0x575ee8
55ca7e:	85 c0                	test   %eax,%eax
55ca80:	74 08                	je     0x55ca8a
55ca82:	83 c8 ff             	or     $0xffffffff,%eax
55ca85:	e9 11 01 00 00       	jmp    0x55cb9b
55ca8a:	33 d2                	xor    %edx,%edx
55ca8c:	89 56 08             	mov    %edx,0x8(%esi)
55ca8f:	8b 45 1c             	mov    0x1c(%ebp),%eax
55ca92:	e8 91 95 01 00       	call   0x576028
55ca97:	66 bf 01 00          	mov    $0x1,%di
55ca9b:	33 d2                	xor    %edx,%edx
55ca9d:	89 55 1c             	mov    %edx,0x1c(%ebp)
55caa0:	8d 4b 48             	lea    0x48(%ebx),%ecx
55caa3:	89 4c 24 04          	mov    %ecx,0x4(%esp)
55caa7:	e9 90 00 00 00       	jmp    0x55cb3c
55caac:	b8 5d ff 00 00       	mov    $0xff5d,%eax
55cab1:	e8 2a 95 01 00       	call   0x575fe0
55cab6:	8b f0                	mov    %eax,%esi
55cab8:	89 75 1c             	mov    %esi,0x1c(%ebp)
55cabb:	85 f6                	test   %esi,%esi
55cabd:	75 08                	jne    0x55cac7
55cabf:	83 c8 ff             	or     $0xffffffff,%eax
55cac2:	e9 d4 00 00 00       	jmp    0x55cb9b
55cac7:	83 c6 08             	add    $0x8,%esi
55caca:	66 89 3e             	mov    %di,(%esi)
55cacd:	8b 54 24 04          	mov    0x4(%esp),%edx
55cad1:	8a 4a 07             	mov    0x7(%edx),%cl
55cad4:	84 c9                	test   %cl,%cl
55cad6:	75 04                	jne    0x55cadc
55cad8:	b0 02                	mov    $0x2,%al
55cada:	eb 02                	jmp    0x55cade
55cadc:	33 c0                	xor    %eax,%eax
55cade:	88 46 04             	mov    %al,0x4(%esi)
55cae1:	0f b7 c7             	movzwl %di,%eax
55cae4:	8b 4b 34             	mov    0x34(%ebx),%ecx
55cae7:	8d 14 40             	lea    (%eax,%eax,2),%edx
55caea:	c1 e0 03             	shl    $0x3,%eax
55caed:	8d 14 d2             	lea    (%edx,%edx,8),%edx
55caf0:	0f b7 54 d1 0c       	movzwl 0xc(%ecx,%edx,8),%edx
55caf5:	89 56 08             	mov    %edx,0x8(%esi)
55caf8:	8d 04 40             	lea    (%eax,%eax,2),%eax
55cafb:	8a 8b d4 00 00 00    	mov    0xd4(%ebx),%cl
55cb01:	88 4e 10             	mov    %cl,0x10(%esi)
55cb04:	8d 04 c0             	lea    (%eax,%eax,8),%eax
55cb07:	8b 53 34             	mov    0x34(%ebx),%edx
55cb0a:	03 c2                	add    %edx,%eax
55cb0c:	83 c0 0e             	add    $0xe,%eax
55cb0f:	89 46 0c             	mov    %eax,0xc(%esi)
55cb12:	8b 45 04             	mov    0x4(%ebp),%eax
55cb15:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
55cb18:	8b 55 10             	mov    0x10(%ebp),%edx
55cb1b:	e8 c8 93 01 00       	call   0x575ee8
55cb20:	85 c0                	test   %eax,%eax
55cb22:	74 05                	je     0x55cb29
55cb24:	83 c8 ff             	or     $0xffffffff,%eax
55cb27:	eb 72                	jmp    0x55cb9b
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