422c6f:	e8 a6 eb fd ff       	call   0x40181a
422c74:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422c78:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
422c7f:	8b 45 08             	mov    0x8(%ebp),%eax
422c82:	e8 8c cd 01 00       	call   0x43fa13
422c87:	c2 04 00             	ret    $0x4
422c8a:	33 c0                	xor    %eax,%eax
422c8c:	33 d2                	xor    %edx,%edx
422c8e:	c3                   	ret
422c8f:	56                   	push   %esi
422c90:	8b f1                	mov    %ecx,%esi
422c92:	33 c9                	xor    %ecx,%ecx
422c94:	8b 46 1c             	mov    0x1c(%esi),%eax
422c97:	39 08                	cmp    %ecx,(%eax)
422c99:	74 05                	je     0x422ca0
422c9b:	8b 46 2c             	mov    0x2c(%esi),%eax
422c9e:	8b 08                	mov    (%eax),%ecx
422ca0:	83 f9 01             	cmp    $0x1,%ecx
422ca3:	7e 14                	jle    0x422cb9
422ca5:	8b 46 2c             	mov    0x2c(%esi),%eax
422ca8:	ff 08                	decl   (%eax)
422caa:	8b 46 1c             	mov    0x1c(%esi),%eax
422cad:	8b 08                	mov    (%eax),%ecx
422caf:	83 c1 02             	add    $0x2,%ecx
422cb2:	89 08                	mov    %ecx,(%eax)
422cb4:	0f b7 09             	movzwl (%ecx),%ecx
422cb7:	eb 1b                	jmp    0x422cd4
422cb9:	8b ce                	mov    %esi,%ecx
422cbb:	e8 c8 fc ff ff       	call   0x422988
422cc0:	b9 ff ff 00 00       	mov    $0xffff,%ecx
422cc5:	66 3b c8             	cmp    %ax,%cx
422cc8:	74 0a                	je     0x422cd4
422cca:	8b ce                	mov    %esi,%ecx
422ccc:	e8 67 ff ff ff       	call   0x422c38
422cd1:	0f b7 c8             	movzwl %ax,%ecx
422cd4:	66 8b c1             	mov    %cx,%ax
422cd7:	5e                   	pop    %esi
422cd8:	c3                   	ret
422cd9:	55                   	push   %ebp
422cda:	8b ec                	mov    %esp,%ebp
422cdc:	8b 41 20             	mov    0x20(%ecx),%eax
422cdf:	33 d2                	xor    %edx,%edx
422ce1:	39 10                	cmp    %edx,(%eax)
422ce3:	74 05                	je     0x422cea
422ce5:	8b 41 30             	mov    0x30(%ecx),%eax
422ce8:	8b 10                	mov    (%eax),%edx
422cea:	85 d2                	test   %edx,%edx
422cec:	7e 17                	jle    0x422d05
422cee:	8b 41 30             	mov    0x30(%ecx),%eax
422cf1:	ff 08                	decl   (%eax)
422cf3:	8b 49 20             	mov    0x20(%ecx),%ecx
422cf6:	8b 11                	mov    (%ecx),%edx
422cf8:	8d 42 02             	lea    0x2(%edx),%eax
422cfb:	89 01                	mov    %eax,(%ecx)
422cfd:	8b 45 08             	mov    0x8(%ebp),%eax
422d00:	66 89 02             	mov    %ax,(%edx)
422d03:	eb 08                	jmp    0x422d0d
422d05:	8b 01                	mov    (%ecx),%eax
422d07:	ff 75 08             	push   0x8(%ebp)
422d0a:	ff 50 0c             	call   *0xc(%eax)
422d0d:	0f b7 c0             	movzwl %ax,%eax
422d10:	5d                   	pop    %ebp
422d11:	c2 04 00             	ret    $0x4
422d14:	6a 04                	push   $0x4
422d16:	b8 01 02 49 00       	mov    $0x490201,%eax
422d1b:	e8 2a cd 01 00       	call   0x43fa4a
422d20:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
422d24:	8b 41 04             	mov    0x4(%ecx),%eax
422d27:	8b 4d 08             	mov    0x8(%ebp),%ecx
422d2a:	ff 70 08             	push   0x8(%eax)
422d2d:	ff 70 04             	push   0x4(%eax)
422d30:	e8 b4 85 fe ff       	call   0x40b2e9
422d35:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422d39:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
422d40:	8b 45 08             	mov    0x8(%ebp),%eax
422d43:	e8 cb cc 01 00       	call   0x43fa13
422d48:	c2 04 00             	ret    $0x4
422d4b:	6a 04                	push   $0x4
422d4d:	b8 35 02 49 00       	mov    $0x490235,%eax
422d52:	e8 f3 cc 01 00       	call   0x43fa4a
422d57:	8b f1                	mov    %ecx,%esi
422d59:	33 c9                	xor    %ecx,%ecx
422d5b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422d5e:	33 c0                	xor    %eax,%eax
422d60:	89 4d f0             	mov    %ecx,-0x10(%ebp)
422d63:	8b 7d 08             	mov    0x8(%ebp),%edi
422d66:	89 4f 10             	mov    %ecx,0x10(%edi)
422d69:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
422d70:	66 89 07             	mov    %ax,(%edi)
422d73:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422d76:	f6 46 3c 02          	testb  $0x2,0x3c(%esi)
422d7a:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
422d81:	75 1c                	jne    0x422d9f
422d83:	8b 46 20             	mov    0x20(%esi),%eax
422d86:	8b 08                	mov    (%eax),%ecx
422d88:	85 c9                	test   %ecx,%ecx
422d8a:	74 13                	je     0x422d9f
422d8c:	3b 4e 38             	cmp    0x38(%esi),%ecx
422d8f:	8b 46 10             	mov    0x10(%esi),%eax
422d92:	0f 42 4e 38          	cmovb  0x38(%esi),%ecx
422d96:	2b 08                	sub    (%eax),%ecx
422d98:	d1 f9                	sar    $1,%ecx
422d9a:	51                   	push   %ecx
422d9b:	ff 30                	push   (%eax)
422d9d:	eb 23                	jmp    0x422dc2
422d9f:	f6 46 3c 04          	testb  $0x4,0x3c(%esi)
422da3:	75 24                	jne    0x422dc9
422da5:	8b 46 1c             	mov    0x1c(%esi),%eax
422da8:	8b 18                	mov    (%eax),%ebx
422daa:	85 db                	test   %ebx,%ebx
422dac:	74 1b                	je     0x422dc9
422dae:	8b 46 0c             	mov    0xc(%esi),%eax
422db1:	8b 10                	mov    (%eax),%edx
422db3:	8b 46 2c             	mov    0x2c(%esi),%eax
422db6:	8b 08                	mov    (%eax),%ecx
422db8:	03 c9                	add    %ecx,%ecx
422dba:	2b ca                	sub    %edx,%ecx
422dbc:	03 cb                	add    %ebx,%ecx
422dbe:	d1 f9                	sar    $1,%ecx
422dc0:	51                   	push   %ecx
422dc1:	52                   	push   %edx
422dc2:	8b cf                	mov    %edi,%ecx
422dc4:	e8 da ca ff ff       	call   0x41f8a3
422dc9:	8b c7                	mov    %edi,%eax
422dcb:	e8 43 cc 01 00       	call   0x43fa13
422dd0:	c2 04 00             	ret    $0x4
422dd3:	6a 04                	push   $0x4
422dd5:	b8 69 02 49 00       	mov    $0x490269,%eax
422dda:	e8 6b cc 01 00       	call   0x43fa4a
422ddf:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
422de3:	83 c1 18             	add    $0x18,%ecx
422de6:	ff 75 08             	push   0x8(%ebp)
422de9:	e8 5d ff ff ff       	call   0x422d4b
422dee:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422df2:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
422df9:	8b 45 08             	mov    0x8(%ebp),%eax
422dfc:	e8 12 cc 01 00       	call   0x43fa13
422e01:	c2 04 00             	ret    $0x4
422e04:	6a 10                	push   $0x10
422e06:	b8 9d 02 49 00       	mov    $0x49029d,%eax
422e0b:	e8 3a cc 01 00       	call   0x43fa4a
422e10:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
422e14:	8d 45 e4             	lea    -0x1c(%ebp),%eax
422e17:	50                   	push   %eax
422e18:	e8 75 65 ff ff       	call   0x419392
422e1d:	8b 4d 08             	mov    0x8(%ebp),%ecx
422e20:	8d 45 f3             	lea    -0xd(%ebp),%eax
422e23:	50                   	push   %eax
422e24:	ff 75 e8             	push   -0x18(%ebp)
422e27:	ff 75 e4             	push   -0x1c(%ebp)
422e2a:	e8 bc e8 fd ff       	call   0x4016eb
422e2f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422e33:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
422e3a:	8b 45 08             	mov    0x8(%ebp),%eax
422e3d:	e8 d1 cb 01 00       	call   0x43fa13
422e42:	c2 04 00             	ret    $0x4
422e45:	6a 04                	push   $0x4
422e47:	b8 d1 02 49 00       	mov    $0x4902d1,%eax
422e4c:	e8 f9 cb 01 00       	call   0x43fa4a
422e51:	ff 75 10             	push   0x10(%ebp)
422e54:	33 db                	xor    %ebx,%ebx
422e56:	ff 75 0c             	push   0xc(%ebp)
422e59:	89 5d f0             	mov    %ebx,-0x10(%ebp)
422e5c:	8b 75 08             	mov    0x8(%ebp),%esi
422e5f:	51                   	push   %ecx
422e60:	8b ce                	mov    %esi,%ecx
422e62:	89 5e 10             	mov    %ebx,0x10(%esi)
422e65:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
422e6c:	88 1e                	mov    %bl,(%esi)
422e6e:	e8 8e c8 ff ff       	call   0x41f701
422e73:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422e76:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
422e7d:	8b c6                	mov    %esi,%eax
422e7f:	e8 8f cb 01 00       	call   0x43fa13
422e84:	c2 0c 00             	ret    $0xc
422e87:	6a 08                	push   $0x8
422e89:	b8 05 03 49 00       	mov    $0x490305,%eax
422e8e:	e8 b7 cb 01 00       	call   0x43fa4a
422e93:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
422e97:	8d 45 f3             	lea    -0xd(%ebp),%eax
422e9a:	50                   	push   %eax
422e9b:	ff 75 10             	push   0x10(%ebp)
422e9e:	ff 75 0c             	push   0xc(%ebp)
422ea1:	51                   	push   %ecx
422ea2:	8b 4d 08             	mov    0x8(%ebp),%ecx
422ea5:	e8 89 84 fe ff       	call   0x40b333
422eaa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422eae:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
422eb5:	8b 45 08             	mov    0x8(%ebp),%eax
422eb8:	e8 56 cb 01 00       	call   0x43fa13
422ebd:	c2 0c 00             	ret    $0xc
422ec0:	33 c0                	xor    %eax,%eax
422ec2:	c3                   	ret
422ec3:	6a 44                	push   $0x44
422ec5:	b8 49 03 49 00       	mov    $0x490349,%eax
422eca:	e8 af cb 01 00       	call   0x43fa7e
422ecf:	8b f1                	mov    %ecx,%esi
422ed1:	33 c0                	xor    %eax,%eax
422ed3:	89 45 fc             	mov    %eax,-0x4(%ebp)
422ed6:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422ed9:	8b 7d 08             	mov    0x8(%ebp),%edi
422edc:	89 7d c8             	mov    %edi,-0x38(%ebp)
422edf:	50                   	push   %eax
422ee0:	89 45 cc             	mov    %eax,-0x34(%ebp)
422ee3:	e8 e3 24 00 00       	call   0x4253cb
422ee8:	33 db                	xor    %ebx,%ebx
422eea:	43                   	inc    %ebx
422eeb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422eee:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422ef1:	8b 06                	mov    (%esi),%eax
422ef3:	51                   	push   %ecx
422ef4:	8b ce                	mov    %esi,%ecx
422ef6:	ff 50 0c             	call   *0xc(%eax)
422ef9:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422efc:	e8 1e 25 00 00       	call   0x42541f
422f01:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
422f05:	8d 45 b0             	lea    -0x50(%ebp),%eax
422f08:	50                   	push   %eax
422f09:	57                   	push   %edi
422f0a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422f0d:	e8 13 25 00 00       	call   0x425425
422f12:	89 5d cc             	mov    %ebx,-0x34(%ebp)
422f15:	88 5d fc             	mov    %bl,-0x4(%ebp)
422f18:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422f1b:	e8 34 ba fe ff       	call   0x40e954
422f20:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
422f24:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422f27:	e8 b1 24 00 00       	call   0x4253dd
422f2c:	8b c7                	mov    %edi,%eax
422f2e:	e8 f5 ca 01 00       	call   0x43fa28
422f33:	c2 04 00             	ret    $0x4
422f36:	6a 44                	push   $0x44
422f38:	b8 97 03 49 00       	mov    $0x490397,%eax
422f3d:	e8 3c cb 01 00       	call   0x43fa7e
422f42:	8b f1                	mov    %ecx,%esi
422f44:	33 c0                	xor    %eax,%eax
422f46:	89 45 fc             	mov    %eax,-0x4(%ebp)
422f49:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422f4c:	8b 7d 08             	mov    0x8(%ebp),%edi
422f4f:	89 7d c8             	mov    %edi,-0x38(%ebp)
422f52:	50                   	push   %eax
422f53:	89 45 cc             	mov    %eax,-0x34(%ebp)
422f56:	e8 70 24 00 00       	call   0x4253cb
422f5b:	33 db                	xor    %ebx,%ebx
422f5d:	43                   	inc    %ebx
422f5e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422f61:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422f64:	8b 06                	mov    (%esi),%eax
422f66:	51                   	push   %ecx
422f67:	8b ce                	mov    %esi,%ecx
422f69:	ff 50 0c             	call   *0xc(%eax)
422f6c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422f6f:	e8 ab 24 00 00       	call   0x42541f
422f74:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
422f78:	8d 45 b0             	lea    -0x50(%ebp),%eax
422f7b:	50                   	push   %eax
422f7c:	57                   	push   %edi
422f7d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422f80:	e8 a0 24 00 00       	call   0x425425
422f85:	89 5d cc             	mov    %ebx,-0x34(%ebp)
422f88:	88 5d fc             	mov    %bl,-0x4(%ebp)
422f8b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422f8e:	e8 c1 b9 fe ff       	call   0x40e954
422f93:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
422f97:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422f9a:	e8 3e 24 00 00       	call   0x4253dd
422f9f:	8b c7                	mov    %edi,%eax
422fa1:	e8 82 ca 01 00       	call   0x43fa28
422fa6:	c2 04 00             	ret    $0x4
422fa9:	6a 44                	push   $0x44
422fab:	b8 e5 03 49 00       	mov    $0x4903e5,%eax
422fb0:	e8 c9 ca 01 00       	call   0x43fa7e
422fb5:	8b f1                	mov    %ecx,%esi
422fb7:	33 c0                	xor    %eax,%eax
422fb9:	89 45 fc             	mov    %eax,-0x4(%ebp)
422fbc:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422fbf:	8b 7d 08             	mov    0x8(%ebp),%edi
422fc2:	89 7d c8             	mov    %edi,-0x38(%ebp)
422fc5:	50                   	push   %eax
422fc6:	89 45 cc             	mov    %eax,-0x34(%ebp)
422fc9:	e8 fd 23 00 00       	call   0x4253cb
422fce:	33 db                	xor    %ebx,%ebx
422fd0:	43                   	inc    %ebx
422fd1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422fd4:	8d 4d b0             	lea    -0x50(%ebp),%ecx
422fd7:	8b 06                	mov    (%esi),%eax
422fd9:	51                   	push   %ecx
422fda:	8b ce                	mov    %esi,%ecx
422fdc:	ff 50 0c             	call   *0xc(%eax)
422fdf:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422fe2:	e8 38 24 00 00       	call   0x42541f
422fe7:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
422feb:	8d 45 b0             	lea    -0x50(%ebp),%eax
422fee:	50                   	push   %eax
422fef:	57                   	push   %edi
422ff0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
422ff3:	e8 2d 24 00 00       	call   0x425425
422ff8:	89 5d cc             	mov    %ebx,-0x34(%ebp)
422ffb:	88 5d fc             	mov    %bl,-0x4(%ebp)
422ffe:	8d 4d d0             	lea    -0x30(%ebp),%ecx
423001:	e8 4e b9 fe ff       	call   0x40e954
423006:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42300a:	8d 4d b0             	lea    -0x50(%ebp),%ecx
42300d:	e8 cb 23 00 00       	call   0x4253dd
423012:	8b c7                	mov    %edi,%eax
423014:	e8 0f ca 01 00       	call   0x43fa28
423019:	c2 04 00             	ret    $0x4
42301c:	6a 44                	push   $0x44
42301e:	b8 33 04 49 00       	mov    $0x490433,%eax
423023:	e8 56 ca 01 00       	call   0x43fa7e
423028:	8b f1                	mov    %ecx,%esi
42302a:	33 c0                	xor    %eax,%eax
42302c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42302f:	8d 4d b0             	lea    -0x50(%ebp),%ecx
423032:	8b 7d 08             	mov    0x8(%ebp),%edi
423035:	89 7d c8             	mov    %edi,-0x38(%ebp)
423038:	50                   	push   %eax
423039:	89 45 cc             	mov    %eax,-0x34(%ebp)
42303c:	e8 8a 23 00 00       	call   0x4253cb
423041:	33 db                	xor    %ebx,%ebx
423043:	43                   	inc    %ebx
423044:	89 5d fc             	mov    %ebx,-0x4(%ebp)
423047:	8d 4d b0             	lea    -0x50(%ebp),%ecx
42304a:	8b 06                	mov    (%esi),%eax
42304c:	51                   	push   %ecx
42304d:	8b ce                	mov    %esi,%ecx
42304f:	ff 50 0c             	call   *0xc(%eax)
423052:	8d 4d d0             	lea    -0x30(%ebp),%ecx
423055:	e8 c5 23 00 00       	call   0x42541f
42305a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42305e:	8d 45 b0             	lea    -0x50(%ebp),%eax
423061:	50                   	push   %eax
423062:	57                   	push   %edi
423063:	8d 4d d0             	lea    -0x30(%ebp),%ecx
423066:	e8 ba 23 00 00       	call   0x425425
42306b:	89 5d cc             	mov    %ebx,-0x34(%ebp)
42306e:	88 5d fc             	mov    %bl,-0x4(%ebp)
423071:	8d 4d d0             	lea    -0x30(%ebp),%ecx
423074:	e8 db b8 fe ff       	call   0x40e954
423079:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42307d:	8d 4d b0             	lea    -0x50(%ebp),%ecx
423080:	e8 58 23 00 00       	call   0x4253dd
423085:	8b c7                	mov    %edi,%eax
423087:	e8 9c c9 01 00       	call   0x43fa28
42308c:	c2 04 00             	ret    $0x4
42308f:	6a 44                	push   $0x44
423091:	b8 81 04 49 00       	mov    $0x490481,%eax
423096:	e8 e3 c9 01 00       	call   0x43fa7e
42309b:	8b f1                	mov    %ecx,%esi
42309d:	33 c0                	xor    %eax,%eax