46facf:	8b f2                	mov    %edx,%esi
46fad1:	57                   	push   %edi
46fad2:	33 ff                	xor    %edi,%edi
46fad4:	eb 0e                	jmp    0x46fae4
46fad6:	39 58 0c             	cmp    %ebx,0xc(%eax)
46fad9:	73 05                	jae    0x46fae0
46fadb:	8b 40 08             	mov    0x8(%eax),%eax
46fade:	eb 04                	jmp    0x46fae4
46fae0:	8b c8                	mov    %eax,%ecx
46fae2:	8b 00                	mov    (%eax),%eax
46fae4:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
46fae8:	74 ec                	je     0x46fad6
46faea:	3b ce                	cmp    %esi,%ecx
46faec:	74 05                	je     0x46faf3
46faee:	3b 59 0c             	cmp    0xc(%ecx),%ebx
46faf1:	73 02                	jae    0x46faf5
46faf3:	8b ca                	mov    %edx,%ecx
46faf5:	3b ca                	cmp    %edx,%ecx
46faf7:	74 03                	je     0x46fafc
46faf9:	8b 79 10             	mov    0x10(%ecx),%edi
46fafc:	8b c7                	mov    %edi,%eax
46fafe:	5f                   	pop    %edi
46faff:	5e                   	pop    %esi
46fb00:	5b                   	pop    %ebx
46fb01:	5d                   	pop    %ebp
46fb02:	c2 04 00             	ret    $0x4
46fb05:	cc                   	int3
46fb06:	cc                   	int3
46fb07:	cc                   	int3
46fb08:	cc                   	int3
46fb09:	cc                   	int3
46fb0a:	cc                   	int3
46fb0b:	cc                   	int3
46fb0c:	cc                   	int3
46fb0d:	cc                   	int3
46fb0e:	cc                   	int3
46fb0f:	cc                   	int3
46fb10:	b8 cc 5d 40 00       	mov    $0x405dcc,%eax
46fb15:	c3                   	ret
46fb16:	cc                   	int3
46fb17:	cc                   	int3
46fb18:	cc                   	int3
46fb19:	cc                   	int3
46fb1a:	cc                   	int3
46fb1b:	cc                   	int3
46fb1c:	cc                   	int3
46fb1d:	cc                   	int3
46fb1e:	cc                   	int3
46fb1f:	cc                   	int3
46fb20:	68 50 01 00 00       	push   $0x150
46fb25:	b8 6a 5a 49 00       	mov    $0x495a6a,%eax
46fb2a:	e8 43 0a 02 00       	call   0x490572
46fb2f:	8b 45 18             	mov    0x18(%ebp),%eax
46fb32:	8b 4d 14             	mov    0x14(%ebp),%ecx
46fb35:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46fb38:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
46fb3e:	8b 45 08             	mov    0x8(%ebp),%eax
46fb41:	83 c0 e0             	add    $0xffffffe0,%eax
46fb44:	89 8d 2c ff ff ff    	mov    %ecx,-0xd4(%ebp)
46fb4a:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
46fb50:	89 9d 20 ff ff ff    	mov    %ebx,-0xe0(%ebp)
46fb56:	c7 85 30 ff ff ff 05 	movl   $0x80004005,-0xd0(%ebp)
46fb5d:	40 00 80
46fb60:	8b 78 30             	mov    0x30(%eax),%edi
46fb63:	8b 07                	mov    (%edi),%eax
46fb65:	8b 70 10             	mov    0x10(%eax),%esi
46fb68:	8b ce                	mov    %esi,%ecx
46fb6a:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fb70:	8b cf                	mov    %edi,%ecx
46fb72:	ff d6                	call   *%esi
46fb74:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
46fb7a:	85 c0                	test   %eax,%eax
46fb7c:	0f 84 98 0d 00 00    	je     0x47091a
46fb82:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
46fb88:	53                   	push   %ebx
46fb89:	e8 2f ff ff ff       	call   0x46fabd
46fb8e:	8b f8                	mov    %eax,%edi
46fb90:	89 bd 24 ff ff ff    	mov    %edi,-0xdc(%ebp)
46fb96:	85 ff                	test   %edi,%edi
46fb98:	0f 84 7c 0d 00 00    	je     0x47091a
46fb9e:	8b 75 10             	mov    0x10(%ebp),%esi
46fba1:	6a 13                	push   $0x13
46fba3:	58                   	pop    %eax
46fba4:	39 46 10             	cmp    %eax,0x10(%esi)
46fba7:	75 5e                	jne    0x46fc07
46fba9:	33 db                	xor    %ebx,%ebx
46fbab:	ba 90 f6 40 00       	mov    $0x40f690,%edx
46fbb0:	8b cb                	mov    %ebx,%ecx
46fbb2:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46fbb5:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46fbb8:	0f 85 5c 0d 00 00    	jne    0x47091a
46fbbe:	41                   	inc    %ecx
46fbbf:	83 f9 04             	cmp    $0x4,%ecx
46fbc2:	75 ee                	jne    0x46fbb2
46fbc4:	8b 7f 24             	mov    0x24(%edi),%edi
46fbc7:	8d 8d 1c ff ff ff    	lea    -0xe4(%ebp),%ecx
46fbcd:	51                   	push   %ecx
46fbce:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
46fbd4:	8b 07                	mov    (%edi),%eax
46fbd6:	8b 70 04             	mov    0x4(%eax),%esi
46fbd9:	8b ce                	mov    %esi,%ecx
46fbdb:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fbe1:	8b cf                	mov    %edi,%ecx
46fbe3:	ff d6                	call   *%esi
46fbe5:	85 c0                	test   %eax,%eax
46fbe7:	0f 88 32 0d 00 00    	js     0x47091f
46fbed:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
46fbf3:	6a 13                	push   $0x13
46fbf5:	58                   	pop    %eax
46fbf6:	66 89 01             	mov    %ax,(%ecx)
46fbf9:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
46fbff:	89 41 08             	mov    %eax,0x8(%ecx)
46fc02:	e9 99 0c 00 00       	jmp    0x4708a0
46fc07:	6a 0d                	push   $0xd
46fc09:	58                   	pop    %eax
46fc0a:	39 46 10             	cmp    %eax,0x10(%esi)
46fc0d:	0f 85 d6 0b 00 00    	jne    0x4707e9
46fc13:	33 db                	xor    %ebx,%ebx
46fc15:	ba 14 f7 40 00       	mov    $0x40f714,%edx
46fc1a:	8b cb                	mov    %ebx,%ecx
46fc1c:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46fc1f:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46fc22:	0f 85 73 02 00 00    	jne    0x46fe9b
46fc28:	41                   	inc    %ecx
46fc29:	83 f9 04             	cmp    $0x4,%ecx
46fc2c:	75 ee                	jne    0x46fc1c
46fc2e:	89 9d 28 ff ff ff    	mov    %ebx,-0xd8(%ebp)
46fc34:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46fc37:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
46fc3d:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
46fc43:	51                   	push   %ecx
46fc44:	68 0c 34 41 00       	push   $0x41340c
46fc49:	8b 40 08             	mov    0x8(%eax),%eax
46fc4c:	50                   	push   %eax
46fc4d:	8b 30                	mov    (%eax),%esi
46fc4f:	8b 0e                	mov    (%esi),%ecx
46fc51:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fc57:	ff 16                	call   *(%esi)
46fc59:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
46fc5f:	85 c0                	test   %eax,%eax
46fc61:	0f 88 22 02 00 00    	js     0x46fe89
46fc67:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
46fc6b:	75 0a                	jne    0x46fc77
46fc6d:	8b cb                	mov    %ebx,%ecx
46fc6f:	89 9d 2c ff ff ff    	mov    %ebx,-0xd4(%ebp)
46fc75:	eb 0f                	jmp    0x46fc86
46fc77:	8b 4f 0c             	mov    0xc(%edi),%ecx
46fc7a:	2b 4f 08             	sub    0x8(%edi),%ecx
46fc7d:	c1 f9 03             	sar    $0x3,%ecx
46fc80:	89 8d 2c ff ff ff    	mov    %ecx,-0xd4(%ebp)
46fc86:	33 c0                	xor    %eax,%eax
46fc88:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46fc8c:	8d bd 08 ff ff ff    	lea    -0xf8(%ebp),%edi
46fc92:	89 9d 20 ff ff ff    	mov    %ebx,-0xe0(%ebp)
46fc98:	ab                   	stos   %eax,%es:(%edi)
46fc99:	8b d3                	mov    %ebx,%edx
46fc9b:	ab                   	stos   %eax,%es:(%edi)
46fc9c:	ab                   	stos   %eax,%es:(%edi)
46fc9d:	ab                   	stos   %eax,%es:(%edi)
46fc9e:	33 c0                	xor    %eax,%eax
46fca0:	8d bd c0 fe ff ff    	lea    -0x140(%ebp),%edi
46fca6:	ab                   	stos   %eax,%es:(%edi)
46fca7:	ab                   	stos   %eax,%es:(%edi)
46fca8:	ab                   	stos   %eax,%es:(%edi)
46fca9:	ab                   	stos   %eax,%es:(%edi)
46fcaa:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
46fcb0:	3b d1                	cmp    %ecx,%edx
46fcb2:	0f 83 d1 01 00 00    	jae    0x46fe89
46fcb8:	8b 4f 08             	mov    0x8(%edi),%ecx
46fcbb:	85 c9                	test   %ecx,%ecx
46fcbd:	0f 84 7b 0c 00 00    	je     0x47093e
46fcc3:	8b 47 0c             	mov    0xc(%edi),%eax
46fcc6:	2b c1                	sub    %ecx,%eax
46fcc8:	c1 f8 03             	sar    $0x3,%eax
46fccb:	3b c2                	cmp    %edx,%eax
46fccd:	0f 86 6b 0c 00 00    	jbe    0x47093e
46fcd3:	8b 04 d1             	mov    (%ecx,%edx,8),%eax
46fcd6:	8b 74 d1 04          	mov    0x4(%ecx,%edx,8),%esi
46fcda:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
46fce0:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
46fce6:	ff 15 20 74 4a 00    	call   *0x4a7420
46fcec:	0f b7 c6             	movzwl %si,%eax
46fcef:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
46fcf5:	50                   	push   %eax
46fcf6:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46fcfa:	ff 15 40 74 4a 00    	call   *0x4a7440
46fd00:	85 c0                	test   %eax,%eax
46fd02:	74 19                	je     0x46fd1d
46fd04:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
46fd0a:	8d 95 08 ff ff ff    	lea    -0xf8(%ebp),%edx
46fd10:	e8 3c 63 fb ff       	call   0x426051
46fd15:	85 c0                	test   %eax,%eax
46fd17:	0f 88 0a 0c 00 00    	js     0x470927
46fd1d:	6a 13                	push   $0x13
46fd1f:	58                   	pop    %eax
46fd20:	66 89 85 c0 fe ff ff 	mov    %ax,-0x140(%ebp)
46fd27:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
46fd2d:	6a 30                	push   $0x30
46fd2f:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
46fd35:	ff 15 14 74 4a 00    	call   *0x4a7414
46fd3b:	59                   	pop    %ecx
46fd3c:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
46fd42:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46fd46:	85 c0                	test   %eax,%eax
46fd48:	74 11                	je     0x46fd5b
46fd4a:	8b c8                	mov    %eax,%ecx
46fd4c:	e8 2c f7 ff ff       	call   0x46f47d
46fd51:	8b f0                	mov    %eax,%esi
46fd53:	89 b5 18 ff ff ff    	mov    %esi,-0xe8(%ebp)
46fd59:	eb 08                	jmp    0x46fd63
46fd5b:	8b f3                	mov    %ebx,%esi
46fd5d:	89 9d 18 ff ff ff    	mov    %ebx,-0xe8(%ebp)
46fd63:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
46fd69:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46fd6d:	50                   	push   %eax
46fd6e:	68 d0 f5 40 00       	push   $0x40f5d0
46fd73:	8b ce                	mov    %esi,%ecx
46fd75:	e8 d0 f7 ff ff       	call   0x46f54a
46fd7a:	8d 85 c0 fe ff ff    	lea    -0x140(%ebp),%eax
46fd80:	8b ce                	mov    %esi,%ecx
46fd82:	50                   	push   %eax
46fd83:	68 8c f8 40 00       	push   $0x40f88c
46fd88:	e8 bd f7 ff ff       	call   0x46f54a
46fd8d:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
46fd93:	8d 46 2c             	lea    0x2c(%esi),%eax
46fd96:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46fd9a:	8b 30                	mov    (%eax),%esi
46fd9c:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
46fda2:	51                   	push   %ecx
46fda3:	68 70 fd 40 00       	push   $0x40fd70
46fda8:	50                   	push   %eax
46fda9:	8b 0e                	mov    (%esi),%ecx
46fdab:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fdb1:	ff 16                	call   *(%esi)
46fdb3:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
46fdb9:	85 c0                	test   %eax,%eax
46fdbb:	79 35                	jns    0x46fdf2
46fdbd:	8b bd 18 ff ff ff    	mov    -0xe8(%ebp),%edi
46fdc3:	6a 01                	push   $0x1
46fdc5:	8b 07                	mov    (%edi),%eax
46fdc7:	8b 70 04             	mov    0x4(%eax),%esi
46fdca:	8b ce                	mov    %esi,%ecx
46fdcc:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fdd2:	8b cf                	mov    %edi,%ecx
46fdd4:	ff d6                	call   *%esi
46fdd6:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
46fddc:	e8 90 0b fb ff       	call   0x420971
46fde1:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
46fde7:	ff 15 1c 74 4a 00    	call   *0x4a741c
46fded:	e9 97 00 00 00       	jmp    0x46fe89
46fdf2:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
46fdf8:	ff b5 34 ff ff ff    	push   -0xcc(%ebp)
46fdfe:	50                   	push   %eax
46fdff:	8b 08                	mov    (%eax),%ecx
46fe01:	8b 71 14             	mov    0x14(%ecx),%esi
46fe04:	8b ce                	mov    %esi,%ecx
46fe06:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fe0c:	ff d6                	call   *%esi
46fe0e:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
46fe14:	50                   	push   %eax
46fe15:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46fe1b:	8d 85 c0 fe ff ff    	lea    -0x140(%ebp),%eax
46fe21:	50                   	push   %eax
46fe22:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46fe28:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
46fe2e:	e8 3e 0b fb ff       	call   0x420971
46fe33:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
46fe39:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46fe3d:	ff 15 1c 74 4a 00    	call   *0x4a741c
46fe43:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
46fe49:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
46fe4f:	42                   	inc    %edx
46fe50:	89 95 20 ff ff ff    	mov    %edx,-0xe0(%ebp)
46fe56:	e9 55 fe ff ff       	jmp    0x46fcb0
46fe5b:	8b 85 a8 fe ff ff    	mov    -0x158(%ebp),%eax
46fe61:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
46fe67:	b8 7d fe 46 00       	mov    $0x46fe7d,%eax
46fe6c:	c3                   	ret
46fe6d:	c7 85 38 ff ff ff 05 	movl   $0x80004005,-0xc8(%ebp)
46fe74:	40 00 80
46fe77:	b8 7d fe 46 00       	mov    $0x46fe7d,%eax
46fe7c:	c3                   	ret
46fe7d:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
46fe83:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
46fe89:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
46fe90:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
46fe96:	e9 ec 07 00 00       	jmp    0x470687
46fe9b:	ba 30 f6 40 00       	mov    $0x40f630,%edx
46fea0:	8b cb                	mov    %ebx,%ecx
46fea2:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46fea5:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46fea8:	0f 85 f8 07 00 00    	jne    0x4706a6
46feae:	41                   	inc    %ecx
46feaf:	83 f9 04             	cmp    $0x4,%ecx
46feb2:	75 ee                	jne    0x46fea2
46feb4:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
46feba:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
46fec1:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
46fec7:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
46fecd:	51                   	push   %ecx
46fece:	68 0c 34 41 00       	push   $0x41340c
46fed3:	8b 40 08             	mov    0x8(%eax),%eax
46fed6:	50                   	push   %eax
46fed7:	8b 30                	mov    (%eax),%esi
46fed9:	8b 0e                	mov    (%esi),%ecx
46fedb:	ff 15 2c 81 4a 00    	call   *0x4a812c
46fee1:	ff 16                	call   *(%esi)
46fee3:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
46fee9:	85 c0                	test   %eax,%eax
46feeb:	0f 88 89 07 00 00    	js     0x47067a
46fef1:	89 9d c4 fe ff ff    	mov    %ebx,-0x13c(%ebp)
46fef7:	89 9d c8 fe ff ff    	mov    %ebx,-0x138(%ebp)
46fefd:	89 9d cc fe ff ff    	mov    %ebx,-0x134(%ebp)
46ff03:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
46ff07:	8d 8d c0 fe ff ff    	lea    -0x140(%ebp),%ecx
46ff0d:	8b 7f 24             	mov    0x24(%edi),%edi
46ff10:	51                   	push   %ecx
46ff11:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
46ff17:	8b 07                	mov    (%edi),%eax
46ff19:	8b 70 08             	mov    0x8(%eax),%esi
46ff1c:	8b ce                	mov    %esi,%ecx
46ff1e:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ff24:	8b cf                	mov    %edi,%ecx
46ff26:	ff d6                	call   *%esi
46ff28:	85 c0                	test   %eax,%eax
46ff2a:	78 24                	js     0x46ff50
46ff2c:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
46ff32:	50                   	push   %eax
46ff33:	8b 08                	mov    (%eax),%ecx
46ff35:	8b 71 24             	mov    0x24(%ecx),%esi
46ff38:	8b ce                	mov    %esi,%ecx
46ff3a:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ff40:	ff d6                	call   *%esi
46ff42:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
46ff48:	8d b5 c0 fe ff ff    	lea    -0x140(%ebp),%esi
46ff4e:	eb 09                	jmp    0x46ff59
46ff50:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
46ff56:	8d 77 14             	lea    0x14(%edi),%esi
46ff59:	8b 07                	mov    (%edi),%eax
46ff5b:	89 b5 28 ff ff ff    	mov    %esi,-0xd8(%ebp)
46ff61:	2b c3                	sub    %ebx,%eax
46ff63:	0f 84 7f 03 00 00    	je     0x4702e8
46ff69:	83 e8 01             	sub    $0x1,%eax
46ff6c:	0f 84 d6 01 00 00    	je     0x470148
46ff72:	83 e8 01             	sub    $0x1,%eax
46ff75:	0f 85 4d 01 00 00    	jne    0x4700c8
46ff7b:	8b ce                	mov    %esi,%ecx
46ff7d:	e8 f0 13 fb ff       	call   0x421372
46ff82:	8b c8                	mov    %eax,%ecx
46ff84:	89 9d 2c ff ff ff    	mov    %ebx,-0xd4(%ebp)