46fea7:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46feac:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46feaf:	8b 00                	mov    (%eax),%eax
46feb1:	85 c0                	test   %eax,%eax
46feb3:	74 05                	je     0x46feba
46feb5:	39 58 0c             	cmp    %ebx,0xc(%eax)
46feb8:	75 04                	jne    0x46febe
46feba:	8b 74 24 20          	mov    0x20(%esp),%esi
46febe:	8d 44 24 18          	lea    0x18(%esp),%eax
46fec2:	50                   	push   %eax
46fec3:	ff 37                	push   (%edi)
46fec5:	ff 15 c0 d4 48 00    	call   *0x48d4c0
46fecb:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46fed0:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46fed3:	8b 00                	mov    (%eax),%eax
46fed5:	8b 48 0c             	mov    0xc(%eax),%ecx
46fed8:	85 c9                	test   %ecx,%ecx
46feda:	0f 84 94 f9 ff ff    	je     0x46f874
46fee0:	8b 44 24 3c          	mov    0x3c(%esp),%eax
46fee4:	53                   	push   %ebx
46fee5:	ff 30                	push   (%eax)
46fee7:	ff 74 24 24          	push   0x24(%esp)
46feeb:	ff 74 24 24          	push   0x24(%esp)
46feef:	53                   	push   %ebx
46fef0:	51                   	push   %ecx
46fef1:	ff 15 a0 d5 48 00    	call   *0x48d5a0
46fef7:	e9 78 f9 ff ff       	jmp    0x46f874
46fefc:	8b 44 24 18          	mov    0x18(%esp),%eax
46ff00:	89 44 24 28          	mov    %eax,0x28(%esp)
46ff04:	8b 44 24 1c          	mov    0x1c(%esp),%eax
46ff08:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46ff0c:	8d 44 24 28          	lea    0x28(%esp),%eax
46ff10:	50                   	push   %eax
46ff11:	53                   	push   %ebx
46ff12:	68 11 11 00 00       	push   $0x1111
46ff17:	ff 37                	push   (%edi)
46ff19:	ff 15 70 d6 48 00    	call   *0x48d670
46ff1f:	85 c0                	test   %eax,%eax
46ff21:	74 5c                	je     0x46ff7f
46ff23:	89 44 24 58          	mov    %eax,0x58(%esp)
46ff27:	8d 44 24 54          	lea    0x54(%esp),%eax
46ff2b:	50                   	push   %eax
46ff2c:	53                   	push   %ebx
46ff2d:	68 3e 11 00 00       	push   $0x113e
46ff32:	ff 37                	push   (%edi)
46ff34:	c7 44 24 64 04 00 00 	movl   $0x4,0x64(%esp)
46ff3b:	00
46ff3c:	ff 15 70 d6 48 00    	call   *0x48d670
46ff42:	f6 44 24 30 46       	testb  $0x46,0x30(%esp)
46ff47:	74 36                	je     0x46ff7f
46ff49:	8d 44 24 10          	lea    0x10(%esp),%eax
46ff4d:	50                   	push   %eax
46ff4e:	8d 44 24 28          	lea    0x28(%esp),%eax
46ff52:	50                   	push   %eax
46ff53:	ff b4 24 80 00 00 00 	push   0x80(%esp)
46ff5a:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46ff5f:	e8 9a d4 f9 ff       	call   0x40d3fe
46ff64:	84 c0                	test   %al,%al
46ff66:	74 13                	je     0x46ff7b
46ff68:	8b 74 24 10          	mov    0x10(%esp),%esi
46ff6c:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46ff71:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ff74:	8b 00                	mov    (%eax),%eax
46ff76:	39 58 0c             	cmp    %ebx,0xc(%eax)
46ff79:	75 04                	jne    0x46ff7f
46ff7b:	8b 74 24 20          	mov    0x20(%esp),%esi
46ff7f:	8d 44 24 18          	lea    0x18(%esp),%eax
46ff83:	50                   	push   %eax
46ff84:	ff 37                	push   (%edi)
46ff86:	ff 15 c0 d4 48 00    	call   *0x48d4c0
46ff8c:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46ff91:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ff94:	8b 00                	mov    (%eax),%eax
46ff96:	8b 48 0c             	mov    0xc(%eax),%ecx
46ff99:	85 c9                	test   %ecx,%ecx
46ff9b:	0f 84 d3 f8 ff ff    	je     0x46f874
46ffa1:	8b 44 24 3c          	mov    0x3c(%esp),%eax
46ffa5:	53                   	push   %ebx
46ffa6:	ff 30                	push   (%eax)
46ffa8:	ff 74 24 24          	push   0x24(%esp)
46ffac:	ff 74 24 24          	push   0x24(%esp)
46ffb0:	68 80 00 00 00       	push   $0x80
46ffb5:	51                   	push   %ecx
46ffb6:	ff 15 a0 d5 48 00    	call   *0x48d5a0
46ffbc:	e9 22 fa ff ff       	jmp    0x46f9e3
46ffc1:	ff 37                	push   (%edi)
46ffc3:	8b cb                	mov    %ebx,%ecx
46ffc5:	e8 5c b5 fa ff       	call   0x41b526
46ffca:	89 44 24 10          	mov    %eax,0x10(%esp)
46ffce:	83 f8 ff             	cmp    $0xffffffff,%eax
46ffd1:	0f 84 9d f8 ff ff    	je     0x46f874
46ffd7:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46ffdd:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46ffe0:	8b 08                	mov    (%eax),%ecx
46ffe2:	8a 81 90 00 00 00    	mov    0x90(%ecx),%al
46ffe8:	3c 10                	cmp    $0x10,%al
46ffea:	74 08                	je     0x46fff4
46ffec:	3c 13                	cmp    $0x13,%al
46ffee:	0f 85 80 f8 ff ff    	jne    0x46f874
46fff4:	8b 47 0c             	mov    0xc(%edi),%eax
46fff7:	48                   	dec    %eax
46fff8:	0f 84 a9 00 00 00    	je     0x4700a7
46fffe:	2d 00 00 01 00       	sub    $0x10000,%eax
470003:	0f 85 6b f8 ff ff    	jne    0x46f874
470009:	32 db                	xor    %bl,%bl
47000b:	81 79 48 00 00 00 fe 	cmpl   $0xfe000000,0x48(%ecx)
470012:	75 02                	jne    0x470016
470014:	fe c3                	inc    %bl
470016:	8d 44 24 10          	lea    0x10(%esp),%eax
47001a:	50                   	push   %eax
47001b:	8d 44 24 28          	lea    0x28(%esp),%eax
47001f:	50                   	push   %eax
470020:	ff 77 2c             	push   0x2c(%edi)
470023:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
470028:	e8 d1 d3 f9 ff       	call   0x40d3fe
47002d:	84 c0                	test   %al,%al
47002f:	75 07                	jne    0x470038
470031:	33 c0                	xor    %eax,%eax
470033:	e9 4b f8 ff ff       	jmp    0x46f883
470038:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
47003d:	8b 74 24 10          	mov    0x10(%esp),%esi
470041:	6a f0                	push   $0xfffffff0
470043:	8b 04 b0             	mov    (%eax,%esi,4),%eax
470046:	8b 00                	mov    (%eax),%eax
470048:	ff 70 34             	push   0x34(%eax)
47004b:	ff 15 44 d6 48 00    	call   *0x48d644
470051:	a9 00 00 00 08       	test   $0x8000000,%eax
470056:	75 d9                	jne    0x470031
470058:	f6 47 28 11          	testb  $0x11,0x28(%edi)
47005c:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
470062:	74 12                	je     0x470076
470064:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
470067:	8b 00                	mov    (%eax),%eax
470069:	80 b8 90 00 00 00 14 	cmpb   $0x14,0x90(%eax)
470070:	0f 85 fe f7 ff ff    	jne    0x46f874
470076:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
470079:	8b 00                	mov    (%eax),%eax
47007b:	8b 40 4c             	mov    0x4c(%eax),%eax
47007e:	83 f8 ff             	cmp    $0xffffffff,%eax
470081:	74 09                	je     0x47008c
470083:	89 47 30             	mov    %eax,0x30(%edi)
470086:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
47008c:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
47008f:	8b 00                	mov    (%eax),%eax
470091:	8b 40 48             	mov    0x48(%eax),%eax
470094:	85 c0                	test   %eax,%eax
470096:	78 99                	js     0x470031
470098:	84 db                	test   %bl,%bl
47009a:	74 06                	je     0x4700a2
47009c:	f6 47 24 01          	testb  $0x1,0x24(%edi)
4700a0:	74 8f                	je     0x470031
4700a2:	89 47 34             	mov    %eax,0x34(%edi)
4700a5:	eb 8a                	jmp    0x470031
4700a7:	6a 20                	push   $0x20
4700a9:	58                   	pop    %eax
4700aa:	e9 d4 f7 ff ff       	jmp    0x46f883
4700af:	55                   	push   %ebp
4700b0:	8b ec                	mov    %esp,%ebp
4700b2:	56                   	push   %esi
4700b3:	57                   	push   %edi
4700b4:	ff 75 0c             	push   0xc(%ebp)
4700b7:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
4700bc:	e8 65 b4 fa ff       	call   0x41b526
4700c1:	8b 75 10             	mov    0x10(%ebp),%esi
4700c4:	8b d0                	mov    %eax,%edx
4700c6:	83 fa ff             	cmp    $0xffffffff,%edx
4700c9:	74 37                	je     0x470102
4700cb:	8b 3d 9c 16 4c 00    	mov    0x4c169c,%edi
4700d1:	83 fe 08             	cmp    $0x8,%esi
4700d4:	75 0e                	jne    0x4700e4
4700d6:	8b 0c 97             	mov    (%edi,%edx,4),%ecx
4700d9:	8b 01                	mov    (%ecx),%eax
4700db:	80 b8 90 00 00 00 12 	cmpb   $0x12,0x90(%eax)
4700e2:	74 13                	je     0x4700f7
4700e4:	83 fe 04             	cmp    $0x4,%esi
4700e7:	75 19                	jne    0x470102
4700e9:	8b 04 97             	mov    (%edi,%edx,4),%eax
4700ec:	8b 00                	mov    (%eax),%eax
4700ee:	80 b8 90 00 00 00 16 	cmpb   $0x16,0x90(%eax)
4700f5:	75 0b                	jne    0x470102
4700f7:	56                   	push   %esi
4700f8:	52                   	push   %edx
4700f9:	e8 64 df ff ff       	call   0x46e062
4700fe:	84 c0                	test   %al,%al
470100:	75 2b                	jne    0x47012d
470102:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
470106:	ff 75 0c             	push   0xc(%ebp)
470109:	0f b7 c6             	movzwl %si,%eax
47010c:	c1 e1 10             	shl    $0x10,%ecx
47010f:	0b c8                	or     %eax,%ecx
470111:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
470115:	51                   	push   %ecx
470116:	74 07                	je     0x47011f
470118:	68 14 01 00 00       	push   $0x114
47011d:	eb 05                	jmp    0x470124
47011f:	68 15 01 00 00       	push   $0x115
470124:	ff 75 08             	push   0x8(%ebp)
470127:	ff 15 64 d5 48 00    	call   *0x48d564
47012d:	5f                   	pop    %edi
47012e:	5e                   	pop    %esi
47012f:	5d                   	pop    %ebp
470130:	c2 14 00             	ret    $0x14
470133:	55                   	push   %ebp
470134:	8b ec                	mov    %esp,%ebp
470136:	83 ec 10             	sub    $0x10,%esp
470139:	53                   	push   %ebx
47013a:	56                   	push   %esi
47013b:	ff 75 08             	push   0x8(%ebp)
47013e:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
470143:	e8 06 b2 fa ff       	call   0x41b34e
470148:	8b 0d 88 16 4c 00    	mov    0x4c1688,%ecx
47014e:	8b 04 81             	mov    (%ecx,%eax,4),%eax
470151:	8b 18                	mov    (%eax),%ebx
470153:	89 5d f4             	mov    %ebx,-0xc(%ebp)
470156:	83 bb 9c 01 00 00 00 	cmpl   $0x0,0x19c(%ebx)
47015d:	8b 73 44             	mov    0x44(%ebx),%esi
470160:	8b 4b 48             	mov    0x48(%ebx),%ecx
470163:	89 75 f8             	mov    %esi,-0x8(%ebp)
470166:	89 4d fc             	mov    %ecx,-0x4(%ebp)
470169:	74 10                	je     0x47017b
47016b:	6a 0f                	push   $0xf
47016d:	ff 15 38 d5 48 00    	call   *0x48d538
470173:	8b 4d fc             	mov    -0x4(%ebp),%ecx
470176:	2b c8                	sub    %eax,%ecx
470178:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47017b:	8b 55 10             	mov    0x10(%ebp),%edx
47017e:	85 f6                	test   %esi,%esi
470180:	0f 8e a3 02 00 00    	jle    0x470429
470186:	85 c9                	test   %ecx,%ecx
470188:	0f 8e 9b 02 00 00    	jle    0x470429
47018e:	85 d2                	test   %edx,%edx
470190:	0f 8e 93 02 00 00    	jle    0x470429
470196:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
47019a:	0f 8e 89 02 00 00    	jle    0x470429
4701a0:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4701a4:	0f 84 7f 02 00 00    	je     0x470429
4701aa:	57                   	push   %edi
4701ab:	6a 03                	push   $0x3
4701ad:	5f                   	pop    %edi
4701ae:	89 7d 08             	mov    %edi,0x8(%ebp)
4701b1:	39 3d ac 16 4c 00    	cmp    %edi,0x4c16ac
4701b7:	0f 8c 13 02 00 00    	jl     0x4703d0
4701bd:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
4701c2:	8b 04 b8             	mov    (%eax,%edi,4),%eax
4701c5:	8b 38                	mov    (%eax),%edi
4701c7:	85 ff                	test   %edi,%edi
4701c9:	0f 84 ee 01 00 00    	je     0x4703bd
4701cf:	8b 47 04             	mov    0x4(%edi),%eax
4701d2:	3b 43 04             	cmp    0x4(%ebx),%eax
4701d5:	0f 85 e2 01 00 00    	jne    0x4703bd
4701db:	83 3f 00             	cmpl   $0x0,(%edi)
4701de:	0f 84 d9 01 00 00    	je     0x4703bd
4701e4:	0f bf 87 88 00 00 00 	movswl 0x88(%edi),%eax
4701eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4701ee:	0f af c2             	imul   %edx,%eax
4701f1:	99                   	cltd
4701f2:	f7 fe                	idiv   %esi
4701f4:	8b f0                	mov    %eax,%esi
4701f6:	0f bf 87 8a 00 00 00 	movswl 0x8a(%edi),%eax
4701fd:	0f af 45 14          	imul   0x14(%ebp),%eax
470201:	99                   	cltd
470202:	f7 f9                	idiv   %ecx
470204:	8b c8                	mov    %eax,%ecx
470206:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
47020d:	0f af 45 10          	imul   0x10(%ebp),%eax
470211:	99                   	cltd
470212:	f7 7d f8             	idivl  -0x8(%ebp)
470215:	89 45 0c             	mov    %eax,0xc(%ebp)
470218:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
47021f:	0f af 45 14          	imul   0x14(%ebp),%eax
470223:	99                   	cltd
470224:	f7 7d fc             	idivl  -0x4(%ebp)
470227:	0f b7 97 86 00 00 00 	movzwl 0x86(%edi),%edx
47022e:	8b d8                	mov    %eax,%ebx
470230:	66 85 d2             	test   %dx,%dx
470233:	0f 84 4a 01 00 00    	je     0x470383
470239:	f7 c2 00 01 00 00    	test   $0x100,%edx
47023f:	74 5a                	je     0x47029b
470241:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
470248:	89 45 0c             	mov    %eax,0xc(%ebp)
47024b:	f6 c2 06             	test   $0x6,%dl
47024e:	75 4b                	jne    0x47029b
470250:	8b 45 10             	mov    0x10(%ebp),%eax
470253:	f6 c2 08             	test   $0x8,%dl
470256:	74 15                	je     0x47026d
470258:	2b 45 f8             	sub    -0x8(%ebp),%eax
47025b:	99                   	cltd
47025c:	2b c2                	sub    %edx,%eax
47025e:	8b f0                	mov    %eax,%esi
470260:	0f bf 87 88 00 00 00 	movswl 0x88(%edi),%eax
470267:	d1 fe                	sar    $1,%esi
470269:	03 f0                	add    %eax,%esi
47026b:	eb 27                	jmp    0x470294
47026d:	99                   	cltd
47026e:	2b c2                	sub    %edx,%eax
470270:	d1 f8                	sar    $1,%eax
470272:	3b f0                	cmp    %eax,%esi
470274:	7e 1e                	jle    0x470294
470276:	0f bf 97 88 00 00 00 	movswl 0x88(%edi),%edx
47027d:	8b 45 f8             	mov    -0x8(%ebp),%eax
470280:	8b 75 10             	mov    0x10(%ebp),%esi
470283:	2b c2                	sub    %edx,%eax
470285:	2b 45 0c             	sub    0xc(%ebp),%eax
470288:	0f af c6             	imul   %esi,%eax
47028b:	99                   	cltd
47028c:	f7 7d f8             	idivl  -0x8(%ebp)
47028f:	2b f0                	sub    %eax,%esi
470291:	2b 75 0c             	sub    0xc(%ebp),%esi
470294:	0f b7 97 86 00 00 00 	movzwl 0x86(%edi),%edx
47029b:	f7 c2 00 02 00 00    	test   $0x200,%edx
4702a1:	74 55                	je     0x4702f8
4702a3:	0f bf 9f 8e 00 00 00 	movswl 0x8e(%edi),%ebx
4702aa:	f6 c2 60             	test   $0x60,%dl
4702ad:	75 49                	jne    0x4702f8
4702af:	8b 45 14             	mov    0x14(%ebp),%eax
4702b2:	84 d2                	test   %dl,%dl
4702b4:	79 15                	jns    0x4702cb
4702b6:	2b 45 fc             	sub    -0x4(%ebp),%eax
4702b9:	99                   	cltd
4702ba:	2b c2                	sub    %edx,%eax
4702bc:	8b c8                	mov    %eax,%ecx
4702be:	0f bf 87 8a 00 00 00 	movswl 0x8a(%edi),%eax
4702c5:	d1 f9                	sar    $1,%ecx
4702c7:	03 c8                	add    %eax,%ecx
4702c9:	eb 26                	jmp    0x4702f1
4702cb:	99                   	cltd
4702cc:	2b c2                	sub    %edx,%eax
4702ce:	d1 f8                	sar    $1,%eax
4702d0:	3b c8                	cmp    %eax,%ecx
4702d2:	7e 1d                	jle    0x4702f1
4702d4:	0f bf 97 8a 00 00 00 	movswl 0x8a(%edi),%edx
4702db:	8b 45 fc             	mov    -0x4(%ebp),%eax
4702de:	2b c2                	sub    %edx,%eax
4702e0:	2b c3                	sub    %ebx,%eax
4702e2:	0f af 45 14          	imul   0x14(%ebp),%eax
4702e6:	99                   	cltd
4702e7:	f7 7d fc             	idivl  -0x4(%ebp)
4702ea:	8b 4d 14             	mov    0x14(%ebp),%ecx
4702ed:	2b c8                	sub    %eax,%ecx
4702ef:	2b cb                	sub    %ebx,%ecx
4702f1:	0f b7 97 86 00 00 00 	movzwl 0x86(%edi),%edx
4702f8:	8b c2                	mov    %edx,%eax
4702fa:	83 e0 02             	and    $0x2,%eax
4702fd:	74 07                	je     0x470306
4702ff:	0f bf b7 88 00 00 00 	movswl 0x88(%edi),%esi
470306:	f6 c2 04             	test   $0x4,%dl
470309:	74 35                	je     0x470340
47030b:	66 85 c0             	test   %ax,%ax
47030e:	74 17                	je     0x470327
470310:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax