42e9ca:	79 03                	jns    0x42e9cf
42e9cc:	83 d2 00             	adc    $0x0,%edx
42e9cf:	89 56 04             	mov    %edx,0x4(%esi)
42e9d2:	2b 45 dc             	sub    -0x24(%ebp),%eax
42e9d5:	40                   	inc    %eax
42e9d6:	d1 f8                	sar    $1,%eax
42e9d8:	79 03                	jns    0x42e9dd
42e9da:	83 d0 00             	adc    $0x0,%eax
42e9dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
42e9e0:	eb 20                	jmp    0x42ea02
42e9e2:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e9e5:	8b d0                	mov    %eax,%edx
42e9e7:	2b 55 e0             	sub    -0x20(%ebp),%edx
42e9ea:	42                   	inc    %edx
42e9eb:	d1 fa                	sar    $1,%edx
42e9ed:	79 03                	jns    0x42e9f2
42e9ef:	83 d2 00             	adc    $0x0,%edx
42e9f2:	89 16                	mov    %edx,(%esi)
42e9f4:	2b 45 d8             	sub    -0x28(%ebp),%eax
42e9f7:	40                   	inc    %eax
42e9f8:	d1 f8                	sar    $1,%eax
42e9fa:	79 03                	jns    0x42e9ff
42e9fc:	83 d0 00             	adc    $0x0,%eax
42e9ff:	89 45 f0             	mov    %eax,-0x10(%ebp)
42ea02:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42ea06:	74 06                	je     0x42ea0e
42ea08:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
42ea0c:	75 05                	jne    0x42ea13
42ea0e:	33 c0                	xor    %eax,%eax
42ea10:	89 45 14             	mov    %eax,0x14(%ebp)
42ea13:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
42ea17:	0f 85 97 00 00 00    	jne    0x42eab4
42ea1d:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
42ea21:	75 4a                	jne    0x42ea6d
42ea23:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42ea26:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42ea29:	03 55 dc             	add    -0x24(%ebp),%edx
42ea2c:	8b 45 e0             	mov    -0x20(%ebp),%eax
42ea2f:	03 45 d8             	add    -0x28(%ebp),%eax
42ea32:	e8 e9 3e fe ff       	call   0x412920
42ea37:	8a 45 1c             	mov    0x1c(%ebp),%al
42ea3a:	2c 02                	sub    $0x2,%al
42ea3c:	73 13                	jae    0x42ea51
42ea3e:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ea41:	2b 45 d0             	sub    -0x30(%ebp),%eax
42ea44:	b9 03 00 00 00       	mov    $0x3,%ecx
42ea49:	99                   	cltd
42ea4a:	f7 f9                	idiv   %ecx
42ea4c:	89 45 18             	mov    %eax,0x18(%ebp)
42ea4f:	eb 11                	jmp    0x42ea62
42ea51:	8b 45 ec             	mov    -0x14(%ebp),%eax
42ea54:	2b 45 d4             	sub    -0x2c(%ebp),%eax
42ea57:	b9 03 00 00 00       	mov    $0x3,%ecx
42ea5c:	99                   	cltd
42ea5d:	f7 f9                	idiv   %ecx
42ea5f:	89 45 18             	mov    %eax,0x18(%ebp)
42ea62:	8b 45 18             	mov    0x18(%ebp),%eax
42ea65:	89 45 14             	mov    %eax,0x14(%ebp)
42ea68:	e9 96 00 00 00       	jmp    0x42eb03
42ea6d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42ea70:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42ea73:	03 55 14             	add    0x14(%ebp),%edx
42ea76:	03 55 dc             	add    -0x24(%ebp),%edx
42ea79:	8b 45 e0             	mov    -0x20(%ebp),%eax
42ea7c:	03 45 14             	add    0x14(%ebp),%eax
42ea7f:	03 45 d8             	add    -0x28(%ebp),%eax
42ea82:	e8 99 3e fe ff       	call   0x412920
42ea87:	8a 45 1c             	mov    0x1c(%ebp),%al
42ea8a:	2c 02                	sub    $0x2,%al
42ea8c:	73 13                	jae    0x42eaa1
42ea8e:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ea91:	2b 45 d0             	sub    -0x30(%ebp),%eax
42ea94:	40                   	inc    %eax
42ea95:	d1 f8                	sar    $1,%eax
42ea97:	79 03                	jns    0x42ea9c
42ea99:	83 d0 00             	adc    $0x0,%eax
42ea9c:	89 45 18             	mov    %eax,0x18(%ebp)
42ea9f:	eb 62                	jmp    0x42eb03
42eaa1:	8b 45 ec             	mov    -0x14(%ebp),%eax
42eaa4:	2b 45 d4             	sub    -0x2c(%ebp),%eax
42eaa7:	40                   	inc    %eax
42eaa8:	d1 f8                	sar    $1,%eax
42eaaa:	79 03                	jns    0x42eaaf
42eaac:	83 d0 00             	adc    $0x0,%eax
42eaaf:	89 45 18             	mov    %eax,0x18(%ebp)
42eab2:	eb 4f                	jmp    0x42eb03
42eab4:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
42eab8:	75 49                	jne    0x42eb03
42eaba:	8b 45 18             	mov    0x18(%ebp),%eax
42eabd:	03 45 e4             	add    -0x1c(%ebp),%eax
42eac0:	8b 55 ec             	mov    -0x14(%ebp),%edx
42eac3:	2b d0                	sub    %eax,%edx
42eac5:	8b 45 18             	mov    0x18(%ebp),%eax
42eac8:	03 45 e0             	add    -0x20(%ebp),%eax
42eacb:	50                   	push   %eax
42eacc:	8b 45 e8             	mov    -0x18(%ebp),%eax
42eacf:	59                   	pop    %ecx
42ead0:	2b c1                	sub    %ecx,%eax
42ead2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42ead5:	e8 46 3e fe ff       	call   0x412920
42eada:	8a 45 1c             	mov    0x1c(%ebp),%al
42eadd:	2c 02                	sub    $0x2,%al
42eadf:	73 12                	jae    0x42eaf3
42eae1:	8b 45 d0             	mov    -0x30(%ebp),%eax
42eae4:	2b 45 d8             	sub    -0x28(%ebp),%eax
42eae7:	d1 f8                	sar    $1,%eax
42eae9:	79 03                	jns    0x42eaee
42eaeb:	83 d0 00             	adc    $0x0,%eax
42eaee:	89 45 14             	mov    %eax,0x14(%ebp)
42eaf1:	eb 10                	jmp    0x42eb03
42eaf3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42eaf6:	2b 45 dc             	sub    -0x24(%ebp),%eax
42eaf9:	d1 f8                	sar    $1,%eax
42eafb:	79 03                	jns    0x42eb00
42eafd:	83 d0 00             	adc    $0x0,%eax
42eb00:	89 45 14             	mov    %eax,0x14(%ebp)
42eb03:	8a 45 1c             	mov    0x1c(%ebp),%al
42eb06:	2c 01                	sub    $0x1,%al
42eb08:	72 0c                	jb     0x42eb16
42eb0a:	74 1a                	je     0x42eb26
42eb0c:	fe c8                	dec    %al
42eb0e:	74 2c                	je     0x42eb3c
42eb10:	fe c8                	dec    %al
42eb12:	74 39                	je     0x42eb4d
42eb14:	eb 4c                	jmp    0x42eb62
42eb16:	8b 45 18             	mov    0x18(%ebp),%eax
42eb19:	89 06                	mov    %eax,(%esi)
42eb1b:	03 45 e0             	add    -0x20(%ebp),%eax
42eb1e:	03 45 14             	add    0x14(%ebp),%eax
42eb21:	89 45 f0             	mov    %eax,-0x10(%ebp)
42eb24:	eb 3c                	jmp    0x42eb62
42eb26:	8b 45 e8             	mov    -0x18(%ebp),%eax
42eb29:	2b 45 18             	sub    0x18(%ebp),%eax
42eb2c:	2b 45 e0             	sub    -0x20(%ebp),%eax
42eb2f:	89 06                	mov    %eax,(%esi)
42eb31:	2b 45 14             	sub    0x14(%ebp),%eax
42eb34:	2b 45 d8             	sub    -0x28(%ebp),%eax
42eb37:	89 45 f0             	mov    %eax,-0x10(%ebp)
42eb3a:	eb 26                	jmp    0x42eb62
42eb3c:	8b 45 18             	mov    0x18(%ebp),%eax
42eb3f:	89 46 04             	mov    %eax,0x4(%esi)
42eb42:	03 45 e4             	add    -0x1c(%ebp),%eax
42eb45:	03 45 14             	add    0x14(%ebp),%eax
42eb48:	89 45 f4             	mov    %eax,-0xc(%ebp)
42eb4b:	eb 15                	jmp    0x42eb62
42eb4d:	8b 45 ec             	mov    -0x14(%ebp),%eax
42eb50:	2b 45 18             	sub    0x18(%ebp),%eax
42eb53:	2b 45 e4             	sub    -0x1c(%ebp),%eax
42eb56:	89 46 04             	mov    %eax,0x4(%esi)
42eb59:	2b 45 14             	sub    0x14(%ebp),%eax
42eb5c:	2b 45 dc             	sub    -0x24(%ebp),%eax
42eb5f:	89 45 f4             	mov    %eax,-0xc(%ebp)
42eb62:	8b 03                	mov    (%ebx),%eax
42eb64:	8b 55 24             	mov    0x24(%ebp),%edx
42eb67:	03 02                	add    (%edx),%eax
42eb69:	01 06                	add    %eax,(%esi)
42eb6b:	8b 43 04             	mov    0x4(%ebx),%eax
42eb6e:	8b 55 24             	mov    0x24(%ebp),%edx
42eb71:	03 42 04             	add    0x4(%edx),%eax
42eb74:	01 46 04             	add    %eax,0x4(%esi)
42eb77:	e8 f4 53 00 00       	call   0x433f70
42eb7c:	e8 cf 54 00 00       	call   0x434050
42eb81:	84 c0                	test   %al,%al
42eb83:	74 15                	je     0x42eb9a
42eb85:	8b 43 04             	mov    0x4(%ebx),%eax
42eb88:	03 45 f4             	add    -0xc(%ebp),%eax
42eb8b:	50                   	push   %eax
42eb8c:	8b 03                	mov    (%ebx),%eax
42eb8e:	03 45 f0             	add    -0x10(%ebp),%eax
42eb91:	50                   	push   %eax
42eb92:	57                   	push   %edi
42eb93:	e8 04 7c fd ff       	call   0x40679c
42eb98:	eb 1e                	jmp    0x42ebb8
42eb9a:	8b 43 04             	mov    0x4(%ebx),%eax
42eb9d:	03 45 f4             	add    -0xc(%ebp),%eax
42eba0:	8b 55 24             	mov    0x24(%ebp),%edx
42eba3:	03 42 04             	add    0x4(%edx),%eax
42eba6:	50                   	push   %eax
42eba7:	8b 03                	mov    (%ebx),%eax
42eba9:	03 45 f0             	add    -0x10(%ebp),%eax
42ebac:	8b 55 24             	mov    0x24(%ebp),%edx
42ebaf:	03 02                	add    (%edx),%eax
42ebb1:	50                   	push   %eax
42ebb2:	57                   	push   %edi
42ebb3:	e8 e4 7b fd ff       	call   0x40679c
42ebb8:	5f                   	pop    %edi
42ebb9:	5e                   	pop    %esi
42ebba:	5b                   	pop    %ebx
42ebbb:	8b e5                	mov    %ebp,%esp
42ebbd:	5d                   	pop    %ebp
42ebbe:	c2 20 00             	ret    $0x20
42ebc1:	8d 40 00             	lea    0x0(%eax),%eax
42ebc4:	55                   	push   %ebp
42ebc5:	8b ec                	mov    %esp,%ebp
42ebc7:	83 c4 f4             	add    $0xfffffff4,%esp
42ebca:	53                   	push   %ebx
42ebcb:	56                   	push   %esi
42ebcc:	57                   	push   %edi
42ebcd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42ebd0:	8b f2                	mov    %edx,%esi
42ebd2:	8b d8                	mov    %eax,%ebx
42ebd4:	8b 7d 24             	mov    0x24(%ebp),%edi
42ebd7:	8b 45 28             	mov    0x28(%ebp),%eax
42ebda:	50                   	push   %eax
42ebdb:	57                   	push   %edi
42ebdc:	8a 45 20             	mov    0x20(%ebp),%al
42ebdf:	50                   	push   %eax
42ebe0:	8b 45 1c             	mov    0x1c(%ebp),%eax
42ebe3:	50                   	push   %eax
42ebe4:	8b 45 18             	mov    0x18(%ebp),%eax
42ebe7:	50                   	push   %eax
42ebe8:	8d 45 f4             	lea    -0xc(%ebp),%eax
42ebeb:	50                   	push   %eax
42ebec:	8b 45 08             	mov    0x8(%ebp),%eax
42ebef:	50                   	push   %eax
42ebf0:	8b 45 0c             	mov    0xc(%ebp),%eax
42ebf3:	50                   	push   %eax
42ebf4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ebf7:	8b d6                	mov    %esi,%edx
42ebf9:	8b c3                	mov    %ebx,%eax
42ebfb:	e8 98 fc ff ff       	call   0x42e898
42ec00:	8a 45 14             	mov    0x14(%ebp),%al
42ec03:	50                   	push   %eax
42ec04:	8a 45 10             	mov    0x10(%ebp),%al
42ec07:	50                   	push   %eax
42ec08:	8d 4d f4             	lea    -0xc(%ebp),%ecx
42ec0b:	8b d6                	mov    %esi,%edx
42ec0d:	8b c3                	mov    %ebx,%eax
42ec0f:	e8 40 fa ff ff       	call   0x42e654
42ec14:	8b 45 08             	mov    0x8(%ebp),%eax
42ec17:	50                   	push   %eax
42ec18:	8a 45 14             	mov    0x14(%ebp),%al
42ec1b:	50                   	push   %eax
42ec1c:	8b 45 0c             	mov    0xc(%ebp),%eax
42ec1f:	50                   	push   %eax
42ec20:	8b cf                	mov    %edi,%ecx
42ec22:	8b d6                	mov    %esi,%edx
42ec24:	8b c3                	mov    %ebx,%eax
42ec26:	e8 8d fb ff ff       	call   0x42e7b8
42ec2b:	5f                   	pop    %edi
42ec2c:	5e                   	pop    %esi
42ec2d:	5b                   	pop    %ebx
42ec2e:	8b e5                	mov    %ebp,%esp
42ec30:	5d                   	pop    %ebp
42ec31:	c2 24 00             	ret    $0x24
42ec34:	53                   	push   %ebx
42ec35:	56                   	push   %esi
42ec36:	8b f2                	mov    %edx,%esi
42ec38:	8b d8                	mov    %eax,%ebx
42ec3a:	8b d6                	mov    %esi,%edx
42ec3c:	8b c3                	mov    %ebx,%eax
42ec3e:	e8 09 fa 00 00       	call   0x43e64c
42ec43:	8b c6                	mov    %esi,%eax
42ec45:	8b 15 84 d5 42 00    	mov    0x42d584,%edx
42ec4b:	e8 a8 47 fd ff       	call   0x4033f8
42ec50:	89 43 20             	mov    %eax,0x20(%ebx)
42ec53:	5e                   	pop    %esi
42ec54:	5b                   	pop    %ebx
42ec55:	c3                   	ret
42ec56:	8b c0                	mov    %eax,%eax
42ec58:	53                   	push   %ebx
42ec59:	8b d8                	mov    %eax,%ebx
42ec5b:	8b c3                	mov    %ebx,%eax
42ec5d:	e8 f6 cf 01 00       	call   0x44bc58
42ec62:	84 c0                	test   %al,%al
42ec64:	74 34                	je     0x42ec9a
42ec66:	8b 43 20             	mov    0x20(%ebx),%eax
42ec69:	83 b8 68 01 00 00 00 	cmpl   $0x0,0x168(%eax)
42ec70:	74 28                	je     0x42ec9a
42ec72:	8b 43 20             	mov    0x20(%ebx),%eax
42ec75:	80 b8 72 01 00 00 00 	cmpb   $0x0,0x172(%eax)
42ec7c:	74 1c                	je     0x42ec9a
42ec7e:	8b 43 10             	mov    0x10(%ebx),%eax
42ec81:	8b 15 08 b5 44 00    	mov    0x44b508,%edx
42ec87:	e8 6c 47 fd ff       	call   0x4033f8
42ec8c:	8a 40 69             	mov    0x69(%eax),%al
42ec8f:	8b 53 20             	mov    0x20(%ebx),%edx
42ec92:	3a 82 70 01 00 00    	cmp    0x170(%edx),%al
42ec98:	74 04                	je     0x42ec9e
42ec9a:	33 c0                	xor    %eax,%eax
42ec9c:	5b                   	pop    %ebx
42ec9d:	c3                   	ret
42ec9e:	b0 01                	mov    $0x1,%al
42eca0:	5b                   	pop    %ebx
42eca1:	c3                   	ret
42eca2:	8b c0                	mov    %eax,%eax
42eca4:	53                   	push   %ebx
42eca5:	56                   	push   %esi
42eca6:	8b d8                	mov    %eax,%ebx
42eca8:	8b 73 20             	mov    0x20(%ebx),%esi
42ecab:	85 f6                	test   %esi,%esi
42ecad:	74 19                	je     0x42ecc8
42ecaf:	8b 43 10             	mov    0x10(%ebx),%eax
42ecb2:	8b 15 08 b5 44 00    	mov    0x44b508,%edx
42ecb8:	e8 3b 47 fd ff       	call   0x4033f8
42ecbd:	8b 40 6c             	mov    0x6c(%eax),%eax
42ecc0:	3b 86 68 01 00 00    	cmp    0x168(%esi),%eax
42ecc6:	74 05                	je     0x42eccd
42ecc8:	33 c0                	xor    %eax,%eax
42ecca:	5e                   	pop    %esi
42eccb:	5b                   	pop    %ebx
42eccc:	c3                   	ret
42eccd:	b0 01                	mov    $0x1,%al
42eccf:	5e                   	pop    %esi
42ecd0:	5b                   	pop    %ebx
42ecd1:	c3                   	ret
42ecd2:	8b c0                	mov    %eax,%eax
42ecd4:	53                   	push   %ebx
42ecd5:	56                   	push   %esi
42ecd6:	8b da                	mov    %edx,%ebx
42ecd8:	8b f0                	mov    %eax,%esi
42ecda:	8b c6                	mov    %esi,%eax
42ecdc:	8b 10                	mov    (%eax),%edx
42ecde:	ff 52 24             	call   *0x24(%edx)
42ece1:	84 c0                	test   %al,%al
42ece3:	74 0a                	je     0x42ecef
42ece5:	8b d3                	mov    %ebx,%edx
42ece7:	8b 46 20             	mov    0x20(%esi),%eax
42ecea:	e8 95 08 00 00       	call   0x42f584
42ecef:	5e                   	pop    %esi
42ecf0:	5b                   	pop    %ebx
42ecf1:	c3                   	ret
42ecf2:	8b c0                	mov    %eax,%eax
42ecf4:	53                   	push   %ebx
42ecf5:	56                   	push   %esi
42ecf6:	8b f2                	mov    %edx,%esi
42ecf8:	8b d8                	mov    %eax,%ebx
42ecfa:	8b c3                	mov    %ebx,%eax
42ecfc:	8b 10                	mov    (%eax),%edx
42ecfe:	ff 52 2c             	call   *0x2c(%edx)
42ed01:	84 c0                	test   %al,%al
42ed03:	74 0a                	je     0x42ed0f
42ed05:	8b d6                	mov    %esi,%edx
42ed07:	8b 43 20             	mov    0x20(%ebx),%eax
42ed0a:	e8 01 09 00 00       	call   0x42f610
42ed0f:	5e                   	pop    %esi
42ed10:	5b                   	pop    %ebx
42ed11:	c3                   	ret
42ed12:	8b c0                	mov    %eax,%eax
42ed14:	55                   	push   %ebp
42ed15:	8b ec                	mov    %esp,%ebp
42ed17:	51                   	push   %ecx
42ed18:	53                   	push   %ebx
42ed19:	56                   	push   %esi
42ed1a:	84 d2                	test   %dl,%dl
42ed1c:	74 08                	je     0x42ed26
42ed1e:	83 c4 f0             	add    $0xfffffff0,%esp
42ed21:	e8 46 48 fd ff       	call   0x40356c
42ed26:	8b f1                	mov    %ecx,%esi
42ed28:	88 55 ff             	mov    %dl,-0x1(%ebp)