55e9d9:	53                   	push   %ebx
55e9da:	56                   	push   %esi
55e9db:	57                   	push   %edi
55e9dc:	8b d8                	mov    %eax,%ebx
55e9de:	89 4d f8             	mov    %ecx,-0x8(%ebp)
55e9e1:	89 55 fc             	mov    %edx,-0x4(%ebp)
55e9e4:	8b 7d 08             	mov    0x8(%ebp),%edi
55e9e7:	33 c0                	xor    %eax,%eax
55e9e9:	89 bb 00 02 00 00    	mov    %edi,0x200(%ebx)
55e9ef:	89 43 14             	mov    %eax,0x14(%ebx)
55e9f2:	33 d2                	xor    %edx,%edx
55e9f4:	33 c9                	xor    %ecx,%ecx
55e9f6:	89 53 08             	mov    %edx,0x8(%ebx)
55e9f9:	89 4b 04             	mov    %ecx,0x4(%ebx)
55e9fc:	8b 57 2c             	mov    0x2c(%edi),%edx
55e9ff:	8b c3                	mov    %ebx,%eax
55ea01:	2b c2                	sub    %edx,%eax
55ea03:	b9 04 02 00 00       	mov    $0x204,%ecx
55ea08:	99                   	cltd
55ea09:	f7 f9                	idiv   %ecx
55ea0b:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
55ea0f:	8b 45 fc             	mov    -0x4(%ebp),%eax
55ea12:	8b 70 34             	mov    0x34(%eax),%esi
55ea15:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
55ea19:	8b d0                	mov    %eax,%edx
55ea1b:	c1 e2 03             	shl    $0x3,%edx
55ea1e:	8d 14 52             	lea    (%edx,%edx,2),%edx
55ea21:	8d 14 d2             	lea    (%edx,%edx,8),%edx
55ea24:	03 f2                	add    %edx,%esi
55ea26:	8a 0e                	mov    (%esi),%cl
55ea28:	84 c9                	test   %cl,%cl
55ea2a:	77 17                	ja     0x55ea43
55ea2c:	68 42 08 00 00       	push   $0x842
55ea31:	68 85 e0 69 00       	push   $0x69e085
55ea36:	68 5d e0 69 00       	push   $0x69e05d
55ea3b:	e8 00 c1 ff ff       	call   0x55ab40
55ea40:	83 c4 0c             	add    $0xc,%esp
55ea43:	33 d2                	xor    %edx,%edx
55ea45:	8b 47 04             	mov    0x4(%edi),%eax
55ea48:	8a 16                	mov    (%esi),%dl
55ea4a:	33 c9                	xor    %ecx,%ecx
55ea4c:	03 c2                	add    %edx,%eax
55ea4e:	8a 0e                	mov    (%esi),%cl
55ea50:	48                   	dec    %eax
55ea51:	33 d2                	xor    %edx,%edx
55ea53:	f7 f1                	div    %ecx
55ea55:	89 45 f0             	mov    %eax,-0x10(%ebp)
55ea58:	8a 46 01             	mov    0x1(%esi),%al
55ea5b:	84 c0                	test   %al,%al
55ea5d:	77 17                	ja     0x55ea76
55ea5f:	68 43 08 00 00       	push   $0x843
55ea64:	68 b7 e0 69 00       	push   $0x69e0b7
55ea69:	68 8f e0 69 00       	push   $0x69e08f
55ea6e:	e8 cd c0 ff ff       	call   0x55ab40
55ea73:	83 c4 0c             	add    $0xc,%esp
55ea76:	33 d2                	xor    %edx,%edx
55ea78:	8b 47 08             	mov    0x8(%edi),%eax
55ea7b:	8a 56 01             	mov    0x1(%esi),%dl
55ea7e:	33 c9                	xor    %ecx,%ecx
55ea80:	03 c2                	add    %edx,%eax
55ea82:	8a 4e 01             	mov    0x1(%esi),%cl
55ea85:	48                   	dec    %eax
55ea86:	33 d2                	xor    %edx,%edx
55ea88:	f7 f1                	div    %ecx
55ea8a:	89 45 ec             	mov    %eax,-0x14(%ebp)
55ea8d:	8a 06                	mov    (%esi),%al
55ea8f:	84 c0                	test   %al,%al
55ea91:	77 17                	ja     0x55eaaa
55ea93:	68 44 08 00 00       	push   $0x844
55ea98:	68 e9 e0 69 00       	push   $0x69e0e9
55ea9d:	68 c1 e0 69 00       	push   $0x69e0c1
55eaa2:	e8 99 c0 ff ff       	call   0x55ab40
55eaa7:	83 c4 0c             	add    $0xc,%esp
55eaaa:	33 d2                	xor    %edx,%edx
55eaac:	8b 47 0c             	mov    0xc(%edi),%eax
55eaaf:	8a 16                	mov    (%esi),%dl
55eab1:	33 c9                	xor    %ecx,%ecx
55eab3:	03 c2                	add    %edx,%eax
55eab5:	8a 0e                	mov    (%esi),%cl
55eab7:	48                   	dec    %eax
55eab8:	33 d2                	xor    %edx,%edx
55eaba:	f7 f1                	div    %ecx
55eabc:	89 45 e8             	mov    %eax,-0x18(%ebp)
55eabf:	8a 46 01             	mov    0x1(%esi),%al
55eac2:	84 c0                	test   %al,%al
55eac4:	77 17                	ja     0x55eadd
55eac6:	68 45 08 00 00       	push   $0x845
55eacb:	68 1b e1 69 00       	push   $0x69e11b
55ead0:	68 f3 e0 69 00       	push   $0x69e0f3
55ead5:	e8 66 c0 ff ff       	call   0x55ab40
55eada:	83 c4 0c             	add    $0xc,%esp
55eadd:	33 d2                	xor    %edx,%edx
55eadf:	8b 47 10             	mov    0x10(%edi),%eax
55eae2:	8a 56 01             	mov    0x1(%esi),%dl
55eae5:	33 c9                	xor    %ecx,%ecx
55eae7:	03 c2                	add    %edx,%eax
55eae9:	8a 4e 01             	mov    0x1(%esi),%cl
55eaec:	48                   	dec    %eax
55eaed:	33 d2                	xor    %edx,%edx
55eaef:	f7 f1                	div    %ecx
55eaf1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
55eaf4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55eaf7:	50                   	push   %eax
55eaf8:	8b 45 f0             	mov    -0x10(%ebp),%eax
55eafb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
55eafe:	8b 55 ec             	mov    -0x14(%ebp),%edx
55eb01:	e8 52 91 01 00       	call   0x577c58
55eb06:	89 43 08             	mov    %eax,0x8(%ebx)
55eb09:	85 c0                	test   %eax,%eax
55eb0b:	0f 84 ec 01 00 00    	je     0x55ecfd
55eb11:	8a 16                	mov    (%esi),%dl
55eb13:	84 d2                	test   %dl,%dl
55eb15:	77 17                	ja     0x55eb2e
55eb17:	68 4d 08 00 00       	push   $0x84d
55eb1c:	68 52 e1 69 00       	push   $0x69e152
55eb21:	68 25 e1 69 00       	push   $0x69e125
55eb26:	e8 15 c0 ff ff       	call   0x55ab40
55eb2b:	83 c4 0c             	add    $0xc,%esp
55eb2e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55eb31:	8b 41 04             	mov    0x4(%ecx),%eax
55eb34:	0f b6 3e             	movzbl (%esi),%edi
55eb37:	03 c7                	add    %edi,%eax
55eb39:	48                   	dec    %eax
55eb3a:	33 d2                	xor    %edx,%edx
55eb3c:	f7 f7                	div    %edi
55eb3e:	8b f8                	mov    %eax,%edi
55eb40:	8a 46 01             	mov    0x1(%esi),%al
55eb43:	84 c0                	test   %al,%al
55eb45:	77 17                	ja     0x55eb5e
55eb47:	68 4e 08 00 00       	push   $0x84e
55eb4c:	68 89 e1 69 00       	push   $0x69e189
55eb51:	68 5c e1 69 00       	push   $0x69e15c
55eb56:	e8 e5 bf ff ff       	call   0x55ab40
55eb5b:	83 c4 0c             	add    $0xc,%esp
55eb5e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55eb61:	33 d2                	xor    %edx,%edx
55eb63:	8a 56 01             	mov    0x1(%esi),%dl
55eb66:	8b 41 08             	mov    0x8(%ecx),%eax
55eb69:	03 c2                	add    %edx,%eax
55eb6b:	33 c9                	xor    %ecx,%ecx
55eb6d:	8a 4e 01             	mov    0x1(%esi),%cl
55eb70:	48                   	dec    %eax
55eb71:	33 d2                	xor    %edx,%edx
55eb73:	f7 f1                	div    %ecx
55eb75:	8b 4d ec             	mov    -0x14(%ebp),%ecx
55eb78:	2b c8                	sub    %eax,%ecx
55eb7a:	51                   	push   %ecx
55eb7b:	8b 55 f0             	mov    -0x10(%ebp),%edx
55eb7e:	8b 45 e8             	mov    -0x18(%ebp),%eax
55eb81:	2b c2                	sub    %edx,%eax
55eb83:	50                   	push   %eax
55eb84:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55eb87:	8b 4d ec             	mov    -0x14(%ebp),%ecx
55eb8a:	2b c1                	sub    %ecx,%eax
55eb8c:	50                   	push   %eax
55eb8d:	8b 43 08             	mov    0x8(%ebx),%eax
55eb90:	50                   	push   %eax
55eb91:	66 8b 55 f6          	mov    -0xa(%ebp),%dx
55eb95:	8b 4d f0             	mov    -0x10(%ebp),%ecx
55eb98:	2b cf                	sub    %edi,%ecx
55eb9a:	8b 45 f8             	mov    -0x8(%ebp),%eax
55eb9d:	e8 26 64 01 00       	call   0x574fc8
55eba2:	85 c0                	test   %eax,%eax
55eba4:	0f 85 53 01 00 00    	jne    0x55ecfd
55ebaa:	33 d2                	xor    %edx,%edx
55ebac:	33 c0                	xor    %eax,%eax
55ebae:	89 53 18             	mov    %edx,0x18(%ebx)
55ebb1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55ebb4:	8a 41 4f             	mov    0x4f(%ecx),%al
55ebb7:	89 43 0c             	mov    %eax,0xc(%ebx)
55ebba:	33 c0                	xor    %eax,%eax
55ebbc:	8b 55 fc             	mov    -0x4(%ebp),%edx
55ebbf:	8a 42 49             	mov    0x49(%edx),%al
55ebc2:	0f b7 d0             	movzwl %ax,%edx
55ebc5:	66 89 03             	mov    %ax,(%ebx)
55ebc8:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
55ebcb:	83 c1 fe             	add    $0xfffffffe,%ecx
55ebce:	89 4b 10             	mov    %ecx,0x10(%ebx)
55ebd1:	0f b7 13             	movzwl (%ebx),%edx
55ebd4:	4a                   	dec    %edx
55ebd5:	8b 43 0c             	mov    0xc(%ebx),%eax
55ebd8:	e8 73 f7 00 00       	call   0x56e350
55ebdd:	89 43 14             	mov    %eax,0x14(%ebx)
55ebe0:	85 c0                	test   %eax,%eax
55ebe2:	0f 84 15 01 00 00    	je     0x55ecfd
55ebe8:	33 f6                	xor    %esi,%esi
55ebea:	8d 53 1c             	lea    0x1c(%ebx),%edx
55ebed:	8b 45 fc             	mov    -0x4(%ebp),%eax
55ebf0:	83 c0 50             	add    $0x50,%eax
55ebf3:	eb 16                	jmp    0x55ec0b
55ebf5:	0f b7 08             	movzwl (%eax),%ecx
55ebf8:	89 0a                	mov    %ecx,(%edx)
55ebfa:	46                   	inc    %esi
55ebfb:	0f b7 48 42          	movzwl 0x42(%eax),%ecx
55ebff:	89 8a 84 00 00 00    	mov    %ecx,0x84(%edx)
55ec05:	83 c2 04             	add    $0x4,%edx
55ec08:	83 c0 02             	add    $0x2,%eax
55ec0b:	66 3b 33             	cmp    (%ebx),%si
55ec0e:	72 e5                	jb     0x55ebf5
55ec10:	8b 45 fc             	mov    -0x4(%ebp),%eax
55ec13:	0f b7 50 4a          	movzwl 0x4a(%eax),%edx
55ec17:	89 93 24 01 00 00    	mov    %edx,0x124(%ebx)
55ec1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
55ec20:	0f b7 50 4c          	movzwl 0x4c(%eax),%edx
55ec24:	89 93 28 01 00 00    	mov    %edx,0x128(%ebx)
55ec2a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55ec2d:	33 c0                	xor    %eax,%eax
55ec2f:	8a 41 4e             	mov    0x4e(%ecx),%al
55ec32:	89 83 30 01 00 00    	mov    %eax,0x130(%ebx)
55ec38:	8b 55 fc             	mov    -0x4(%ebp),%edx
55ec3b:	33 c9                	xor    %ecx,%ecx
55ec3d:	8a 4a 48             	mov    0x48(%edx),%cl
55ec40:	89 8b 2c 01 00 00    	mov    %ecx,0x12c(%ebx)
55ec46:	66 8b 43 10          	mov    0x10(%ebx),%ax
55ec4a:	66 89 83 34 01 00 00 	mov    %ax,0x134(%ebx)
55ec51:	66 83 f8 64          	cmp    $0x64,%ax
55ec55:	76 17                	jbe    0x55ec6e
55ec57:	68 66 08 00 00       	push   $0x866
55ec5c:	68 b7 e1 69 00       	push   $0x69e1b7
55ec61:	68 93 e1 69 00       	push   $0x69e193
55ec66:	e8 d5 be ff ff       	call   0x55ab40
55ec6b:	83 c4 0c             	add    $0xc,%esp
55ec6e:	6a 04                	push   $0x4
55ec70:	6a 00                	push   $0x0
55ec72:	8d 93 36 01 00 00    	lea    0x136(%ebx),%edx
55ec78:	52                   	push   %edx
55ec79:	e8 2a be ff ff       	call   0x55aaa8
55ec7e:	8b 43 08             	mov    0x8(%ebx),%eax
55ec81:	83 c4 0c             	add    $0xc,%esp
55ec84:	8b 50 0c             	mov    0xc(%eax),%edx
55ec87:	52                   	push   %edx
55ec88:	8d 95 44 f0 ff ff    	lea    -0xfbc(%ebp),%edx
55ec8e:	8b 48 10             	mov    0x10(%eax),%ecx
55ec91:	51                   	push   %ecx
55ec92:	52                   	push   %edx
55ec93:	8b 50 04             	mov    0x4(%eax),%edx
55ec96:	8b 48 08             	mov    0x8(%eax),%ecx
55ec99:	8b 43 14             	mov    0x14(%ebx),%eax
55ec9c:	e8 f3 ef 00 00       	call   0x56dc94
55eca1:	0f b7 0b             	movzwl (%ebx),%ecx
55eca4:	8b c1                	mov    %ecx,%eax
55eca6:	c1 e0 02             	shl    $0x2,%eax
55eca9:	8d 04 40             	lea    (%eax,%eax,2),%eax
55ecac:	8d 04 80             	lea    (%eax,%eax,4),%eax
55ecaf:	e8 c8 96 01 00       	call   0x57837c
55ecb4:	8b f8                	mov    %eax,%edi
55ecb6:	89 7b 04             	mov    %edi,0x4(%ebx)
55ecb9:	85 ff                	test   %edi,%edi
55ecbb:	74 40                	je     0x55ecfd
55ecbd:	33 f6                	xor    %esi,%esi
55ecbf:	eb 0c                	jmp    0x55eccd
55ecc1:	33 c0                	xor    %eax,%eax
55ecc3:	46                   	inc    %esi
55ecc4:	89 47 34             	mov    %eax,0x34(%edi)
55ecc7:	89 5f 38             	mov    %ebx,0x38(%edi)
55ecca:	83 c7 3c             	add    $0x3c,%edi
55eccd:	66 3b 33             	cmp    (%ebx),%si
55ecd0:	72 ef                	jb     0x55ecc1
55ecd2:	33 f6                	xor    %esi,%esi
55ecd4:	8b 7b 04             	mov    0x4(%ebx),%edi
55ecd7:	eb 1b                	jmp    0x55ecf4
55ecd9:	8d 85 44 f0 ff ff    	lea    -0xfbc(%ebp),%eax
55ecdf:	8b cb                	mov    %ebx,%ecx
55ece1:	50                   	push   %eax
55ece2:	8b c7                	mov    %edi,%eax
55ece4:	8b 55 fc             	mov    -0x4(%ebp),%edx
55ece7:	e8 6c 00 00 00       	call   0x55ed58
55ecec:	85 c0                	test   %eax,%eax
55ecee:	74 0d                	je     0x55ecfd
55ecf0:	46                   	inc    %esi
55ecf1:	83 c7 3c             	add    $0x3c,%edi
55ecf4:	66 3b 33             	cmp    (%ebx),%si
55ecf7:	72 e0                	jb     0x55ecd9
55ecf9:	8b c3                	mov    %ebx,%eax
55ecfb:	eb 09                	jmp    0x55ed06
55ecfd:	8b c3                	mov    %ebx,%eax
55ecff:	e8 0c 00 00 00       	call   0x55ed10
55ed04:	33 c0                	xor    %eax,%eax
55ed06:	5f                   	pop    %edi
55ed07:	5e                   	pop    %esi
55ed08:	5b                   	pop    %ebx
55ed09:	8b e5                	mov    %ebp,%esp
55ed0b:	5d                   	pop    %ebp
55ed0c:	c2 04 00             	ret    $0x4
55ed0f:	90                   	nop
55ed10:	53                   	push   %ebx
55ed11:	8b d8                	mov    %eax,%ebx
55ed13:	56                   	push   %esi
55ed14:	57                   	push   %edi
55ed15:	8b 43 04             	mov    0x4(%ebx),%eax
55ed18:	85 c0                	test   %eax,%eax
55ed1a:	74 1e                	je     0x55ed3a
55ed1c:	33 ff                	xor    %edi,%edi
55ed1e:	8b f0                	mov    %eax,%esi
55ed20:	eb 0b                	jmp    0x55ed2d
55ed22:	8b c6                	mov    %esi,%eax
55ed24:	e8 f7 03 00 00       	call   0x55f120
55ed29:	47                   	inc    %edi
55ed2a:	83 c6 3c             	add    $0x3c,%esi
55ed2d:	66 3b 3b             	cmp    (%ebx),%di
55ed30:	72 f0                	jb     0x55ed22
55ed32:	8b 43 04             	mov    0x4(%ebx),%eax
55ed35:	e8 4a 96 01 00       	call   0x578384
55ed3a:	8b 43 08             	mov    0x8(%ebx),%eax
55ed3d:	85 c0                	test   %eax,%eax
55ed3f:	74 05                	je     0x55ed46
55ed41:	e8 4e 90 01 00       	call   0x577d94
55ed46:	8b 43 14             	mov    0x14(%ebx),%eax
55ed49:	85 c0                	test   %eax,%eax
55ed4b:	74 05                	je     0x55ed52
55ed4d:	e8 9a ec 00 00       	call   0x56d9ec
55ed52:	5f                   	pop    %edi
55ed53:	5e                   	pop    %esi
55ed54:	5b                   	pop    %ebx
55ed55:	c3                   	ret
55ed56:	90                   	nop
55ed57:	90                   	nop
55ed58:	55                   	push   %ebp
55ed59:	8b ec                	mov    %esp,%ebp
55ed5b:	83 c4 f4             	add    $0xfffffff4,%esp
55ed5e:	53                   	push   %ebx
55ed5f:	56                   	push   %esi
55ed60:	57                   	push   %edi
55ed61:	8b f1                	mov    %ecx,%esi
55ed63:	89 55 fc             	mov    %edx,-0x4(%ebp)
55ed66:	8b d8                	mov    %eax,%ebx
55ed68:	8b c3                	mov    %ebx,%eax
55ed6a:	8b 56 04             	mov    0x4(%esi),%edx
55ed6d:	2b c2                	sub    %edx,%eax
55ed6f:	b9 3c 00 00 00       	mov    $0x3c,%ecx
55ed74:	99                   	cltd
55ed75:	f7 f9                	idiv   %ecx
55ed77:	8b f8                	mov    %eax,%edi
55ed79:	33 c0                	xor    %eax,%eax
55ed7b:	89 43 34             	mov    %eax,0x34(%ebx)
55ed7e:	89 73 38             	mov    %esi,0x38(%ebx)
55ed81:	8b 56 08             	mov    0x8(%esi),%edx
55ed84:	8b 4a 04             	mov    0x4(%edx),%ecx
55ed87:	85 c9                	test   %ecx,%ecx
55ed89:	7c 0b                	jl     0x55ed96
55ed8b:	0f b7 06             	movzwl (%esi),%eax
55ed8e:	48                   	dec    %eax
55ed8f:	0f b7 d7             	movzwl %di,%edx
55ed92:	2b c2                	sub    %edx,%eax
55ed94:	79 17                	jns    0x55edad
55ed96:	68 b1 08 00 00       	push   $0x8b1
55ed9b:	68 04 e2 69 00       	push   $0x69e204
55eda0:	68 c1 e1 69 00       	push   $0x69e1c1
55eda5:	e8 96 bd ff ff       	call   0x55ab40
55edaa:	83 c4 0c             	add    $0xc,%esp