42e9a1:	75 5a                	jne    0x42e9fd
42e9a3:	8d 41 0c             	lea    0xc(%ecx),%eax
42e9a6:	ba 00 08 00 00       	mov    $0x800,%edx
42e9ab:	50                   	push   %eax
42e9ac:	8d 8d fc eb ff ff    	lea    -0x1404(%ebp),%ecx
42e9b2:	e8 67 96 ff ff       	call   0x42801e
42e9b7:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
42e9bd:	50                   	push   %eax
42e9be:	68 f8 6f 40 00       	push   $0x406ff8
42e9c3:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
42e9c9:	68 00 04 00 00       	push   $0x400
42e9ce:	50                   	push   %eax
42e9cf:	e8 79 e5 ff ff       	call   0x42cf4d
42e9d4:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
42e9da:	83 c4 10             	add    $0x10,%esp
42e9dd:	8d 51 01             	lea    0x1(%ecx),%edx
42e9e0:	8a 01                	mov    (%ecx),%al
42e9e2:	41                   	inc    %ecx
42e9e3:	84 c0                	test   %al,%al
42e9e5:	75 f9                	jne    0x42e9e0
42e9e7:	2b ca                	sub    %edx,%ecx
42e9e9:	8d 41 01             	lea    0x1(%ecx),%eax
42e9ec:	8b ce                	mov    %esi,%ecx
42e9ee:	50                   	push   %eax
42e9ef:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
42e9f5:	50                   	push   %eax
42e9f6:	e8 15 fa ff ff       	call   0x42e410
42e9fb:	8b 06                	mov    (%esi),%eax
42e9fd:	8d 48 04             	lea    0x4(%eax),%ecx
42ea00:	f7 d8                	neg    %eax
42ea02:	5e                   	pop    %esi
42ea03:	1b c0                	sbb    %eax,%eax
42ea05:	23 c1                	and    %ecx,%eax
42ea07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ea0a:	33 cd                	xor    %ebp,%ecx
42ea0c:	e8 af bd fe ff       	call   0x41a7c0
42ea11:	c9                   	leave
42ea12:	c3                   	ret
42ea13:	a1 58 8a 43 00       	mov    0x438a58,%eax
42ea18:	85 c0                	test   %eax,%eax
42ea1a:	75 10                	jne    0x42ea2c
42ea1c:	68 54 50 40 00       	push   $0x405054
42ea21:	ff 15 60 a1 43 00    	call   *0x43a160
42ea27:	a3 58 8a 43 00       	mov    %eax,0x438a58
42ea2c:	c3                   	ret
42ea2d:	8b ff                	mov    %edi,%edi
42ea2f:	55                   	push   %ebp
42ea30:	8b ec                	mov    %esp,%ebp
42ea32:	b8 20 10 00 00       	mov    $0x1020,%eax
42ea37:	e8 f4 f5 fe ff       	call   0x41e030
42ea3c:	a1 08 85 43 00       	mov    0x438508,%eax
42ea41:	33 c5                	xor    %ebp,%eax
42ea43:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ea46:	53                   	push   %ebx
42ea47:	8b d9                	mov    %ecx,%ebx
42ea49:	56                   	push   %esi
42ea4a:	6a 0c                	push   $0xc
42ea4c:	59                   	pop    %ecx
42ea4d:	8b 43 04             	mov    0x4(%ebx),%eax
42ea50:	33 f6                	xor    %esi,%esi
42ea52:	2b 03                	sub    (%ebx),%eax
42ea54:	89 9d f4 ef ff ff    	mov    %ebx,-0x100c(%ebp)
42ea5a:	89 8d ec ef ff ff    	mov    %ecx,-0x1014(%ebp)
42ea60:	3b c1                	cmp    %ecx,%eax
42ea62:	0f 82 46 01 00 00    	jb     0x42ebae
42ea68:	57                   	push   %edi
42ea69:	8b fe                	mov    %esi,%edi
42ea6b:	89 b5 f0 ef ff ff    	mov    %esi,-0x1010(%ebp)
42ea71:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
42ea77:	c7 85 f8 ef ff ff 00 	movl   $0x1000,-0x1008(%ebp)
42ea7e:	10 00 00
42ea81:	50                   	push   %eax
42ea82:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
42ea88:	50                   	push   %eax
42ea89:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
42ea8f:	50                   	push   %eax
42ea90:	51                   	push   %ecx
42ea91:	b9 08 79 40 00       	mov    $0x407908,%ecx
42ea96:	e8 ff da fe ff       	call   0x41c59a
42ea9b:	89 85 e0 ef ff ff    	mov    %eax,-0x1020(%ebp)
42eaa1:	85 c0                	test   %eax,%eax
42eaa3:	0f 85 e4 00 00 00    	jne    0x42eb8d
42eaa9:	8b 85 f8 ef ff ff    	mov    -0x1008(%ebp),%eax
42eaaf:	33 d2                	xor    %edx,%edx
42eab1:	6a 0c                	push   $0xc
42eab3:	59                   	pop    %ecx
42eab4:	f7 f1                	div    %ecx
42eab6:	8b 1b                	mov    (%ebx),%ebx
42eab8:	f7 da                	neg    %edx
42eaba:	1b f6                	sbb    %esi,%esi
42eabc:	33 d2                	xor    %edx,%edx
42eabe:	f7 d6                	not    %esi
42eac0:	23 b5 f8 ef ff ff    	and    -0x1008(%ebp),%esi
42eac6:	8b c6                	mov    %esi,%eax
42eac8:	89 b5 f8 ef ff ff    	mov    %esi,-0x1008(%ebp)
42eace:	f7 f1                	div    %ecx
42ead0:	33 d2                	xor    %edx,%edx
42ead2:	8b c8                	mov    %eax,%ecx
42ead4:	8b 85 f4 ef ff ff    	mov    -0x100c(%ebp),%eax
42eada:	8b 40 04             	mov    0x4(%eax),%eax
42eadd:	2b c3                	sub    %ebx,%eax
42eadf:	f7 b5 ec ef ff ff    	divl   -0x1014(%ebp)
42eae5:	6b c0 0c             	imul   $0xc,%eax,%eax
42eae8:	03 c3                	add    %ebx,%eax
42eaea:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
42eaf0:	3b d8                	cmp    %eax,%ebx
42eaf2:	74 70                	je     0x42eb64
42eaf4:	6b c1 0c             	imul   $0xc,%ecx,%eax
42eaf7:	8d 95 fc ef ff ff    	lea    -0x1004(%ebp),%edx
42eafd:	03 d0                	add    %eax,%edx
42eaff:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
42eb05:	3b c2                	cmp    %edx,%eax
42eb07:	74 1e                	je     0x42eb27
42eb09:	8b 3b                	mov    (%ebx),%edi
42eb0b:	8b c8                	mov    %eax,%ecx
42eb0d:	6a 0c                	push   $0xc
42eb0f:	58                   	pop    %eax
42eb10:	39 39                	cmp    %edi,(%ecx)
42eb12:	75 0d                	jne    0x42eb21
42eb14:	66 8b 41 04          	mov    0x4(%ecx),%ax
42eb18:	6a 0c                	push   $0xc
42eb1a:	66 3b 43 04          	cmp    0x4(%ebx),%ax
42eb1e:	74 27                	je     0x42eb47
42eb20:	58                   	pop    %eax
42eb21:	03 c8                	add    %eax,%ecx
42eb23:	3b ca                	cmp    %edx,%ecx
42eb25:	75 e9                	jne    0x42eb10
42eb27:	8d 46 0c             	lea    0xc(%esi),%eax
42eb2a:	6a 0c                	push   $0xc
42eb2c:	3d 00 10 00 00       	cmp    $0x1000,%eax
42eb31:	77 20                	ja     0x42eb53
42eb33:	8b fa                	mov    %edx,%edi
42eb35:	8b f3                	mov    %ebx,%esi
42eb37:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42eb38:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42eb39:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42eb3a:	8b f0                	mov    %eax,%esi
42eb3c:	58                   	pop    %eax
42eb3d:	89 b5 f8 ef ff ff    	mov    %esi,-0x1008(%ebp)
42eb43:	03 d0                	add    %eax,%edx
42eb45:	eb 0d                	jmp    0x42eb54
42eb47:	8b 43 08             	mov    0x8(%ebx),%eax
42eb4a:	01 41 08             	add    %eax,0x8(%ecx)
42eb4d:	8b b5 f8 ef ff ff    	mov    -0x1008(%ebp),%esi
42eb53:	58                   	pop    %eax
42eb54:	03 d8                	add    %eax,%ebx
42eb56:	3b 9d e8 ef ff ff    	cmp    -0x1018(%ebp),%ebx
42eb5c:	75 a1                	jne    0x42eaff
42eb5e:	8b bd f0 ef ff ff    	mov    -0x1010(%ebp),%edi
42eb64:	6a 01                	push   $0x1
42eb66:	ff b5 e4 ef ff ff    	push   -0x101c(%ebp)
42eb6c:	8d 95 fc ef ff ff    	lea    -0x1004(%ebp),%edx
42eb72:	51                   	push   %ecx
42eb73:	51                   	push   %ecx
42eb74:	56                   	push   %esi
42eb75:	b9 08 79 40 00       	mov    $0x407908,%ecx
42eb7a:	e8 70 da fe ff       	call   0x41c5ef
42eb7f:	8b 9d f4 ef ff ff    	mov    -0x100c(%ebp),%ebx
42eb85:	8b f0                	mov    %eax,%esi
42eb87:	8b 85 e0 ef ff ff    	mov    -0x1020(%ebp),%eax
42eb8d:	47                   	inc    %edi
42eb8e:	89 bd f0 ef ff ff    	mov    %edi,-0x1010(%ebp)
42eb94:	81 fe 01 00 00 c0    	cmp    $0xc0000001,%esi
42eb9a:	75 0d                	jne    0x42eba9
42eb9c:	83 ff 64             	cmp    $0x64,%edi
42eb9f:	7d 08                	jge    0x42eba9
42eba1:	85 c0                	test   %eax,%eax
42eba3:	0f 84 c8 fe ff ff    	je     0x42ea71
42eba9:	5f                   	pop    %edi
42ebaa:	85 c0                	test   %eax,%eax
42ebac:	75 02                	jne    0x42ebb0
42ebae:	8b c6                	mov    %esi,%eax
42ebb0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ebb3:	5e                   	pop    %esi
42ebb4:	33 cd                	xor    %ebp,%ecx
42ebb6:	5b                   	pop    %ebx
42ebb7:	e8 04 bc fe ff       	call   0x41a7c0
42ebbc:	c9                   	leave
42ebbd:	c3                   	ret
42ebbe:	8b ff                	mov    %edi,%edi
42ebc0:	55                   	push   %ebp
42ebc1:	8b ec                	mov    %esp,%ebp
42ebc3:	51                   	push   %ecx
42ebc4:	51                   	push   %ecx
42ebc5:	56                   	push   %esi
42ebc6:	8d 45 fc             	lea    -0x4(%ebp),%eax
42ebc9:	8b f1                	mov    %ecx,%esi
42ebcb:	50                   	push   %eax
42ebcc:	e8 56 91 fe ff       	call   0x417d27
42ebd1:	8b 46 18             	mov    0x18(%esi),%eax
42ebd4:	5e                   	pop    %esi
42ebd5:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
42ebdb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ebde:	85 c0                	test   %eax,%eax
42ebe0:	74 16                	je     0x42ebf8
42ebe2:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ebe5:	8d 55 fc             	lea    -0x4(%ebp),%edx
42ebe8:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42ebed:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42ebf0:	89 45 f8             	mov    %eax,-0x8(%ebp)
42ebf3:	e8 6c ca fe ff       	call   0x41b664
42ebf8:	c9                   	leave
42ebf9:	c3                   	ret
42ebfa:	cc                   	int3
42ebfb:	cc                   	int3
42ebfc:	cc                   	int3
42ebfd:	cc                   	int3
42ebfe:	cc                   	int3
42ebff:	cc                   	int3
42ec00:	8b ff                	mov    %edi,%edi
42ec02:	55                   	push   %ebp
42ec03:	8b ec                	mov    %esp,%ebp
42ec05:	56                   	push   %esi
42ec06:	8b 75 28             	mov    0x28(%ebp),%esi
42ec09:	85 f6                	test   %esi,%esi
42ec0b:	0f 84 f6 00 00 00    	je     0x42ed07
42ec11:	8b 45 0c             	mov    0xc(%ebp),%eax
42ec14:	33 c9                	xor    %ecx,%ecx
42ec16:	2b c1                	sub    %ecx,%eax
42ec18:	0f 84 b2 00 00 00    	je     0x42ecd0
42ec1e:	83 e8 01             	sub    $0x1,%eax
42ec21:	0f 85 e0 00 00 00    	jne    0x42ed07
42ec27:	8a 45 10             	mov    0x10(%ebp),%al
42ec2a:	8b d1                	mov    %ecx,%edx
42ec2c:	88 46 28             	mov    %al,0x28(%esi)
42ec2f:	8b 45 14             	mov    0x14(%ebp),%eax
42ec32:	89 46 10             	mov    %eax,0x10(%esi)
42ec35:	8b 45 18             	mov    0x18(%ebp),%eax
42ec38:	89 46 14             	mov    %eax,0x14(%esi)
42ec3b:	8b 45 1c             	mov    0x1c(%ebp),%eax
42ec3e:	89 46 18             	mov    %eax,0x18(%esi)
42ec41:	8b 45 20             	mov    0x20(%ebp),%eax
42ec44:	89 46 1c             	mov    %eax,0x1c(%esi)
42ec47:	33 c0                	xor    %eax,%eax
42ec49:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
42ec50:	66 3b 46 2a          	cmp    0x2a(%esi),%ax
42ec54:	0f 83 ad 00 00 00    	jae    0x42ed07
42ec5a:	53                   	push   %ebx
42ec5b:	57                   	push   %edi
42ec5c:	8b 46 34             	mov    0x34(%esi),%eax
42ec5f:	8a 4e 28             	mov    0x28(%esi),%cl
42ec62:	38 0c 02             	cmp    %cl,(%edx,%eax,1)
42ec65:	76 04                	jbe    0x42ec6b
42ec67:	84 c9                	test   %cl,%cl
42ec69:	75 32                	jne    0x42ec9d
42ec6b:	8b 46 30             	mov    0x30(%esi),%eax
42ec6e:	8b 3c d0             	mov    (%eax,%edx,8),%edi
42ec71:	8b 5c d0 04          	mov    0x4(%eax,%edx,8),%ebx
42ec75:	8b c7                	mov    %edi,%eax
42ec77:	0b c3                	or     %ebx,%eax
42ec79:	74 26                	je     0x42eca1
42ec7b:	8b cf                	mov    %edi,%ecx
42ec7d:	8b c3                	mov    %ebx,%eax
42ec7f:	23 4e 10             	and    0x10(%esi),%ecx
42ec82:	23 46 14             	and    0x14(%esi),%eax
42ec85:	0b c8                	or     %eax,%ecx
42ec87:	74 14                	je     0x42ec9d
42ec89:	8b 46 18             	mov    0x18(%esi),%eax
42ec8c:	8b 4e 1c             	mov    0x1c(%esi),%ecx
42ec8f:	23 c7                	and    %edi,%eax
42ec91:	23 cb                	and    %ebx,%ecx
42ec93:	3b 46 18             	cmp    0x18(%esi),%eax
42ec96:	75 05                	jne    0x42ec9d
42ec98:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
42ec9b:	74 04                	je     0x42eca1
42ec9d:	32 db                	xor    %bl,%bl
42ec9f:	eb 02                	jmp    0x42eca3
42eca1:	b3 01                	mov    $0x1,%bl
42eca3:	8b 46 2c             	mov    0x2c(%esi),%eax
42eca6:	8b ca                	mov    %edx,%ecx
42eca8:	c1 e9 05             	shr    $0x5,%ecx
42ecab:	8b fa                	mov    %edx,%edi
42ecad:	83 e7 1f             	and    $0x1f,%edi
42ecb0:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
42ecb3:	8b 01                	mov    (%ecx),%eax
42ecb5:	84 db                	test   %bl,%bl
42ecb7:	74 05                	je     0x42ecbe
42ecb9:	0f ab f8             	bts    %edi,%eax
42ecbc:	eb 03                	jmp    0x42ecc1
42ecbe:	0f b3 f8             	btr    %edi,%eax
42ecc1:	89 01                	mov    %eax,(%ecx)
42ecc3:	42                   	inc    %edx
42ecc4:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
42ecc8:	3b d0                	cmp    %eax,%edx
42ecca:	72 90                	jb     0x42ec5c
42eccc:	5f                   	pop    %edi
42eccd:	5b                   	pop    %ebx
42ecce:	eb 37                	jmp    0x42ed07
42ecd0:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
42ecd4:	89 4e 24             	mov    %ecx,0x24(%esi)
42ecd7:	88 4e 28             	mov    %cl,0x28(%esi)
42ecda:	89 4e 10             	mov    %ecx,0x10(%esi)
42ecdd:	89 4e 14             	mov    %ecx,0x14(%esi)
42ece0:	89 4e 18             	mov    %ecx,0x18(%esi)
42ece3:	89 4e 1c             	mov    %ecx,0x1c(%esi)
42ece6:	66 85 c0             	test   %ax,%ax
42ece9:	74 1c                	je     0x42ed07
42eceb:	48                   	dec    %eax
42ecec:	6a 20                	push   $0x20
42ecee:	59                   	pop    %ecx
42ecef:	99                   	cltd
42ecf0:	f7 f9                	idiv   %ecx
42ecf2:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
42ecf9:	50                   	push   %eax
42ecfa:	6a 00                	push   $0x0
42ecfc:	ff 76 2c             	push   0x2c(%esi)
42ecff:	e8 5d f3 fe ff       	call   0x41e061
42ed04:	83 c4 0c             	add    $0xc,%esp
42ed07:	5e                   	pop    %esi
42ed08:	5d                   	pop    %ebp
42ed09:	c2 24 00             	ret    $0x24
42ed0c:	8b 0d 00 80 43 00    	mov    0x438000,%ecx
42ed12:	8b c1                	mov    %ecx,%eax
42ed14:	8b 15 04 80 43 00    	mov    0x438004,%edx
42ed1a:	0b c2                	or     %edx,%eax
42ed1c:	75 01                	jne    0x42ed1f
42ed1e:	c3                   	ret
42ed1f:	52                   	push   %edx
42ed20:	51                   	push   %ecx
42ed21:	ff 15 64 a3 43 00    	call   *0x43a364
42ed27:	83 25 00 80 43 00 00 	andl   $0x0,0x438000
42ed2e:	83 25 04 80 43 00 00 	andl   $0x0,0x438004
42ed35:	c3                   	ret
42ed36:	8b ff                	mov    %edi,%edi
42ed38:	55                   	push   %ebp
42ed39:	8b ec                	mov    %esp,%ebp
42ed3b:	8b 4d 10             	mov    0x10(%ebp),%ecx
42ed3e:	33 c0                	xor    %eax,%eax
42ed40:	56                   	push   %esi
42ed41:	8b 35 08 80 43 00    	mov    0x438008,%esi
42ed47:	57                   	push   %edi
42ed48:	89 41 04             	mov    %eax,0x4(%ecx)
42ed4b:	8b fa                	mov    %edx,%edi
42ed4d:	85 f6                	test   %esi,%esi
42ed4f:	75 08                	jne    0x42ed59
42ed51:	89 01                	mov    %eax,(%ecx)
42ed53:	8b d0                	mov    %eax,%edx
42ed55:	8b f0                	mov    %eax,%esi
42ed57:	eb 08                	jmp    0x42ed61
42ed59:	6a 02                	push   $0x2
42ed5b:	89 31                	mov    %esi,(%ecx)
42ed5d:	0f b7 36             	movzwl (%esi),%esi
42ed60:	5a                   	pop    %edx
42ed61:	51                   	push   %ecx
42ed62:	ff 75 0c             	push   0xc(%ebp)
42ed65:	89 71 08             	mov    %esi,0x8(%ecx)
42ed68:	50                   	push   %eax
42ed69:	50                   	push   %eax
42ed6a:	57                   	push   %edi
42ed6b:	89 51 0c             	mov    %edx,0xc(%ecx)