55e7b3:	e8 c4 9b 01 00       	call   0x57837c
55e7b8:	89 46 24             	mov    %eax,0x24(%esi)
55e7bb:	85 c0                	test   %eax,%eax
55e7bd:	0f 84 9d 01 00 00    	je     0x55e960
55e7c3:	33 c0                	xor    %eax,%eax
55e7c5:	eb 0c                	jmp    0x55e7d3
55e7c7:	0f b7 d0             	movzwl %ax,%edx
55e7ca:	8b 4e 24             	mov    0x24(%esi),%ecx
55e7cd:	33 ff                	xor    %edi,%edi
55e7cf:	89 3c 91             	mov    %edi,(%ecx,%edx,4)
55e7d2:	40                   	inc    %eax
55e7d3:	66 3b 46 16          	cmp    0x16(%esi),%ax
55e7d7:	72 ee                	jb     0x55e7c7
55e7d9:	0f b7 43 30          	movzwl 0x30(%ebx),%eax
55e7dd:	8b d0                	mov    %eax,%edx
55e7df:	c1 e0 07             	shl    $0x7,%eax
55e7e2:	03 c2                	add    %edx,%eax
55e7e4:	c1 e0 02             	shl    $0x2,%eax
55e7e7:	e8 90 9b 01 00       	call   0x57837c
55e7ec:	8b f8                	mov    %eax,%edi
55e7ee:	89 7e 2c             	mov    %edi,0x2c(%esi)
55e7f1:	85 ff                	test   %edi,%edi
55e7f3:	0f 84 67 01 00 00    	je     0x55e960
55e7f9:	33 ed                	xor    %ebp,%ebp
55e7fb:	eb 16                	jmp    0x55e813
55e7fd:	33 c0                	xor    %eax,%eax
55e7ff:	33 d2                	xor    %edx,%edx
55e801:	89 47 04             	mov    %eax,0x4(%edi)
55e804:	89 57 14             	mov    %edx,0x14(%edi)
55e807:	33 c9                	xor    %ecx,%ecx
55e809:	45                   	inc    %ebp
55e80a:	89 4f 08             	mov    %ecx,0x8(%edi)
55e80d:	81 c7 04 02 00 00    	add    $0x204,%edi
55e813:	66 3b 6b 30          	cmp    0x30(%ebx),%bp
55e817:	72 e4                	jb     0x55e7fd
55e819:	33 ed                	xor    %ebp,%ebp
55e81b:	8b 7e 2c             	mov    0x2c(%esi),%edi
55e81e:	eb 1d                	jmp    0x55e83d
55e820:	56                   	push   %esi
55e821:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55e825:	8b d3                	mov    %ebx,%edx
55e827:	8b c7                	mov    %edi,%eax
55e829:	e8 a2 01 00 00       	call   0x55e9d0
55e82e:	85 c0                	test   %eax,%eax
55e830:	0f 84 2a 01 00 00    	je     0x55e960
55e836:	45                   	inc    %ebp
55e837:	81 c7 04 02 00 00    	add    $0x204,%edi
55e83d:	66 3b 6b 30          	cmp    0x30(%ebx),%bp
55e841:	72 dd                	jb     0x55e820
55e843:	8a 46 18             	mov    0x18(%esi),%al
55e846:	2c 01                	sub    $0x1,%al
55e848:	0f 82 e3 00 00 00    	jb     0x55e931
55e84e:	74 73                	je     0x55e8c3
55e850:	fe c8                	dec    %al
55e852:	0f 85 d9 00 00 00    	jne    0x55e931
55e858:	68 00 00 08 40       	push   $0x40080000
55e85d:	6a 00                	push   $0x0
55e85f:	e8 d4 c7 ff ff       	call   0x55b038
55e864:	83 c4 08             	add    $0x8,%esp
55e867:	d8 0d 74 e9 55 00    	fmuls  0x55e974
55e86d:	e8 6e c2 ff ff       	call   0x55aae0
55e872:	8b 56 2c             	mov    0x2c(%esi),%edx
55e875:	89 42 18             	mov    %eax,0x18(%edx)
55e878:	68 00 00 e6 3f       	push   $0x3fe60000
55e87d:	6a 00                	push   $0x0
55e87f:	e8 b4 c7 ff ff       	call   0x55b038
55e884:	83 c4 08             	add    $0x8,%esp
55e887:	d8 0d 74 e9 55 00    	fmuls  0x55e974
55e88d:	e8 4e c2 ff ff       	call   0x55aae0
55e892:	8b 56 2c             	mov    0x2c(%esi),%edx
55e895:	89 82 1c 02 00 00    	mov    %eax,0x21c(%edx)
55e89b:	68 00 00 e6 3f       	push   $0x3fe60000
55e8a0:	6a 00                	push   $0x0
55e8a2:	e8 91 c7 ff ff       	call   0x55b038
55e8a7:	83 c4 08             	add    $0x8,%esp
55e8aa:	d8 0d 74 e9 55 00    	fmuls  0x55e974
55e8b0:	e8 2b c2 ff ff       	call   0x55aae0
55e8b5:	8b 56 2c             	mov    0x2c(%esi),%edx
55e8b8:	89 82 20 04 00 00    	mov    %eax,0x420(%edx)
55e8be:	e9 89 00 00 00       	jmp    0x55e94c
55e8c3:	68 00 00 08 40       	push   $0x40080000
55e8c8:	6a 00                	push   $0x0
55e8ca:	e8 69 c7 ff ff       	call   0x55b038
55e8cf:	83 c4 08             	add    $0x8,%esp
55e8d2:	d8 0d 74 e9 55 00    	fmuls  0x55e974
55e8d8:	e8 03 c2 ff ff       	call   0x55aae0
55e8dd:	8b 56 2c             	mov    0x2c(%esi),%edx
55e8e0:	89 42 18             	mov    %eax,0x18(%edx)
55e8e3:	68 34 11 0a 40       	push   $0x400a1134
55e8e8:	68 8c 4a ea 04       	push   $0x4ea4a8c
55e8ed:	e8 46 c7 ff ff       	call   0x55b038
55e8f2:	83 c4 08             	add    $0x8,%esp
55e8f5:	d8 0d 74 e9 55 00    	fmuls  0x55e974
55e8fb:	e8 e0 c1 ff ff       	call   0x55aae0
55e900:	8b 56 2c             	mov    0x2c(%esi),%edx
55e903:	89 82 1c 02 00 00    	mov    %eax,0x21c(%edx)
55e909:	68 d2 cd 03 40       	push   $0x4003cdd2
55e90e:	68 e7 fb a9 f1       	push   $0xf1a9fbe7
55e913:	e8 20 c7 ff ff       	call   0x55b038
55e918:	83 c4 08             	add    $0x8,%esp
55e91b:	d8 0d 74 e9 55 00    	fmuls  0x55e974
55e921:	e8 ba c1 ff ff       	call   0x55aae0
55e926:	8b 56 2c             	mov    0x2c(%esi),%edx
55e929:	89 82 20 04 00 00    	mov    %eax,0x420(%edx)
55e92f:	eb 1b                	jmp    0x55e94c
55e931:	33 ed                	xor    %ebp,%ebp
55e933:	8b 7e 2c             	mov    0x2c(%esi),%edi
55e936:	eb 0e                	jmp    0x55e946
55e938:	c7 47 18 00 20 00 00 	movl   $0x2000,0x18(%edi)
55e93f:	45                   	inc    %ebp
55e940:	81 c7 04 02 00 00    	add    $0x204,%edi
55e946:	66 3b 6b 30          	cmp    0x30(%ebx),%bp
55e94a:	72 ec                	jb     0x55e938
55e94c:	8b d6                	mov    %esi,%edx
55e94e:	8b c3                	mov    %ebx,%eax
55e950:	e8 df be 00 00       	call   0x56a834
55e955:	89 46 1c             	mov    %eax,0x1c(%esi)
55e958:	85 c0                	test   %eax,%eax
55e95a:	74 04                	je     0x55e960
55e95c:	8b c6                	mov    %esi,%eax
55e95e:	eb 0d                	jmp    0x55e96d
55e960:	85 f6                	test   %esi,%esi
55e962:	74 07                	je     0x55e96b
55e964:	8b c6                	mov    %esi,%eax
55e966:	e8 0d 00 00 00       	call   0x55e978
55e96b:	33 c0                	xor    %eax,%eax
55e96d:	5a                   	pop    %edx
55e96e:	5d                   	pop    %ebp
55e96f:	5f                   	pop    %edi
55e970:	5e                   	pop    %esi
55e971:	5b                   	pop    %ebx
55e972:	c3                   	ret
55e973:	00 00                	add    %al,(%eax)
55e975:	00 00                	add    %al,(%eax)
55e977:	46                   	inc    %esi
55e978:	53                   	push   %ebx
55e979:	8b d8                	mov    %eax,%ebx
55e97b:	56                   	push   %esi
55e97c:	57                   	push   %edi
55e97d:	8b 43 2c             	mov    0x2c(%ebx),%eax
55e980:	85 c0                	test   %eax,%eax
55e982:	74 26                	je     0x55e9aa
55e984:	33 ff                	xor    %edi,%edi
55e986:	8b f0                	mov    %eax,%esi
55e988:	eb 0e                	jmp    0x55e998
55e98a:	8b c6                	mov    %esi,%eax
55e98c:	e8 7f 03 00 00       	call   0x55ed10
55e991:	47                   	inc    %edi
55e992:	81 c6 04 02 00 00    	add    $0x204,%esi
55e998:	0f b7 d7             	movzwl %di,%edx
55e99b:	8b 4b 28             	mov    0x28(%ebx),%ecx
55e99e:	3b d1                	cmp    %ecx,%edx
55e9a0:	7c e8                	jl     0x55e98a
55e9a2:	8b 43 2c             	mov    0x2c(%ebx),%eax
55e9a5:	e8 da 99 01 00       	call   0x578384
55e9aa:	8b 43 24             	mov    0x24(%ebx),%eax
55e9ad:	85 c0                	test   %eax,%eax
55e9af:	74 05                	je     0x55e9b6
55e9b1:	e8 ce 99 01 00       	call   0x578384
55e9b6:	8b 43 1c             	mov    0x1c(%ebx),%eax
55e9b9:	85 c0                	test   %eax,%eax
55e9bb:	74 05                	je     0x55e9c2
55e9bd:	e8 c6 e1 00 00       	call   0x56cb88
55e9c2:	8b c3                	mov    %ebx,%eax
55e9c4:	e8 bb 99 01 00       	call   0x578384
55e9c9:	5f                   	pop    %edi
55e9ca:	5e                   	pop    %esi
55e9cb:	5b                   	pop    %ebx
55e9cc:	c3                   	ret
55e9cd:	90                   	nop
55e9ce:	90                   	nop
55e9cf:	90                   	nop
55e9d0:	55                   	push   %ebp
55e9d1:	8b ec                	mov    %esp,%ebp
55e9d3:	81 c4 44 f0 ff ff    	add    $0xfffff044,%esp
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)