46fa74:	6a 10                	push   $0x10
46fa76:	e8 c7 15 17 00       	call   0x5e1042
46fa7b:	8b 8b 64 03 00 00    	mov    0x364(%ebx),%ecx
46fa81:	83 c4 04             	add    $0x4,%esp
46fa84:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46fa87:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
46fa8a:	8d 56 28             	lea    0x28(%esi),%edx
46fa8d:	89 55 ec             	mov    %edx,-0x14(%ebp)
46fa90:	89 41 04             	mov    %eax,0x4(%ecx)
46fa93:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
46fa97:	72 05                	jb     0x46fa9e
46fa99:	8b 12                	mov    (%edx),%edx
46fa9b:	89 55 ec             	mov    %edx,-0x14(%ebp)
46fa9e:	8b 46 38             	mov    0x38(%esi),%eax
46faa1:	8b 8b 64 03 00 00    	mov    0x364(%ebx),%ecx
46faa7:	89 45 d0             	mov    %eax,-0x30(%ebp)
46faaa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46faad:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46fab0:	8b 40 04             	mov    0x4(%eax),%eax
46fab3:	89 45 f0             	mov    %eax,-0x10(%ebp)
46fab6:	85 c0                	test   %eax,%eax
46fab8:	74 2c                	je     0x46fae6
46faba:	85 d2                	test   %edx,%edx
46fabc:	74 28                	je     0x46fae6
46fabe:	8b 5d d0             	mov    -0x30(%ebp),%ebx
46fac1:	43                   	inc    %ebx
46fac2:	53                   	push   %ebx
46fac3:	e8 b8 15 17 00       	call   0x5e1080
46fac8:	ff 75 d0             	push   -0x30(%ebp)
46facb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46face:	ff 75 ec             	push   -0x14(%ebp)
46fad1:	53                   	push   %ebx
46fad2:	50                   	push   %eax
46fad3:	89 01                	mov    %eax,(%ecx)
46fad5:	e8 a6 8a ff ff       	call   0x468580
46fada:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46fadd:	83 c4 14             	add    $0x14,%esp
46fae0:	8b 8b 64 03 00 00    	mov    0x364(%ebx),%ecx
46fae6:	83 7e 54 10          	cmpl   $0x10,0x54(%esi)
46faea:	8d 56 40             	lea    0x40(%esi),%edx
46faed:	89 55 ec             	mov    %edx,-0x14(%ebp)
46faf0:	72 05                	jb     0x46faf7
46faf2:	8b 12                	mov    (%edx),%edx
46faf4:	89 55 ec             	mov    %edx,-0x14(%ebp)
46faf7:	8b 46 50             	mov    0x50(%esi),%eax
46fafa:	89 45 d0             	mov    %eax,-0x30(%ebp)
46fafd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46fb00:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46fb03:	8b 40 04             	mov    0x4(%eax),%eax
46fb06:	83 c0 04             	add    $0x4,%eax
46fb09:	89 45 f0             	mov    %eax,-0x10(%ebp)
46fb0c:	74 2c                	je     0x46fb3a
46fb0e:	85 d2                	test   %edx,%edx
46fb10:	74 28                	je     0x46fb3a
46fb12:	8b 5d d0             	mov    -0x30(%ebp),%ebx
46fb15:	43                   	inc    %ebx
46fb16:	53                   	push   %ebx
46fb17:	e8 64 15 17 00       	call   0x5e1080
46fb1c:	ff 75 d0             	push   -0x30(%ebp)
46fb1f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46fb22:	ff 75 ec             	push   -0x14(%ebp)
46fb25:	53                   	push   %ebx
46fb26:	50                   	push   %eax
46fb27:	89 01                	mov    %eax,(%ecx)
46fb29:	e8 52 8a ff ff       	call   0x468580
46fb2e:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46fb31:	83 c4 14             	add    $0x14,%esp
46fb34:	8b 8b 64 03 00 00    	mov    0x364(%ebx),%ecx
46fb3a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46fb3d:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46fb40:	8b 48 04             	mov    0x4(%eax),%ecx
46fb43:	8a 46 58             	mov    0x58(%esi),%al
46fb46:	88 41 08             	mov    %al,0x8(%ecx)
46fb49:	8d 4e 5c             	lea    0x5c(%esi),%ecx
46fb4c:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
46fb50:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46fb53:	72 05                	jb     0x46fb5a
46fb55:	8b 09                	mov    (%ecx),%ecx
46fb57:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46fb5a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46fb5d:	8b 83 64 03 00 00    	mov    0x364(%ebx),%eax
46fb63:	8b 56 6c             	mov    0x6c(%esi),%edx
46fb66:	89 55 ec             	mov    %edx,-0x14(%ebp)
46fb69:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46fb6c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46fb6f:	8b 40 04             	mov    0x4(%eax),%eax
46fb72:	83 c0 0c             	add    $0xc,%eax
46fb75:	89 45 d0             	mov    %eax,-0x30(%ebp)
46fb78:	74 25                	je     0x46fb9f
46fb7a:	85 c9                	test   %ecx,%ecx
46fb7c:	74 21                	je     0x46fb9f
46fb7e:	8d 5a 01             	lea    0x1(%edx),%ebx
46fb81:	53                   	push   %ebx
46fb82:	e8 f9 14 17 00       	call   0x5e1080
46fb87:	ff 75 ec             	push   -0x14(%ebp)
46fb8a:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46fb8d:	ff 75 f0             	push   -0x10(%ebp)
46fb90:	53                   	push   %ebx
46fb91:	50                   	push   %eax
46fb92:	89 01                	mov    %eax,(%ecx)
46fb94:	e8 e7 89 ff ff       	call   0x468580
46fb99:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46fb9c:	83 c4 14             	add    $0x14,%esp
46fb9f:	8b 46 08             	mov    0x8(%esi),%eax
46fba2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46fba5:	42                   	inc    %edx
46fba6:	89 55 e4             	mov    %edx,-0x1c(%ebp)
46fba9:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
46fbad:	74 1d                	je     0x46fbcc
46fbaf:	8b 46 04             	mov    0x4(%esi),%eax
46fbb2:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
46fbb6:	75 10                	jne    0x46fbc8
46fbb8:	3b 70 08             	cmp    0x8(%eax),%esi
46fbbb:	75 0b                	jne    0x46fbc8
46fbbd:	8b f0                	mov    %eax,%esi
46fbbf:	8b 40 04             	mov    0x4(%eax),%eax
46fbc2:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
46fbc6:	74 f0                	je     0x46fbb8
46fbc8:	8b f0                	mov    %eax,%esi
46fbca:	eb 16                	jmp    0x46fbe2
46fbcc:	8b f0                	mov    %eax,%esi
46fbce:	8b 0e                	mov    (%esi),%ecx
46fbd0:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
46fbd4:	75 0c                	jne    0x46fbe2
46fbd6:	8b 01                	mov    (%ecx),%eax
46fbd8:	8b f1                	mov    %ecx,%esi
46fbda:	8b c8                	mov    %eax,%ecx
46fbdc:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
46fbe0:	74 f4                	je     0x46fbd6
46fbe2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46fbe5:	3b d1                	cmp    %ecx,%edx
46fbe7:	0f 82 17 fe ff ff    	jb     0x46fa04
46fbed:	8b 83 64 03 00 00    	mov    0x364(%ebx),%eax
46fbf3:	6a 0c                	push   $0xc
46fbf5:	c7 04 88 00 00 00 00 	movl   $0x0,(%eax,%ecx,4)
46fbfc:	e8 41 14 17 00       	call   0x5e1042
46fc01:	83 c4 04             	add    $0x4,%esp
46fc04:	89 45 e8             	mov    %eax,-0x18(%ebp)
46fc07:	89 83 68 03 00 00    	mov    %eax,0x368(%ebx)
46fc0d:	85 c0                	test   %eax,%eax
46fc0f:	0f 84 92 02 00 00    	je     0x46fea7
46fc15:	8b 75 dc             	mov    -0x24(%ebp),%esi
46fc18:	83 7e 54 10          	cmpl   $0x10,0x54(%esi)
46fc1c:	8d 7e 40             	lea    0x40(%esi),%edi
46fc1f:	72 02                	jb     0x46fc23
46fc21:	8b 3f                	mov    (%edi),%edi
46fc23:	8b 4e 50             	mov    0x50(%esi),%ecx
46fc26:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46fc29:	85 ff                	test   %edi,%edi
46fc2b:	74 25                	je     0x46fc52
46fc2d:	8d 71 01             	lea    0x1(%ecx),%esi
46fc30:	56                   	push   %esi
46fc31:	e8 4a 14 17 00       	call   0x5e1080
46fc36:	ff 75 d0             	push   -0x30(%ebp)
46fc39:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46fc3c:	57                   	push   %edi
46fc3d:	56                   	push   %esi
46fc3e:	50                   	push   %eax
46fc3f:	89 01                	mov    %eax,(%ecx)
46fc41:	e8 3a 89 ff ff       	call   0x468580
46fc46:	8b 83 68 03 00 00    	mov    0x368(%ebx),%eax
46fc4c:	83 c4 14             	add    $0x14,%esp
46fc4f:	8b 75 dc             	mov    -0x24(%ebp),%esi
46fc52:	83 7e 6c 10          	cmpl   $0x10,0x6c(%esi)
46fc56:	8d 7e 58             	lea    0x58(%esi),%edi
46fc59:	72 02                	jb     0x46fc5d
46fc5b:	8b 3f                	mov    (%edi),%edi
46fc5d:	8b 4e 68             	mov    0x68(%esi),%ecx
46fc60:	83 c0 04             	add    $0x4,%eax
46fc63:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46fc66:	89 45 e8             	mov    %eax,-0x18(%ebp)
46fc69:	74 23                	je     0x46fc8e
46fc6b:	85 ff                	test   %edi,%edi
46fc6d:	74 1f                	je     0x46fc8e
46fc6f:	8d 71 01             	lea    0x1(%ecx),%esi
46fc72:	56                   	push   %esi
46fc73:	e8 08 14 17 00       	call   0x5e1080
46fc78:	ff 75 d0             	push   -0x30(%ebp)
46fc7b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46fc7e:	57                   	push   %edi
46fc7f:	56                   	push   %esi
46fc80:	50                   	push   %eax
46fc81:	89 01                	mov    %eax,(%ecx)
46fc83:	e8 f8 88 ff ff       	call   0x468580
46fc88:	8b 75 dc             	mov    -0x24(%ebp),%esi
46fc8b:	83 c4 14             	add    $0x14,%esp
46fc8e:	8b 4e 74             	mov    0x74(%esi),%ecx
46fc91:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
46fc96:	2b 4e 70             	sub    0x70(%esi),%ecx
46fc99:	f7 e9                	imul   %ecx
46fc9b:	33 c9                	xor    %ecx,%ecx
46fc9d:	c1 fa 04             	sar    $0x4,%edx
46fca0:	8b c2                	mov    %edx,%eax
46fca2:	c1 e8 1f             	shr    $0x1f,%eax
46fca5:	03 c2                	add    %edx,%eax
46fca7:	ba 04 00 00 00       	mov    $0x4,%edx
46fcac:	89 45 ec             	mov    %eax,-0x14(%ebp)
46fcaf:	40                   	inc    %eax
46fcb0:	f7 e2                	mul    %edx
46fcb2:	0f 90 c1             	seto   %cl
46fcb5:	f7 d9                	neg    %ecx
46fcb7:	0b c8                	or     %eax,%ecx
46fcb9:	51                   	push   %ecx
46fcba:	e8 c1 13 17 00       	call   0x5e1080
46fcbf:	8b 8b 68 03 00 00    	mov    0x368(%ebx),%ecx
46fcc5:	33 ff                	xor    %edi,%edi
46fcc7:	83 c4 04             	add    $0x4,%esp
46fcca:	89 7d f0             	mov    %edi,-0x10(%ebp)
46fccd:	89 41 08             	mov    %eax,0x8(%ecx)
46fcd0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46fcd3:	85 c9                	test   %ecx,%ecx
46fcd5:	0f 84 bc 01 00 00    	je     0x46fe97
46fcdb:	89 7d e4             	mov    %edi,-0x1c(%ebp)
46fcde:	66 90                	xchg   %ax,%ax
46fce0:	6a 0c                	push   $0xc
46fce2:	e8 5b 13 17 00       	call   0x5e1042
46fce7:	8b 8b 68 03 00 00    	mov    0x368(%ebx),%ecx
46fced:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
46fcf4:	89 55 d0             	mov    %edx,-0x30(%ebp)
46fcf7:	83 c4 04             	add    $0x4,%esp
46fcfa:	8b 49 08             	mov    0x8(%ecx),%ecx
46fcfd:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
46fd00:	8b 45 dc             	mov    -0x24(%ebp),%eax
46fd03:	8b 76 74             	mov    0x74(%esi),%esi
46fd06:	8b ce                	mov    %esi,%ecx
46fd08:	8b 40 70             	mov    0x70(%eax),%eax
46fd0b:	2b c8                	sub    %eax,%ecx
46fd0d:	89 45 e8             	mov    %eax,-0x18(%ebp)
46fd10:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
46fd15:	f7 e9                	imul   %ecx
46fd17:	c1 fa 04             	sar    $0x4,%edx
46fd1a:	8b c2                	mov    %edx,%eax
46fd1c:	c1 e8 1f             	shr    $0x1f,%eax
46fd1f:	03 c2                	add    %edx,%eax
46fd21:	3b c7                	cmp    %edi,%eax
46fd23:	0f 86 62 05 00 00    	jbe    0x47028b
46fd29:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46fd2c:	03 45 e8             	add    -0x18(%ebp),%eax
46fd2f:	8b c8                	mov    %eax,%ecx
46fd31:	89 45 e8             	mov    %eax,-0x18(%ebp)
46fd34:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46fd38:	72 05                	jb     0x46fd3f
46fd3a:	8b 08                	mov    (%eax),%ecx
46fd3c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46fd3f:	8b 50 10             	mov    0x10(%eax),%edx
46fd42:	8b 83 68 03 00 00    	mov    0x368(%ebx),%eax
46fd48:	89 55 e0             	mov    %edx,-0x20(%ebp)
46fd4b:	8b 40 08             	mov    0x8(%eax),%eax
46fd4e:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46fd51:	89 45 d8             	mov    %eax,-0x28(%ebp)
46fd54:	85 c0                	test   %eax,%eax
46fd56:	74 2a                	je     0x46fd82
46fd58:	85 c9                	test   %ecx,%ecx
46fd5a:	74 26                	je     0x46fd82
46fd5c:	8d 72 01             	lea    0x1(%edx),%esi
46fd5f:	56                   	push   %esi
46fd60:	e8 1b 13 17 00       	call   0x5e1080
46fd65:	ff 75 e0             	push   -0x20(%ebp)
46fd68:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46fd6b:	ff 75 e8             	push   -0x18(%ebp)
46fd6e:	56                   	push   %esi
46fd6f:	50                   	push   %eax
46fd70:	89 01                	mov    %eax,(%ecx)
46fd72:	e8 09 88 ff ff       	call   0x468580
46fd77:	8b 45 dc             	mov    -0x24(%ebp),%eax
46fd7a:	83 c4 14             	add    $0x14,%esp
46fd7d:	8b 70 74             	mov    0x74(%eax),%esi
46fd80:	eb 03                	jmp    0x46fd85
46fd82:	8b 45 dc             	mov    -0x24(%ebp),%eax
46fd85:	8b 40 70             	mov    0x70(%eax),%eax
46fd88:	8b ce                	mov    %esi,%ecx
46fd8a:	2b c8                	sub    %eax,%ecx
46fd8c:	89 45 e0             	mov    %eax,-0x20(%ebp)
46fd8f:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
46fd94:	f7 e9                	imul   %ecx
46fd96:	c1 fa 04             	sar    $0x4,%edx
46fd99:	8b c2                	mov    %edx,%eax
46fd9b:	c1 e8 1f             	shr    $0x1f,%eax
46fd9e:	03 c2                	add    %edx,%eax
46fda0:	3b c7                	cmp    %edi,%eax
46fda2:	0f 86 e3 04 00 00    	jbe    0x47028b
46fda8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46fdab:	8b 55 e0             	mov    -0x20(%ebp),%edx
46fdae:	8d 79 18             	lea    0x18(%ecx),%edi
46fdb1:	03 fa                	add    %edx,%edi
46fdb3:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
46fdb7:	72 02                	jb     0x46fdbb
46fdb9:	8b 3f                	mov    (%edi),%edi
46fdbb:	8b 83 68 03 00 00    	mov    0x368(%ebx),%eax
46fdc1:	8b 5d d0             	mov    -0x30(%ebp),%ebx
46fdc4:	8b 54 0a 28          	mov    0x28(%edx,%ecx,1),%edx
46fdc8:	89 55 d8             	mov    %edx,-0x28(%ebp)
46fdcb:	8b 40 08             	mov    0x8(%eax),%eax
46fdce:	8b 04 18             	mov    (%eax,%ebx,1),%eax
46fdd1:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
46fdd4:	83 c0 04             	add    $0x4,%eax
46fdd7:	89 45 e0             	mov    %eax,-0x20(%ebp)
46fdda:	74 29                	je     0x46fe05
46fddc:	85 ff                	test   %edi,%edi
46fdde:	74 25                	je     0x46fe05
46fde0:	8d 72 01             	lea    0x1(%edx),%esi
46fde3:	56                   	push   %esi
46fde4:	e8 97 12 17 00       	call   0x5e1080
46fde9:	ff 75 d8             	push   -0x28(%ebp)
46fdec:	8b 4d e0             	mov    -0x20(%ebp),%ecx
46fdef:	57                   	push   %edi
46fdf0:	56                   	push   %esi
46fdf1:	50                   	push   %eax
46fdf2:	89 01                	mov    %eax,(%ecx)
46fdf4:	e8 87 87 ff ff       	call   0x468580
46fdf9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46fdfc:	83 c4 14             	add    $0x14,%esp
46fdff:	8b 71 74             	mov    0x74(%ecx),%esi
46fe02:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46fe05:	8b 45 dc             	mov    -0x24(%ebp),%eax
46fe08:	8b 78 70             	mov    0x70(%eax),%edi
46fe0b:	2b f7                	sub    %edi,%esi
46fe0d:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
46fe12:	89 7d e0             	mov    %edi,-0x20(%ebp)
46fe15:	f7 ee                	imul   %esi
46fe17:	c1 fa 04             	sar    $0x4,%edx
46fe1a:	8b c2                	mov    %edx,%eax
46fe1c:	c1 e8 1f             	shr    $0x1f,%eax
46fe1f:	03 c2                	add    %edx,%eax
46fe21:	3b 45 f0             	cmp    -0x10(%ebp),%eax
46fe24:	0f 86 61 04 00 00    	jbe    0x47028b
46fe2a:	83 c7 30             	add    $0x30,%edi
46fe2d:	03 f9                	add    %ecx,%edi
46fe2f:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
46fe33:	72 02                	jb     0x46fe37
46fe35:	8b 3f                	mov    (%edi),%edi
46fe37:	8b 83 68 03 00 00    	mov    0x368(%ebx),%eax
46fe3d:	8b 75 d0             	mov    -0x30(%ebp),%esi
46fe40:	8b 55 e0             	mov    -0x20(%ebp),%edx
46fe43:	8b 40 08             	mov    0x8(%eax),%eax
46fe46:	8b 54 0a 40          	mov    0x40(%edx,%ecx,1),%edx
46fe4a:	89 55 d8             	mov    %edx,-0x28(%ebp)
46fe4d:	8b 04 30             	mov    (%eax,%esi,1),%eax
46fe50:	83 c0 08             	add    $0x8,%eax
46fe53:	89 45 e0             	mov    %eax,-0x20(%ebp)
46fe56:	74 23                	je     0x46fe7b
46fe58:	85 ff                	test   %edi,%edi
46fe5a:	74 1f                	je     0x46fe7b
46fe5c:	8d 72 01             	lea    0x1(%edx),%esi
46fe5f:	56                   	push   %esi
46fe60:	e8 1b 12 17 00       	call   0x5e1080
46fe65:	ff 75 d8             	push   -0x28(%ebp)
46fe68:	8b 4d e0             	mov    -0x20(%ebp),%ecx
46fe6b:	57                   	push   %edi
46fe6c:	56                   	push   %esi