42d88c:	e8 73 ff ff ff       	call   0x42d804
42d891:	3c 01                	cmp    $0x1,%al
42d893:	75 04                	jne    0x42d899
42d895:	33 db                	xor    %ebx,%ebx
42d897:	eb 67                	jmp    0x42d900
42d899:	8b 46 28             	mov    0x28(%esi),%eax
42d89c:	8d 50 18             	lea    0x18(%eax),%edx
42d89f:	8d 42 18             	lea    0x18(%edx),%eax
42d8a2:	0f b7 48 0e          	movzwl 0xe(%eax),%ecx
42d8a6:	83 f9 10             	cmp    $0x10,%ecx
42d8a9:	7f 11                	jg     0x42d8bc
42d8ab:	74 27                	je     0x42d8d4
42d8ad:	49                   	dec    %ecx
42d8ae:	74 18                	je     0x42d8c8
42d8b0:	83 e9 03             	sub    $0x3,%ecx
42d8b3:	74 17                	je     0x42d8cc
42d8b5:	83 e9 04             	sub    $0x4,%ecx
42d8b8:	74 16                	je     0x42d8d0
42d8ba:	eb 44                	jmp    0x42d900
42d8bc:	83 e9 18             	sub    $0x18,%ecx
42d8bf:	74 33                	je     0x42d8f4
42d8c1:	83 e9 08             	sub    $0x8,%ecx
42d8c4:	74 32                	je     0x42d8f8
42d8c6:	eb 38                	jmp    0x42d900
42d8c8:	b3 01                	mov    $0x1,%bl
42d8ca:	eb 34                	jmp    0x42d900
42d8cc:	b3 02                	mov    $0x2,%bl
42d8ce:	eb 30                	jmp    0x42d900
42d8d0:	b3 03                	mov    $0x3,%bl
42d8d2:	eb 2c                	jmp    0x42d900
42d8d4:	8b 40 10             	mov    0x10(%eax),%eax
42d8d7:	83 e8 01             	sub    $0x1,%eax
42d8da:	72 07                	jb     0x42d8e3
42d8dc:	83 e8 02             	sub    $0x2,%eax
42d8df:	74 06                	je     0x42d8e7
42d8e1:	eb 1d                	jmp    0x42d900
42d8e3:	b3 04                	mov    $0x4,%bl
42d8e5:	eb 19                	jmp    0x42d900
42d8e7:	81 7a 44 e0 07 00 00 	cmpl   $0x7e0,0x44(%edx)
42d8ee:	75 10                	jne    0x42d900
42d8f0:	b3 05                	mov    $0x5,%bl
42d8f2:	eb 0c                	jmp    0x42d900
42d8f4:	b3 06                	mov    $0x6,%bl
42d8f6:	eb 08                	jmp    0x42d900
42d8f8:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
42d8fc:	75 02                	jne    0x42d900
42d8fe:	b3 07                	mov    $0x7,%bl
42d900:	8b c3                	mov    %ebx,%eax
42d902:	5e                   	pop    %esi
42d903:	5b                   	pop    %ebx
42d904:	c3                   	ret
42d905:	8d 40 00             	lea    0x0(%eax),%eax
42d908:	53                   	push   %ebx
42d909:	56                   	push   %esi
42d90a:	57                   	push   %edi
42d90b:	55                   	push   %ebp
42d90c:	8b fa                	mov    %edx,%edi
42d90e:	8b d8                	mov    %eax,%ebx
42d910:	8b d3                	mov    %ebx,%edx
42d912:	8b c3                	mov    %ebx,%eax
42d914:	e8 0b fb ff ff       	call   0x42d424
42d919:	8b 43 28             	mov    0x28(%ebx),%eax
42d91c:	83 c0 18             	add    $0x18,%eax
42d91f:	8b e8                	mov    %eax,%ebp
42d921:	8d 70 18             	lea    0x18(%eax),%esi
42d924:	85 ff                	test   %edi,%edi
42d926:	7c 05                	jl     0x42d92d
42d928:	3b 7d 08             	cmp    0x8(%ebp),%edi
42d92b:	7c 0a                	jl     0x42d937
42d92d:	a1 d8 70 6a 00       	mov    0x6a70d8,%eax
42d932:	e8 31 b6 ff ff       	call   0x428f68
42d937:	8b c3                	mov    %ebx,%eax
42d939:	e8 82 00 00 00       	call   0x42d9c0
42d93e:	e8 1d 9c fd ff       	call   0x407560
42d943:	8b 46 08             	mov    0x8(%esi),%eax
42d946:	85 c0                	test   %eax,%eax
42d948:	7e 05                	jle    0x42d94f
42d94a:	2b c7                	sub    %edi,%eax
42d94c:	48                   	dec    %eax
42d94d:	8b f8                	mov    %eax,%edi
42d94f:	0f b7 56 0e          	movzwl 0xe(%esi),%edx
42d953:	b9 20 00 00 00       	mov    $0x20,%ecx
42d958:	8b 46 04             	mov    0x4(%esi),%eax
42d95b:	e8 e8 b8 ff ff       	call   0x429248
42d960:	f7 ef                	imul   %edi
42d962:	03 45 14             	add    0x14(%ebp),%eax
42d965:	89 c3                	mov    %eax,%ebx
42d967:	8b c3                	mov    %ebx,%eax
42d969:	5d                   	pop    %ebp
42d96a:	5f                   	pop    %edi
42d96b:	5e                   	pop    %esi
42d96c:	5b                   	pop    %ebx
42d96d:	c3                   	ret
42d96e:	8b c0                	mov    %eax,%eax
42d970:	53                   	push   %ebx
42d971:	8b d8                	mov    %eax,%ebx
42d973:	8b 43 34             	mov    0x34(%ebx),%eax
42d976:	3d 00 00 00 20       	cmp    $0x20000000,%eax
42d97b:	75 2c                	jne    0x42d9a9
42d97d:	8b c3                	mov    %ebx,%eax
42d97f:	e8 d0 fe ff ff       	call   0x42d854
42d984:	84 c0                	test   %al,%al
42d986:	74 07                	je     0x42d98f
42d988:	b8 ff ff ff 00       	mov    $0xffffff,%eax
42d98d:	eb 1f                	jmp    0x42d9ae
42d98f:	8b c3                	mov    %ebx,%eax
42d991:	8b 10                	mov    (%eax),%edx
42d993:	ff 52 20             	call   *0x20(%edx)
42d996:	48                   	dec    %eax
42d997:	50                   	push   %eax
42d998:	8b c3                	mov    %ebx,%eax
42d99a:	e8 f9 fd ff ff       	call   0x42d798
42d99f:	33 d2                	xor    %edx,%edx
42d9a1:	59                   	pop    %ecx
42d9a2:	e8 81 b2 ff ff       	call   0x428c28
42d9a7:	eb 05                	jmp    0x42d9ae
42d9a9:	e8 2a 9c ff ff       	call   0x4275d8
42d9ae:	0d 00 00 00 02       	or     $0x2000000,%eax
42d9b3:	5b                   	pop    %ebx
42d9b4:	c3                   	ret
42d9b5:	8d 40 00             	lea    0x0(%eax),%eax
42d9b8:	8b 40 28             	mov    0x28(%eax),%eax
42d9bb:	8b 40 1c             	mov    0x1c(%eax),%eax
42d9be:	c3                   	ret
42d9bf:	90                   	nop
42d9c0:	53                   	push   %ebx
42d9c1:	56                   	push   %esi
42d9c2:	8b 58 28             	mov    0x28(%eax),%ebx
42d9c5:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
42d9c9:	74 65                	je     0x42da30
42d9cb:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42d9cf:	75 5f                	jne    0x42da30
42d9d1:	e8 6e 01 00 00       	call   0x42db44
42d9d6:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
42d9da:	75 3c                	jne    0x42da18
42d9dc:	8d 43 18             	lea    0x18(%ebx),%eax
42d9df:	50                   	push   %eax
42d9e0:	6a 54                	push   $0x54
42d9e2:	8b 43 08             	mov    0x8(%ebx),%eax
42d9e5:	50                   	push   %eax
42d9e6:	e8 05 9c fd ff       	call   0x4075f0
42d9eb:	8d 43 18             	lea    0x18(%ebx),%eax
42d9ee:	8b d0                	mov    %eax,%edx
42d9f0:	83 c0 18             	add    $0x18,%eax
42d9f3:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
42d9f9:	8b 4a 04             	mov    0x4(%edx),%ecx
42d9fc:	89 48 04             	mov    %ecx,0x4(%eax)
42d9ff:	8b 4a 08             	mov    0x8(%edx),%ecx
42da02:	89 48 08             	mov    %ecx,0x8(%eax)
42da05:	66 c7 40 0c 01 00    	movw   $0x1,0xc(%eax)
42da0b:	66 8b 4a 10          	mov    0x10(%edx),%cx
42da0f:	66 0f af 4a 12       	imul   0x12(%edx),%cx
42da14:	66 89 48 0e          	mov    %cx,0xe(%eax)
42da18:	8d 43 18             	lea    0x18(%ebx),%eax
42da1b:	50                   	push   %eax
42da1c:	6a 00                	push   $0x0
42da1e:	8b 73 10             	mov    0x10(%ebx),%esi
42da21:	8b ce                	mov    %esi,%ecx
42da23:	8b d6                	mov    %esi,%edx
42da25:	8b 43 08             	mov    0x8(%ebx),%eax
42da28:	e8 cf ee ff ff       	call   0x42c8fc
42da2d:	89 43 14             	mov    %eax,0x14(%ebx)
42da30:	5e                   	pop    %esi
42da31:	5b                   	pop    %ebx
42da32:	c3                   	ret
42da33:	90                   	nop
42da34:	8b 50 2c             	mov    0x2c(%eax),%edx
42da37:	85 d2                	test   %edx,%edx
42da39:	74 07                	je     0x42da42
42da3b:	8b c2                	mov    %edx,%eax
42da3d:	e8 5a eb ff ff       	call   0x42c59c
42da42:	c3                   	ret
42da43:	90                   	nop
42da44:	55                   	push   %ebp
42da45:	8b ec                	mov    %esp,%ebp
42da47:	83 c4 f0             	add    $0xfffffff0,%esp
42da4a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42da4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42da50:	8b 40 28             	mov    0x28(%eax),%eax
42da53:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
42da57:	75 75                	jne    0x42dace
42da59:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
42da5d:	75 6f                	jne    0x42dace
42da5f:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
42da63:	74 69                	je     0x42dace
42da65:	6a 00                	push   $0x0
42da67:	6a 00                	push   $0x0
42da69:	8b 40 6c             	mov    0x6c(%eax),%eax
42da6c:	e8 67 0c ff ff       	call   0x41e6d8
42da71:	8b 45 fc             	mov    -0x4(%ebp),%eax
42da74:	8b 50 10             	mov    0x10(%eax),%edx
42da77:	89 55 f0             	mov    %edx,-0x10(%ebp)
42da7a:	8b 50 14             	mov    0x14(%eax),%edx
42da7d:	89 55 f4             	mov    %edx,-0xc(%ebp)
42da80:	33 c0                	xor    %eax,%eax
42da82:	55                   	push   %ebp
42da83:	68 c7 da 42 00       	push   $0x42dac7
42da88:	64 ff 30             	push   %fs:(%eax)
42da8b:	64 89 20             	mov    %esp,%fs:(%eax)
42da8e:	8b 45 fc             	mov    -0x4(%ebp),%eax
42da91:	33 d2                	xor    %edx,%edx
42da93:	89 50 10             	mov    %edx,0x10(%eax)
42da96:	89 50 14             	mov    %edx,0x14(%eax)
42da99:	8b 45 fc             	mov    -0x4(%ebp),%eax
42da9c:	8b 40 28             	mov    0x28(%eax),%eax
42da9f:	8b 50 6c             	mov    0x6c(%eax),%edx
42daa2:	8b 45 fc             	mov    -0x4(%ebp),%eax
42daa5:	8b 08                	mov    (%eax),%ecx
42daa7:	ff 51 54             	call   *0x54(%ecx)
42daaa:	33 c0                	xor    %eax,%eax
42daac:	5a                   	pop    %edx
42daad:	59                   	pop    %ecx
42daae:	59                   	pop    %ecx
42daaf:	64 89 10             	mov    %edx,%fs:(%eax)
42dab2:	68 ce da 42 00       	push   $0x42dace
42dab7:	8b 45 fc             	mov    -0x4(%ebp),%eax
42daba:	8b 55 f0             	mov    -0x10(%ebp),%edx
42dabd:	89 50 10             	mov    %edx,0x10(%eax)
42dac0:	8b 55 f4             	mov    -0xc(%ebp),%edx
42dac3:	89 50 14             	mov    %edx,0x14(%eax)
42dac6:	c3                   	ret
42dac7:	e9 40 67 fd ff       	jmp    0x40420c
42dacc:	eb e9                	jmp    0x42dab7
42dace:	8b 45 fc             	mov    -0x4(%ebp),%eax
42dad1:	8b 40 28             	mov    0x28(%eax),%eax
42dad4:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
42dad8:	75 06                	jne    0x42dae0
42dada:	8b 50 14             	mov    0x14(%eax),%edx
42dadd:	89 50 08             	mov    %edx,0x8(%eax)
42dae0:	8b e5                	mov    %ebp,%esp
42dae2:	5d                   	pop    %ebp
42dae3:	c3                   	ret
42dae4:	53                   	push   %ebx
42dae5:	56                   	push   %esi
42dae6:	8b d8                	mov    %eax,%ebx
42dae8:	80 7b 32 00          	cmpb   $0x0,0x32(%ebx)
42daec:	74 06                	je     0x42daf4
42daee:	80 7b 31 00          	cmpb   $0x0,0x31(%ebx)
42daf2:	75 4a                	jne    0x42db3e
42daf4:	8b 73 28             	mov    0x28(%ebx),%esi
42daf7:	8b 46 0c             	mov    0xc(%esi),%eax
42dafa:	85 c0                	test   %eax,%eax
42dafc:	74 13                	je     0x42db11
42dafe:	e8 b5 e9 ff ff       	call   0x42c4b8
42db03:	8b 46 0c             	mov    0xc(%esi),%eax
42db06:	50                   	push   %eax
42db07:	e8 04 9a fd ff       	call   0x407510
42db0c:	33 c0                	xor    %eax,%eax
42db0e:	89 46 0c             	mov    %eax,0xc(%esi)
42db11:	8b c3                	mov    %ebx,%eax
42db13:	e8 1c ff ff ff       	call   0x42da34
42db18:	8b c3                	mov    %ebx,%eax
42db1a:	e8 25 ff ff ff       	call   0x42da44
42db1f:	8b c3                	mov    %ebx,%eax
42db21:	e8 4a fe ff ff       	call   0x42d970
42db26:	8b c8                	mov    %eax,%ecx
42db28:	8b 56 10             	mov    0x10(%esi),%edx
42db2b:	8b 46 08             	mov    0x8(%esi),%eax
42db2e:	e8 91 f4 ff ff       	call   0x42cfc4
42db33:	89 46 0c             	mov    %eax,0xc(%esi)
42db36:	c6 43 32 01          	movb   $0x1,0x32(%ebx)
42db3a:	c6 43 31 01          	movb   $0x1,0x31(%ebx)
42db3e:	5e                   	pop    %esi
42db3f:	5b                   	pop    %ebx
42db40:	c3                   	ret
42db41:	8d 40 00             	lea    0x0(%eax),%eax
42db44:	53                   	push   %ebx
42db45:	56                   	push   %esi
42db46:	57                   	push   %edi
42db47:	55                   	push   %ebp
42db48:	8b f8                	mov    %eax,%edi
42db4a:	8b 6f 28             	mov    0x28(%edi),%ebp
42db4d:	80 7f 30 00          	cmpb   $0x0,0x30(%edi)
42db51:	0f 85 a0 00 00 00    	jne    0x42dbf7
42db57:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42db5b:	0f 85 96 00 00 00    	jne    0x42dbf7
42db61:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42db65:	0f 84 8c 00 00 00    	je     0x42dbf7
42db6b:	8b 45 14             	mov    0x14(%ebp),%eax
42db6e:	3b 45 08             	cmp    0x8(%ebp),%eax
42db71:	75 05                	jne    0x42db78
42db73:	e8 40 e9 ff ff       	call   0x42c4b8
42db78:	66 8b 4d 3e          	mov    0x3e(%ebp),%cx
42db7c:	b8 01 00 00 00       	mov    $0x1,%eax
42db81:	d3 e0                	shl    %cl,%eax
42db83:	8b c8                	mov    %eax,%ecx
42db85:	33 d2                	xor    %edx,%edx
42db87:	8b 45 14             	mov    0x14(%ebp),%eax
42db8a:	e8 19 bc ff ff       	call   0x4297a8
42db8f:	8b f0                	mov    %eax,%esi
42db91:	89 75 10             	mov    %esi,0x10(%ebp)
42db94:	85 f6                	test   %esi,%esi
42db96:	75 5f                	jne    0x42dbf7
42db98:	6a 00                	push   $0x0
42db9a:	e8 71 9e fd ff       	call   0x407a10
42db9f:	e8 14 b5 ff ff       	call   0x4290b8
42dba4:	8b f0                	mov    %eax,%esi
42dba6:	80 7d 71 00          	cmpb   $0x0,0x71(%ebp)
42dbaa:	75 27                	jne    0x42dbd3
42dbac:	6a 0c                	push   $0xc
42dbae:	56                   	push   %esi
42dbaf:	e8 04 9a fd ff       	call   0x4075b8
42dbb4:	8b d8                	mov    %eax,%ebx
42dbb6:	6a 0e                	push   $0xe
42dbb8:	56                   	push   %esi
42dbb9:	e8 fa 99 fd ff       	call   0x4075b8
42dbbe:	0f af d8             	imul   %eax,%ebx
42dbc1:	0f b7 45 2a          	movzwl 0x2a(%ebp),%eax
42dbc5:	0f b7 55 28          	movzwl 0x28(%ebp),%edx
42dbc9:	f7 ea                	imul   %edx
42dbcb:	3b d8                	cmp    %eax,%ebx
42dbcd:	7c 04                	jl     0x42dbd3
42dbcf:	33 db                	xor    %ebx,%ebx
42dbd1:	eb 02                	jmp    0x42dbd5
42dbd3:	b3 01                	mov    $0x1,%bl
42dbd5:	88 5d 71             	mov    %bl,0x71(%ebp)
42dbd8:	84 db                	test   %bl,%bl
42dbda:	74 09                	je     0x42dbe5
42dbdc:	56                   	push   %esi
42dbdd:	e8 c6 98 fd ff       	call   0x4074a8
42dbe2:	89 45 10             	mov    %eax,0x10(%ebp)
42dbe5:	56                   	push   %esi
42dbe6:	6a 00                	push   $0x0
42dbe8:	e8 eb a0 fd ff       	call   0x407cd8
42dbed:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42dbf1:	75 04                	jne    0x42dbf7
42dbf3:	c6 47 30 01          	movb   $0x1,0x30(%edi)
42dbf7:	5d                   	pop    %ebp
42dbf8:	5f                   	pop    %edi
42dbf9:	5e                   	pop    %esi
42dbfa:	5b                   	pop    %ebx
42dbfb:	c3                   	ret
42dbfc:	55                   	push   %ebp
42dbfd:	8b ec                	mov    %esp,%ebp
42dbff:	83 c4 ac             	add    $0xffffffac,%esp
42dc02:	53                   	push   %ebx
42dc03:	56                   	push   %esi
42dc04:	8b d9                	mov    %ecx,%ebx
42dc06:	8b f0                	mov    %eax,%esi
42dc08:	66 83 fa 02          	cmp    $0x2,%dx
42dc0c:	75 04                	jne    0x42dc12
42dc0e:	85 db                	test   %ebx,%ebx
42dc10:	75 0a                	jne    0x42dc1c
42dc12:	a1 0c 70 6a 00       	mov    0x6a700c,%eax
42dc17:	e8 64 b3 ff ff       	call   0x428f80
42dc1c:	8b c6                	mov    %esi,%eax
42dc1e:	e8 11 fe ff ff       	call   0x42da34
42dc23:	8d 45 ac             	lea    -0x54(%ebp),%eax
42dc26:	33 c9                	xor    %ecx,%ecx
42dc28:	ba 54 00 00 00       	mov    $0x54,%edx