422d68:	50                   	push   %eax
422d69:	e8 b2 f1 fd ff       	call   0x401f20
422d6e:	8b f0                	mov    %eax,%esi
422d70:	83 c4 10             	add    $0x10,%esp
422d73:	85 f6                	test   %esi,%esi
422d75:	79 0a                	jns    0x422d81
422d77:	68 70 cc 45 00       	push   $0x45cc70
422d7c:	e9 90 00 00 00       	jmp    0x422e11
422d81:	53                   	push   %ebx
422d82:	ff 75 fc             	push   -0x4(%ebp)
422d85:	57                   	push   %edi
422d86:	e8 7e f1 fd ff       	call   0x401f09
422d8b:	8b f0                	mov    %eax,%esi
422d8d:	85 f6                	test   %esi,%esi
422d8f:	0f 88 42 ff ff ff    	js     0x422cd7
422d95:	8b 45 e8             	mov    -0x18(%ebp),%eax
422d98:	85 c0                	test   %eax,%eax
422d9a:	74 34                	je     0x422dd0
422d9c:	53                   	push   %ebx
422d9d:	50                   	push   %eax
422d9e:	8d 45 fc             	lea    -0x4(%ebp),%eax
422da1:	68 94 cc 45 00       	push   $0x45cc94
422da6:	50                   	push   %eax
422da7:	e8 74 f1 fd ff       	call   0x401f20
422dac:	8b f0                	mov    %eax,%esi
422dae:	83 c4 10             	add    $0x10,%esp
422db1:	85 f6                	test   %esi,%esi
422db3:	79 07                	jns    0x422dbc
422db5:	68 b4 cc 45 00       	push   $0x45ccb4
422dba:	eb 55                	jmp    0x422e11
422dbc:	53                   	push   %ebx
422dbd:	ff 75 fc             	push   -0x4(%ebp)
422dc0:	57                   	push   %edi
422dc1:	e8 43 f1 fd ff       	call   0x401f09
422dc6:	8b f0                	mov    %eax,%esi
422dc8:	85 f6                	test   %esi,%esi
422dca:	0f 88 07 ff ff ff    	js     0x422cd7
422dd0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
422dd3:	85 c0                	test   %eax,%eax
422dd5:	74 42                	je     0x422e19
422dd7:	53                   	push   %ebx
422dd8:	50                   	push   %eax
422dd9:	8d 45 fc             	lea    -0x4(%ebp),%eax
422ddc:	68 d8 cc 45 00       	push   $0x45ccd8
422de1:	50                   	push   %eax
422de2:	e8 39 f1 fd ff       	call   0x401f20
422de7:	8b f0                	mov    %eax,%esi
422de9:	83 c4 10             	add    $0x10,%esp
422dec:	85 f6                	test   %esi,%esi
422dee:	79 07                	jns    0x422df7
422df0:	68 f4 cc 45 00       	push   $0x45ccf4
422df5:	eb 1a                	jmp    0x422e11
422df7:	53                   	push   %ebx
422df8:	ff 75 fc             	push   -0x4(%ebp)
422dfb:	57                   	push   %edi
422dfc:	e8 08 f1 fd ff       	call   0x401f09
422e01:	8b f0                	mov    %eax,%esi
422e03:	85 f6                	test   %esi,%esi
422e05:	79 12                	jns    0x422e19
422e07:	e9 cb fe ff ff       	jmp    0x422cd7
422e0c:	68 40 cb 45 00       	push   $0x45cb40
422e11:	56                   	push   %esi
422e12:	e8 18 d3 01 00       	call   0x44012f
422e17:	59                   	pop    %ecx
422e18:	59                   	pop    %ecx
422e19:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422e1d:	5f                   	pop    %edi
422e1e:	74 08                	je     0x422e28
422e20:	ff 75 fc             	push   -0x4(%ebp)
422e23:	e8 c7 26 02 00       	call   0x4454ef
422e28:	8b 45 f8             	mov    -0x8(%ebp),%eax
422e2b:	85 c0                	test   %eax,%eax
422e2d:	74 06                	je     0x422e35
422e2f:	50                   	push   %eax
422e30:	e8 ba 26 02 00       	call   0x4454ef
422e35:	8b 45 f4             	mov    -0xc(%ebp),%eax
422e38:	85 c0                	test   %eax,%eax
422e3a:	74 06                	je     0x422e42
422e3c:	50                   	push   %eax
422e3d:	e8 ad 26 02 00       	call   0x4454ef
422e42:	8b 45 f0             	mov    -0x10(%ebp),%eax
422e45:	85 c0                	test   %eax,%eax
422e47:	74 06                	je     0x422e4f
422e49:	50                   	push   %eax
422e4a:	e8 a0 26 02 00       	call   0x4454ef
422e4f:	8b 45 ec             	mov    -0x14(%ebp),%eax
422e52:	85 c0                	test   %eax,%eax
422e54:	74 06                	je     0x422e5c
422e56:	50                   	push   %eax
422e57:	e8 93 26 02 00       	call   0x4454ef
422e5c:	8b 45 e8             	mov    -0x18(%ebp),%eax
422e5f:	85 c0                	test   %eax,%eax
422e61:	74 06                	je     0x422e69
422e63:	50                   	push   %eax
422e64:	e8 86 26 02 00       	call   0x4454ef
422e69:	8b 45 e4             	mov    -0x1c(%ebp),%eax
422e6c:	85 c0                	test   %eax,%eax
422e6e:	74 06                	je     0x422e76
422e70:	50                   	push   %eax
422e71:	e8 79 26 02 00       	call   0x4454ef
422e76:	8b c6                	mov    %esi,%eax
422e78:	5e                   	pop    %esi
422e79:	5b                   	pop    %ebx
422e7a:	8b e5                	mov    %ebp,%esp
422e7c:	5d                   	pop    %ebp
422e7d:	c2 0c 00             	ret    $0xc
422e80:	55                   	push   %ebp
422e81:	8b ec                	mov    %esp,%ebp
422e83:	83 ec 0c             	sub    $0xc,%esp
422e86:	8b 4d 0c             	mov    0xc(%ebp),%ecx
422e89:	33 d2                	xor    %edx,%edx
422e8b:	89 55 f4             	mov    %edx,-0xc(%ebp)
422e8e:	89 55 f8             	mov    %edx,-0x8(%ebp)
422e91:	89 55 fc             	mov    %edx,-0x4(%ebp)
422e94:	56                   	push   %esi
422e95:	8b f2                	mov    %edx,%esi
422e97:	85 c9                	test   %ecx,%ecx
422e99:	0f 84 51 01 00 00    	je     0x422ff0
422e9f:	8b 45 08             	mov    0x8(%ebp),%eax
422ea2:	57                   	push   %edi
422ea3:	8b fa                	mov    %edx,%edi
422ea5:	39 90 d4 00 00 00    	cmp    %edx,0xd4(%eax)
422eab:	0f 86 3e 01 00 00    	jbe    0x422fef
422eb1:	53                   	push   %ebx
422eb2:	83 3c b9 01          	cmpl   $0x1,(%ecx,%edi,4)
422eb6:	8b 80 cc 00 00 00    	mov    0xcc(%eax),%eax
422ebc:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
422ebf:	0f 8e 85 00 00 00    	jle    0x422f4a
422ec5:	8d 45 f4             	lea    -0xc(%ebp),%eax
422ec8:	50                   	push   %eax
422ec9:	ff 73 24             	push   0x24(%ebx)
422ecc:	ff 73 14             	push   0x14(%ebx)
422ecf:	e8 b5 72 ff ff       	call   0x41a189
422ed4:	8b f0                	mov    %eax,%esi
422ed6:	85 f6                	test   %esi,%esi
422ed8:	0f 88 b4 00 00 00    	js     0x422f92
422ede:	8d 45 f8             	lea    -0x8(%ebp),%eax
422ee1:	50                   	push   %eax
422ee2:	8b 43 7c             	mov    0x7c(%ebx),%eax
422ee5:	8b 00                	mov    (%eax),%eax
422ee7:	ff 70 18             	push   0x18(%eax)
422eea:	ff 75 f4             	push   -0xc(%ebp)
422eed:	e8 87 fe fd ff       	call   0x402d79
422ef2:	8b f0                	mov    %eax,%esi
422ef4:	85 f6                	test   %esi,%esi
422ef6:	0f 88 8f 00 00 00    	js     0x422f8b
422efc:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422f00:	8d 45 fc             	lea    -0x4(%ebp),%eax
422f03:	6a 00                	push   $0x0
422f05:	75 1b                	jne    0x422f22
422f07:	68 60 cd 45 00       	push   $0x45cd60
422f0c:	50                   	push   %eax
422f0d:	e8 e0 ef fd ff       	call   0x401ef2
422f12:	8b f0                	mov    %eax,%esi
422f14:	85 f6                	test   %esi,%esi
422f16:	79 1b                	jns    0x422f33
422f18:	68 74 cd 45 00       	push   $0x45cd74
422f1d:	e9 9a 00 00 00       	jmp    0x422fbc
422f22:	68 c8 2b 45 00       	push   $0x452bc8
422f27:	50                   	push   %eax
422f28:	e8 c5 ef fd ff       	call   0x401ef2
422f2d:	8b f0                	mov    %eax,%esi
422f2f:	85 f6                	test   %esi,%esi
422f31:	78 51                	js     0x422f84
422f33:	6a 00                	push   $0x0
422f35:	ff 75 f8             	push   -0x8(%ebp)
422f38:	8d 45 fc             	lea    -0x4(%ebp),%eax
422f3b:	50                   	push   %eax
422f3c:	e8 b1 ef fd ff       	call   0x401ef2
422f41:	8b f0                	mov    %eax,%esi
422f43:	85 f6                	test   %esi,%esi
422f45:	78 36                	js     0x422f7d
422f47:	8b 4d 0c             	mov    0xc(%ebp),%ecx
422f4a:	8b 45 08             	mov    0x8(%ebp),%eax
422f4d:	47                   	inc    %edi
422f4e:	3b b8 d4 00 00 00    	cmp    0xd4(%eax),%edi
422f54:	0f 82 58 ff ff ff    	jb     0x422eb2
422f5a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422f5e:	74 64                	je     0x422fc4
422f60:	6a 00                	push   $0x0
422f62:	68 e4 b7 44 00       	push   $0x44b7e4
422f67:	8d 45 fc             	lea    -0x4(%ebp),%eax
422f6a:	50                   	push   %eax
422f6b:	e8 82 ef fd ff       	call   0x401ef2
422f70:	8b f0                	mov    %eax,%esi
422f72:	85 f6                	test   %esi,%esi
422f74:	79 2e                	jns    0x422fa4
422f76:	68 e4 cd 45 00       	push   $0x45cde4
422f7b:	eb 3f                	jmp    0x422fbc
422f7d:	68 c4 cd 45 00       	push   $0x45cdc4
422f82:	eb 38                	jmp    0x422fbc
422f84:	68 9c cd 45 00       	push   $0x45cd9c
422f89:	eb 31                	jmp    0x422fbc
422f8b:	68 44 cd 45 00       	push   $0x45cd44
422f90:	eb 2a                	jmp    0x422fbc
422f92:	ff 33                	push   (%ebx)
422f94:	68 14 cd 45 00       	push   $0x45cd14
422f99:	56                   	push   %esi
422f9a:	e8 90 d1 01 00       	call   0x44012f
422f9f:	83 c4 0c             	add    $0xc,%esp
422fa2:	eb 20                	jmp    0x422fc4
422fa4:	6a 00                	push   $0x0
422fa6:	ff 75 fc             	push   -0x4(%ebp)
422fa9:	ff 75 10             	push   0x10(%ebp)
422fac:	e8 58 ef fd ff       	call   0x401f09
422fb1:	8b f0                	mov    %eax,%esi
422fb3:	85 f6                	test   %esi,%esi
422fb5:	79 0d                	jns    0x422fc4
422fb7:	68 10 ce 45 00       	push   $0x45ce10
422fbc:	56                   	push   %esi
422fbd:	e8 6d d1 01 00       	call   0x44012f
422fc2:	59                   	pop    %ecx
422fc3:	59                   	pop    %ecx
422fc4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
422fc8:	5b                   	pop    %ebx
422fc9:	74 08                	je     0x422fd3
422fcb:	ff 75 f8             	push   -0x8(%ebp)
422fce:	e8 1c 25 02 00       	call   0x4454ef
422fd3:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
422fd7:	74 08                	je     0x422fe1
422fd9:	ff 75 f4             	push   -0xc(%ebp)
422fdc:	e8 0e 25 02 00       	call   0x4454ef
422fe1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
422fe5:	74 08                	je     0x422fef
422fe7:	ff 75 fc             	push   -0x4(%ebp)
422fea:	e8 00 25 02 00       	call   0x4454ef
422fef:	5f                   	pop    %edi
422ff0:	8b c6                	mov    %esi,%eax
422ff2:	5e                   	pop    %esi
422ff3:	8b e5                	mov    %ebp,%esp
422ff5:	5d                   	pop    %ebp
422ff6:	c2 0c 00             	ret    $0xc
422ff9:	55                   	push   %ebp
422ffa:	8b ec                	mov    %esp,%ebp
422ffc:	53                   	push   %ebx
422ffd:	56                   	push   %esi
422ffe:	8b 75 08             	mov    0x8(%ebp),%esi
423001:	33 c0                	xor    %eax,%eax
423003:	57                   	push   %edi
423004:	8b f8                	mov    %eax,%edi
423006:	c7 45 08 22 00 00 00 	movl   $0x22,0x8(%ebp)
42300d:	8b d0                	mov    %eax,%edx
42300f:	8b de                	mov    %esi,%ebx
423011:	0f b7 06             	movzwl (%esi),%eax
423014:	eb 16                	jmp    0x42302c
423016:	0f b7 c8             	movzwl %ax,%ecx
423019:	8d 5b 02             	lea    0x2(%ebx),%ebx
42301c:	47                   	inc    %edi
42301d:	8d 42 01             	lea    0x1(%edx),%eax
423020:	66 39 4d 08          	cmp    %cx,0x8(%ebp)
423024:	0f 45 c2             	cmovne %edx,%eax
423027:	8b d0                	mov    %eax,%edx
423029:	0f b7 03             	movzwl (%ebx),%eax
42302c:	66 85 c0             	test   %ax,%ax
42302f:	75 e5                	jne    0x423016
423031:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423034:	8d 47 01             	lea    0x1(%edi),%eax
423037:	03 c2                	add    %edx,%eax
423039:	50                   	push   %eax
42303a:	53                   	push   %ebx
42303b:	ff 75 10             	push   0x10(%ebp)
42303e:	e8 dc 51 fe ff       	call   0x40821f
423043:	8b f8                	mov    %eax,%edi
423045:	85 ff                	test   %edi,%edi
423047:	79 0f                	jns    0x423058
423049:	68 08 ea 44 00       	push   $0x44ea08
42304e:	57                   	push   %edi
42304f:	e8 db d0 01 00       	call   0x44012f
423054:	59                   	pop    %ecx
423055:	59                   	pop    %ecx
423056:	eb 2d                	jmp    0x423085
423058:	8b 0b                	mov    (%ebx),%ecx
42305a:	33 d2                	xor    %edx,%edx
42305c:	66 39 16             	cmp    %dx,(%esi)
42305f:	74 1f                	je     0x423080
423061:	6a 22                	push   $0x22
423063:	5b                   	pop    %ebx
423064:	0f b7 06             	movzwl (%esi),%eax
423067:	66 89 01             	mov    %ax,(%ecx)
42306a:	66 3b d8             	cmp    %ax,%bx
42306d:	75 06                	jne    0x423075
42306f:	83 c1 02             	add    $0x2,%ecx
423072:	66 89 19             	mov    %bx,(%ecx)
423075:	83 c6 02             	add    $0x2,%esi
423078:	83 c1 02             	add    $0x2,%ecx
42307b:	66 39 16             	cmp    %dx,(%esi)
42307e:	75 e4                	jne    0x423064
423080:	33 c0                	xor    %eax,%eax
423082:	66 89 01             	mov    %ax,(%ecx)
423085:	8b c7                	mov    %edi,%eax
423087:	5f                   	pop    %edi
423088:	5e                   	pop    %esi
423089:	5b                   	pop    %ebx
42308a:	5d                   	pop    %ebp
42308b:	c2 0c 00             	ret    $0xc
42308e:	55                   	push   %ebp
42308f:	8b ec                	mov    %esp,%ebp
423091:	51                   	push   %ecx
423092:	56                   	push   %esi
423093:	33 f6                	xor    %esi,%esi
423095:	89 75 fc             	mov    %esi,-0x4(%ebp)
423098:	39 75 0c             	cmp    %esi,0xc(%ebp)
42309b:	75 18                	jne    0x4230b5
42309d:	8b 45 10             	mov    0x10(%ebp),%eax
4230a0:	85 c0                	test   %eax,%eax
4230a2:	75 4d                	jne    0x4230f1
4230a4:	8b 45 14             	mov    0x14(%ebp),%eax
4230a7:	85 c0                	test   %eax,%eax
4230a9:	75 78                	jne    0x423123
4230ab:	8b 45 18             	mov    0x18(%ebp),%eax
4230ae:	89 30                	mov    %esi,(%eax)
4230b0:	e9 a2 00 00 00       	jmp    0x423157
4230b5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4230b8:	50                   	push   %eax
4230b9:	ff 75 0c             	push   0xc(%ebp)
4230bc:	ff 75 08             	push   0x8(%ebp)
4230bf:	e8 f0 66 fe ff       	call   0x4097b4
4230c4:	8b f0                	mov    %eax,%esi
4230c6:	85 f6                	test   %esi,%esi
4230c8:	79 0f                	jns    0x4230d9
4230ca:	68 a4 ca 45 00       	push   $0x45caa4
4230cf:	56                   	push   %esi
4230d0:	e8 5a d0 01 00       	call   0x44012f
4230d5:	59                   	pop    %ecx
4230d6:	59                   	pop    %ecx
4230d7:	eb 7e                	jmp    0x423157
4230d9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4230dd:	74 0b                	je     0x4230ea
4230df:	8b 45 18             	mov    0x18(%ebp),%eax
4230e2:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
4230e8:	eb 6d                	jmp    0x423157
4230ea:	8b 45 10             	mov    0x10(%ebp),%eax
4230ed:	85 c0                	test   %eax,%eax
4230ef:	74 2b                	je     0x42311c
4230f1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4230f4:	51                   	push   %ecx
4230f5:	50                   	push   %eax
4230f6:	ff 75 08             	push   0x8(%ebp)
4230f9:	e8 b6 66 fe ff       	call   0x4097b4
4230fe:	8b f0                	mov    %eax,%esi
423100:	85 f6                	test   %esi,%esi
423102:	79 07                	jns    0x42310b
423104:	68 cc ca 45 00       	push   $0x45cacc
423109:	eb c4                	jmp    0x4230cf
42310b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42310f:	74 0b                	je     0x42311c
423111:	8b 45 18             	mov    0x18(%ebp),%eax
423114:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
42311a:	eb 3b                	jmp    0x423157
42311c:	8b 45 14             	mov    0x14(%ebp),%eax