403a90:	2b d1                	sub    %ecx,%edx
403a92:	03 d2                	add    %edx,%edx
403a94:	03 d2                	add    %edx,%edx
403a96:	52                   	push   %edx
403a97:	e8 e1 1d 00 00       	call   0x40587d
403a9c:	83 c4 04             	add    $0x4,%esp
403a9f:	83 c4 10             	add    $0x10,%esp
403aa2:	c3                   	ret
403aa3:	83 c8 ff             	or     $0xffffffff,%eax
403aa6:	33 d2                	xor    %edx,%edx
403aa8:	f7 f1                	div    %ecx
403aaa:	83 f8 1c             	cmp    $0x1c,%eax
403aad:	73 da                	jae    0x403a89
403aaf:	8d 04 24             	lea    (%esp),%eax
403ab2:	50                   	push   %eax
403ab3:	8d 4c 24 08          	lea    0x8(%esp),%ecx
403ab7:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
403abe:	00
403abf:	e8 de 13 00 00       	call   0x404ea2
403ac4:	68 80 9c 42 00       	push   $0x429c80
403ac9:	8d 4c 24 08          	lea    0x8(%esp),%ecx
403acd:	51                   	push   %ecx
403ace:	c7 44 24 0c 08 a2 41 	movl   $0x41a208,0xc(%esp)
403ad5:	00
403ad6:	e8 d7 2b 00 00       	call   0x4066b2
403adb:	cc                   	int3
403adc:	cc                   	int3
403add:	cc                   	int3
403ade:	cc                   	int3
403adf:	cc                   	int3
403ae0:	8b 44 24 04          	mov    0x4(%esp),%eax
403ae4:	56                   	push   %esi
403ae5:	50                   	push   %eax
403ae6:	8b f1                	mov    %ecx,%esi
403ae8:	e8 73 d9 ff ff       	call   0x401460
403aed:	c7 06 38 a2 41 00    	movl   $0x41a238,(%esi)
403af3:	8b c6                	mov    %esi,%eax
403af5:	5e                   	pop    %esi
403af6:	c2 04 00             	ret    $0x4
403af9:	cc                   	int3
403afa:	cc                   	int3
403afb:	cc                   	int3
403afc:	cc                   	int3
403afd:	cc                   	int3
403afe:	cc                   	int3
403aff:	cc                   	int3
403b00:	55                   	push   %ebp
403b01:	8b ec                	mov    %esp,%ebp
403b03:	6a ff                	push   $0xffffffff
403b05:	68 c0 97 41 00       	push   $0x4197c0
403b0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403b10:	50                   	push   %eax
403b11:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
403b18:	83 ec 1c             	sub    $0x1c,%esp
403b1b:	8b 45 08             	mov    0x8(%ebp),%eax
403b1e:	53                   	push   %ebx
403b1f:	56                   	push   %esi
403b20:	8b f0                	mov    %eax,%esi
403b22:	57                   	push   %edi
403b23:	83 ce 0f             	or     $0xf,%esi
403b26:	8b f9                	mov    %ecx,%edi
403b28:	89 65 f0             	mov    %esp,-0x10(%ebp)
403b2b:	89 7d ec             	mov    %edi,-0x14(%ebp)
403b2e:	83 fe fe             	cmp    $0xfffffffe,%esi
403b31:	76 04                	jbe    0x403b37
403b33:	8b f0                	mov    %eax,%esi
403b35:	eb 22                	jmp    0x403b59
403b37:	8b 5f 18             	mov    0x18(%edi),%ebx
403b3a:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
403b3f:	f7 e6                	mul    %esi
403b41:	8b cb                	mov    %ebx,%ecx
403b43:	d1 e9                	shr    $1,%ecx
403b45:	d1 ea                	shr    $1,%edx
403b47:	3b d1                	cmp    %ecx,%edx
403b49:	73 0e                	jae    0x403b59
403b4b:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
403b50:	2b c1                	sub    %ecx,%eax
403b52:	3b d8                	cmp    %eax,%ebx
403b54:	77 03                	ja     0x403b59
403b56:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
403b59:	33 db                	xor    %ebx,%ebx
403b5b:	8d 4e 01             	lea    0x1(%esi),%ecx
403b5e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403b61:	3b cb                	cmp    %ebx,%ecx
403b63:	77 16                	ja     0x403b7b
403b65:	33 c9                	xor    %ecx,%ecx
403b67:	51                   	push   %ecx
403b68:	e8 10 1d 00 00       	call   0x40587d
403b6d:	83 c4 04             	add    $0x4,%esp
403b70:	8b d8                	mov    %eax,%ebx
403b72:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
403b79:	eb 60                	jmp    0x403bdb
403b7b:	83 c8 ff             	or     $0xffffffff,%eax
403b7e:	33 d2                	xor    %edx,%edx
403b80:	f7 f1                	div    %ecx
403b82:	83 f8 01             	cmp    $0x1,%eax
403b85:	73 e0                	jae    0x403b67
403b87:	8d 4d e8             	lea    -0x18(%ebp),%ecx
403b8a:	51                   	push   %ecx
403b8b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403b8e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
403b91:	e8 0c 13 00 00       	call   0x404ea2
403b96:	68 80 9c 42 00       	push   $0x429c80
403b9b:	8d 55 d8             	lea    -0x28(%ebp),%edx
403b9e:	52                   	push   %edx
403b9f:	c7 45 d8 08 a2 41 00 	movl   $0x41a208,-0x28(%ebp)
403ba6:	e8 07 2b 00 00       	call   0x4066b2
403bab:	8b 45 08             	mov    0x8(%ebp),%eax
403bae:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403bb1:	89 45 08             	mov    %eax,0x8(%ebp)
403bb4:	40                   	inc    %eax
403bb5:	89 65 f0             	mov    %esp,-0x10(%ebp)
403bb8:	50                   	push   %eax
403bb9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
403bbd:	e8 be 00 00 00       	call   0x403c80
403bc2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403bc5:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
403bcc:	b8 d2 3b 40 00       	mov    $0x403bd2,%eax
403bd1:	c3                   	ret
403bd2:	8b 7d ec             	mov    -0x14(%ebp),%edi
403bd5:	8b 75 08             	mov    0x8(%ebp),%esi
403bd8:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
403bdb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403bde:	85 c9                	test   %ecx,%ecx
403be0:	76 20                	jbe    0x403c02
403be2:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
403be6:	72 05                	jb     0x403bed
403be8:	8b 47 04             	mov    0x4(%edi),%eax
403beb:	eb 03                	jmp    0x403bf0
403bed:	8d 47 04             	lea    0x4(%edi),%eax
403bf0:	51                   	push   %ecx
403bf1:	50                   	push   %eax
403bf2:	8d 46 01             	lea    0x1(%esi),%eax
403bf5:	50                   	push   %eax
403bf6:	53                   	push   %ebx
403bf7:	e8 9a 18 00 00       	call   0x405496
403bfc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403bff:	83 c4 10             	add    $0x10,%esp
403c02:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
403c06:	72 0f                	jb     0x403c17
403c08:	8b 4f 04             	mov    0x4(%edi),%ecx
403c0b:	51                   	push   %ecx
403c0c:	e8 25 17 00 00       	call   0x405336
403c11:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403c14:	83 c4 04             	add    $0x4,%esp
403c17:	8d 47 04             	lea    0x4(%edi),%eax
403c1a:	c6 00 00             	movb   $0x0,(%eax)
403c1d:	89 18                	mov    %ebx,(%eax)
403c1f:	89 77 18             	mov    %esi,0x18(%edi)
403c22:	89 4f 14             	mov    %ecx,0x14(%edi)
403c25:	83 fe 10             	cmp    $0x10,%esi
403c28:	72 02                	jb     0x403c2c
403c2a:	8b c3                	mov    %ebx,%eax
403c2c:	5f                   	pop    %edi
403c2d:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
403c31:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403c34:	5e                   	pop    %esi
403c35:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403c3c:	5b                   	pop    %ebx
403c3d:	8b e5                	mov    %ebp,%esp
403c3f:	5d                   	pop    %ebp
403c40:	c2 08 00             	ret    $0x8
403c43:	8b 75 ec             	mov    -0x14(%ebp),%esi
403c46:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
403c4a:	72 0c                	jb     0x403c58
403c4c:	8b 56 04             	mov    0x4(%esi),%edx
403c4f:	52                   	push   %edx
403c50:	e8 e1 16 00 00       	call   0x405336
403c55:	83 c4 04             	add    $0x4,%esp
403c58:	6a 00                	push   $0x0
403c5a:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
403c61:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
403c68:	6a 00                	push   $0x0
403c6a:	c6 46 04 00          	movb   $0x0,0x4(%esi)
403c6e:	e8 3f 2a 00 00       	call   0x4066b2
403c73:	cc                   	int3
403c74:	cc                   	int3
403c75:	cc                   	int3
403c76:	cc                   	int3
403c77:	cc                   	int3
403c78:	cc                   	int3
403c79:	cc                   	int3
403c7a:	cc                   	int3
403c7b:	cc                   	int3
403c7c:	cc                   	int3
403c7d:	cc                   	int3
403c7e:	cc                   	int3
403c7f:	cc                   	int3
403c80:	8b 4c 24 04          	mov    0x4(%esp),%ecx
403c84:	83 ec 0c             	sub    $0xc,%esp
403c87:	85 c9                	test   %ecx,%ecx
403c89:	77 11                	ja     0x403c9c
403c8b:	33 c9                	xor    %ecx,%ecx
403c8d:	51                   	push   %ecx
403c8e:	e8 ea 1b 00 00       	call   0x40587d
403c93:	83 c4 04             	add    $0x4,%esp
403c96:	83 c4 0c             	add    $0xc,%esp
403c99:	c2 04 00             	ret    $0x4
403c9c:	83 c8 ff             	or     $0xffffffff,%eax
403c9f:	33 d2                	xor    %edx,%edx
403ca1:	f7 f1                	div    %ecx
403ca3:	83 f8 01             	cmp    $0x1,%eax
403ca6:	73 e5                	jae    0x403c8d
403ca8:	8d 44 24 10          	lea    0x10(%esp),%eax
403cac:	50                   	push   %eax
403cad:	8d 4c 24 04          	lea    0x4(%esp),%ecx
403cb1:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
403cb8:	00
403cb9:	e8 e4 11 00 00       	call   0x404ea2
403cbe:	68 80 9c 42 00       	push   $0x429c80
403cc3:	8d 4c 24 04          	lea    0x4(%esp),%ecx
403cc7:	51                   	push   %ecx
403cc8:	c7 44 24 08 08 a2 41 	movl   $0x41a208,0x8(%esp)
403ccf:	00
403cd0:	e8 dd 29 00 00       	call   0x4066b2
403cd5:	cc                   	int3
403cd6:	cc                   	int3
403cd7:	cc                   	int3
403cd8:	cc                   	int3
403cd9:	cc                   	int3
403cda:	cc                   	int3
403cdb:	cc                   	int3
403cdc:	cc                   	int3
403cdd:	cc                   	int3
403cde:	cc                   	int3
403cdf:	cc                   	int3
403ce0:	6a ff                	push   $0xffffffff
403ce2:	68 68 99 41 00       	push   $0x419968
403ce7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403ced:	50                   	push   %eax
403cee:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
403cf5:	83 ec 08             	sub    $0x8,%esp
403cf8:	8b 44 24 18          	mov    0x18(%esp),%eax
403cfc:	53                   	push   %ebx
403cfd:	56                   	push   %esi
403cfe:	57                   	push   %edi
403cff:	8d 7c 24 24          	lea    0x24(%esp),%edi
403d03:	e8 08 df ff ff       	call   0x401c10
403d08:	8b f8                	mov    %eax,%edi
403d0a:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
403d11:	00
403d12:	e8 79 00 00 00       	call   0x403d90
403d17:	c7 44 24 1c ff ff ff 	movl   $0xffffffff,0x1c(%esp)
403d1e:	ff
403d1f:	8b 7c 24 24          	mov    0x24(%esp),%edi
403d23:	8b d8                	mov    %eax,%ebx
403d25:	85 ff                	test   %edi,%edi
403d27:	74 3d                	je     0x403d66
403d29:	6a 00                	push   $0x0
403d2b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
403d2f:	e8 da 09 00 00       	call   0x40470e
403d34:	8b 47 04             	mov    0x4(%edi),%eax
403d37:	85 c0                	test   %eax,%eax
403d39:	76 09                	jbe    0x403d44
403d3b:	83 f8 ff             	cmp    $0xffffffff,%eax
403d3e:	73 04                	jae    0x403d44
403d40:	48                   	dec    %eax
403d41:	89 47 04             	mov    %eax,0x4(%edi)
403d44:	8b 77 04             	mov    0x4(%edi),%esi
403d47:	f7 de                	neg    %esi
403d49:	1b f6                	sbb    %esi,%esi
403d4b:	f7 d6                	not    %esi
403d4d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403d51:	23 f7                	and    %edi,%esi
403d53:	e8 de 09 00 00       	call   0x404736
403d58:	85 f6                	test   %esi,%esi
403d5a:	74 0a                	je     0x403d66
403d5c:	8b 06                	mov    (%esi),%eax
403d5e:	8b 10                	mov    (%eax),%edx
403d60:	6a 01                	push   $0x1
403d62:	8b ce                	mov    %esi,%ecx
403d64:	ff d2                	call   *%edx
403d66:	8b 03                	mov    (%ebx),%eax
403d68:	8b 50 28             	mov    0x28(%eax),%edx
403d6b:	6a 20                	push   $0x20
403d6d:	8b cb                	mov    %ebx,%ecx
403d6f:	ff d2                	call   *%edx
403d71:	8b 4c 24 14          	mov    0x14(%esp),%ecx
403d75:	5f                   	pop    %edi
403d76:	5e                   	pop    %esi
403d77:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403d7e:	5b                   	pop    %ebx
403d7f:	83 c4 14             	add    $0x14,%esp
403d82:	c2 04 00             	ret    $0x4
403d85:	cc                   	int3
403d86:	cc                   	int3
403d87:	cc                   	int3
403d88:	cc                   	int3
403d89:	cc                   	int3
403d8a:	cc                   	int3
403d8b:	cc                   	int3
403d8c:	cc                   	int3
403d8d:	cc                   	int3
403d8e:	cc                   	int3
403d8f:	cc                   	int3
403d90:	6a ff                	push   $0xffffffff
403d92:	68 48 99 41 00       	push   $0x419948
403d97:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403d9d:	50                   	push   %eax
403d9e:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
403da5:	83 ec 18             	sub    $0x18,%esp
403da8:	53                   	push   %ebx
403da9:	56                   	push   %esi
403daa:	6a 00                	push   $0x0
403dac:	8d 4c 24 14          	lea    0x14(%esp),%ecx
403db0:	e8 59 09 00 00       	call   0x40470e
403db5:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
403dbc:	00
403dbd:	83 3d 18 06 43 00 00 	cmpl   $0x0,0x430618
403dc4:	8b 1d 24 12 c7 00    	mov    0xc71224,%ebx
403dca:	89 5c 24 08          	mov    %ebx,0x8(%esp)
403dce:	75 2d                	jne    0x403dfd
403dd0:	6a 00                	push   $0x0
403dd2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403dd6:	e8 33 09 00 00       	call   0x40470e
403ddb:	83 3d 18 06 43 00 00 	cmpl   $0x0,0x430618
403de2:	75 10                	jne    0x403df4
403de4:	a1 0c 06 43 00       	mov    0x43060c,%eax
403de9:	40                   	inc    %eax
403dea:	a3 0c 06 43 00       	mov    %eax,0x43060c
403def:	a3 18 06 43 00       	mov    %eax,0x430618
403df4:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
403df8:	e8 39 09 00 00       	call   0x404736
403dfd:	8b 35 18 06 43 00    	mov    0x430618,%esi
403e03:	8b 07                	mov    (%edi),%eax
403e05:	3b 70 0c             	cmp    0xc(%eax),%esi
403e08:	73 22                	jae    0x403e2c
403e0a:	8b 48 08             	mov    0x8(%eax),%ecx
403e0d:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
403e10:	85 c9                	test   %ecx,%ecx
403e12:	75 1c                	jne    0x403e30
403e14:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
403e18:	74 16                	je     0x403e30
403e1a:	e8 cd 05 00 00       	call   0x4043ec
403e1f:	3b 70 0c             	cmp    0xc(%eax),%esi
403e22:	73 12                	jae    0x403e36
403e24:	8b 50 08             	mov    0x8(%eax),%edx
403e27:	8b 34 b2             	mov    (%edx,%esi,4),%esi
403e2a:	eb 06                	jmp    0x403e32
403e2c:	33 c9                	xor    %ecx,%ecx
403e2e:	eb e4                	jmp    0x403e14
403e30:	8b f1                	mov    %ecx,%esi
403e32:	85 f6                	test   %esi,%esi
403e34:	75 6b                	jne    0x403ea1
403e36:	85 db                	test   %ebx,%ebx
403e38:	74 04                	je     0x403e3e
403e3a:	8b f3                	mov    %ebx,%esi
403e3c:	eb 63                	jmp    0x403ea1
403e3e:	8d 44 24 08          	lea    0x8(%esp),%eax
403e42:	57                   	push   %edi