46cf8c:	e8 a8 53 00 00       	call   0x472339
46cf91:	59                   	pop    %ecx
46cf92:	83 c8 ff             	or     $0xffffffff,%eax
46cf95:	eb f0                	jmp    0x46cf87
46cf97:	8b ff                	mov    %edi,%edi
46cf99:	57                   	push   %edi
46cf9a:	8b 3d 94 b8 4b 00    	mov    0x4bb894,%edi
46cfa0:	85 ff                	test   %edi,%edi
46cfa2:	75 05                	jne    0x46cfa9
46cfa4:	83 c8 ff             	or     $0xffffffff,%eax
46cfa7:	5f                   	pop    %edi
46cfa8:	c3                   	ret
46cfa9:	53                   	push   %ebx
46cfaa:	56                   	push   %esi
46cfab:	33 db                	xor    %ebx,%ebx
46cfad:	eb 4b                	jmp    0x46cffa
46cfaf:	53                   	push   %ebx
46cfb0:	53                   	push   %ebx
46cfb1:	6a ff                	push   $0xffffffff
46cfb3:	ff 37                	push   (%edi)
46cfb5:	53                   	push   %ebx
46cfb6:	53                   	push   %ebx
46cfb7:	ff 15 74 41 49 00    	call   *0x494174
46cfbd:	8b d8                	mov    %eax,%ebx
46cfbf:	85 db                	test   %ebx,%ebx
46cfc1:	74 48                	je     0x46d00b
46cfc3:	6a 02                	push   $0x2
46cfc5:	53                   	push   %ebx
46cfc6:	e8 88 52 00 00       	call   0x472253
46cfcb:	8b f0                	mov    %eax,%esi
46cfcd:	59                   	pop    %ecx
46cfce:	59                   	pop    %ecx
46cfcf:	85 f6                	test   %esi,%esi
46cfd1:	74 31                	je     0x46d004
46cfd3:	53                   	push   %ebx
46cfd4:	56                   	push   %esi
46cfd5:	6a ff                	push   $0xffffffff
46cfd7:	ff 37                	push   (%edi)
46cfd9:	33 db                	xor    %ebx,%ebx
46cfdb:	53                   	push   %ebx
46cfdc:	53                   	push   %ebx
46cfdd:	ff 15 74 41 49 00    	call   *0x494174
46cfe3:	85 c0                	test   %eax,%eax
46cfe5:	74 1d                	je     0x46d004
46cfe7:	53                   	push   %ebx
46cfe8:	56                   	push   %esi
46cfe9:	e8 ef 1c 01 00       	call   0x47ecdd
46cfee:	53                   	push   %ebx
46cfef:	e8 45 53 00 00       	call   0x472339
46cff4:	83 c4 0c             	add    $0xc,%esp
46cff7:	83 c7 04             	add    $0x4,%edi
46cffa:	39 1f                	cmp    %ebx,(%edi)
46cffc:	75 b1                	jne    0x46cfaf
46cffe:	33 c0                	xor    %eax,%eax
46d000:	5e                   	pop    %esi
46d001:	5b                   	pop    %ebx
46d002:	5f                   	pop    %edi
46d003:	c3                   	ret
46d004:	56                   	push   %esi
46d005:	e8 2f 53 00 00       	call   0x472339
46d00a:	59                   	pop    %ecx
46d00b:	83 c8 ff             	or     $0xffffffff,%eax
46d00e:	eb f0                	jmp    0x46d000
46d010:	8b ff                	mov    %edi,%edi
46d012:	55                   	push   %ebp
46d013:	8b ec                	mov    %esp,%ebp
46d015:	8b 45 0c             	mov    0xc(%ebp),%eax
46d018:	ff 30                	push   (%eax)
46d01a:	8b 45 08             	mov    0x8(%ebp),%eax
46d01d:	ff 30                	push   (%eax)
46d01f:	e8 ae 1c 01 00       	call   0x47ecd2
46d024:	59                   	pop    %ecx
46d025:	59                   	pop    %ecx
46d026:	5d                   	pop    %ebp
46d027:	c3                   	ret
46d028:	8b ff                	mov    %edi,%edi
46d02a:	55                   	push   %ebp
46d02b:	8b ec                	mov    %esp,%ebp
46d02d:	8b 45 0c             	mov    0xc(%ebp),%eax
46d030:	ff 30                	push   (%eax)
46d032:	8b 45 08             	mov    0x8(%ebp),%eax
46d035:	ff 30                	push   (%eax)
46d037:	e8 a1 1c 01 00       	call   0x47ecdd
46d03c:	59                   	pop    %ecx
46d03d:	59                   	pop    %ecx
46d03e:	5d                   	pop    %ebp
46d03f:	c3                   	ret
46d040:	8b ff                	mov    %edi,%edi
46d042:	55                   	push   %ebp
46d043:	8b ec                	mov    %esp,%ebp
46d045:	8b 45 10             	mov    0x10(%ebp),%eax
46d048:	ff 30                	push   (%eax)
46d04a:	8b 45 0c             	mov    0xc(%ebp),%eax
46d04d:	ff 30                	push   (%eax)
46d04f:	8b 45 08             	mov    0x8(%ebp),%eax
46d052:	ff 30                	push   (%eax)
46d054:	e8 dd 31 00 00       	call   0x470236
46d059:	83 c4 0c             	add    $0xc,%esp
46d05c:	5d                   	pop    %ebp
46d05d:	c3                   	ret
46d05e:	8b ff                	mov    %edi,%edi
46d060:	55                   	push   %ebp
46d061:	8b ec                	mov    %esp,%ebp
46d063:	8b 45 10             	mov    0x10(%ebp),%eax
46d066:	ff 30                	push   (%eax)
46d068:	8b 45 0c             	mov    0xc(%ebp),%eax
46d06b:	ff 30                	push   (%eax)
46d06d:	8b 45 08             	mov    0x8(%ebp),%eax
46d070:	ff 30                	push   (%eax)
46d072:	e8 f0 ad ff ff       	call   0x467e67
46d077:	83 c4 0c             	add    $0xc,%esp
46d07a:	5d                   	pop    %ebp
46d07b:	c3                   	ret
46d07c:	8b ff                	mov    %edi,%edi
46d07e:	55                   	push   %ebp
46d07f:	8b ec                	mov    %esp,%ebp
46d081:	8b 45 08             	mov    0x8(%ebp),%eax
46d084:	8b 00                	mov    (%eax),%eax
46d086:	8d 50 01             	lea    0x1(%eax),%edx
46d089:	8a 08                	mov    (%eax),%cl
46d08b:	40                   	inc    %eax
46d08c:	84 c9                	test   %cl,%cl
46d08e:	75 f9                	jne    0x46d089
46d090:	2b c2                	sub    %edx,%eax
46d092:	5d                   	pop    %ebp
46d093:	c3                   	ret
46d094:	8b ff                	mov    %edi,%edi
46d096:	55                   	push   %ebp
46d097:	8b ec                	mov    %esp,%ebp
46d099:	8b 45 08             	mov    0x8(%ebp),%eax
46d09c:	8b 00                	mov    (%eax),%eax
46d09e:	8d 50 02             	lea    0x2(%eax),%edx
46d0a1:	66 8b 08             	mov    (%eax),%cx
46d0a4:	83 c0 02             	add    $0x2,%eax
46d0a7:	66 85 c9             	test   %cx,%cx
46d0aa:	75 f5                	jne    0x46d0a1
46d0ac:	2b c2                	sub    %edx,%eax
46d0ae:	d1 f8                	sar    $1,%eax
46d0b0:	5d                   	pop    %ebp
46d0b1:	c3                   	ret
46d0b2:	8b ff                	mov    %edi,%edi
46d0b4:	55                   	push   %ebp
46d0b5:	8b ec                	mov    %esp,%ebp
46d0b7:	51                   	push   %ecx
46d0b8:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46d0bd:	33 c5                	xor    %ebp,%eax
46d0bf:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d0c2:	56                   	push   %esi
46d0c3:	8b f1                	mov    %ecx,%esi
46d0c5:	57                   	push   %edi
46d0c6:	8d 7e 04             	lea    0x4(%esi),%edi
46d0c9:	eb 11                	jmp    0x46d0dc
46d0cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
46d0ce:	56                   	push   %esi
46d0cf:	ff 15 54 43 49 00    	call   *0x494354
46d0d5:	ff 55 08             	call   *0x8(%ebp)
46d0d8:	59                   	pop    %ecx
46d0d9:	83 c6 04             	add    $0x4,%esi
46d0dc:	3b f7                	cmp    %edi,%esi
46d0de:	75 eb                	jne    0x46d0cb
46d0e0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46d0e3:	5f                   	pop    %edi
46d0e4:	33 cd                	xor    %ebp,%ecx
46d0e6:	5e                   	pop    %esi
46d0e7:	e8 16 29 fd ff       	call   0x43fa02
46d0ec:	8b e5                	mov    %ebp,%esp
46d0ee:	5d                   	pop    %ebp
46d0ef:	c2 04 00             	ret    $0x4
46d0f2:	8b ff                	mov    %edi,%edi
46d0f4:	55                   	push   %ebp
46d0f5:	8b ec                	mov    %esp,%ebp
46d0f7:	51                   	push   %ecx
46d0f8:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46d0fd:	33 c5                	xor    %ebp,%eax
46d0ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d102:	56                   	push   %esi
46d103:	8b f1                	mov    %ecx,%esi
46d105:	57                   	push   %edi
46d106:	8d 7e 04             	lea    0x4(%esi),%edi
46d109:	eb 11                	jmp    0x46d11c
46d10b:	8b 4d 08             	mov    0x8(%ebp),%ecx
46d10e:	56                   	push   %esi
46d10f:	ff 15 54 43 49 00    	call   *0x494354
46d115:	ff 55 08             	call   *0x8(%ebp)
46d118:	59                   	pop    %ecx
46d119:	83 c6 04             	add    $0x4,%esi
46d11c:	3b f7                	cmp    %edi,%esi
46d11e:	75 eb                	jne    0x46d10b
46d120:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46d123:	5f                   	pop    %edi
46d124:	33 cd                	xor    %ebp,%ecx
46d126:	5e                   	pop    %esi
46d127:	e8 d6 28 fd ff       	call   0x43fa02
46d12c:	8b e5                	mov    %ebp,%esp
46d12e:	5d                   	pop    %ebp
46d12f:	c2 04 00             	ret    $0x4
46d132:	8b ff                	mov    %edi,%edi
46d134:	55                   	push   %ebp
46d135:	8b ec                	mov    %esp,%ebp
46d137:	8b 45 08             	mov    0x8(%ebp),%eax
46d13a:	8b 00                	mov    (%eax),%eax
46d13c:	3b 05 a0 b8 4b 00    	cmp    0x4bb8a0,%eax
46d142:	74 07                	je     0x46d14b
46d144:	50                   	push   %eax
46d145:	e8 66 fd ff ff       	call   0x46ceb0
46d14a:	59                   	pop    %ecx
46d14b:	5d                   	pop    %ebp
46d14c:	c3                   	ret
46d14d:	8b ff                	mov    %edi,%edi
46d14f:	55                   	push   %ebp
46d150:	8b ec                	mov    %esp,%ebp
46d152:	8b 45 08             	mov    0x8(%ebp),%eax
46d155:	8b 00                	mov    (%eax),%eax
46d157:	3b 05 9c b8 4b 00    	cmp    0x4bb89c,%eax
46d15d:	74 07                	je     0x46d166
46d15f:	50                   	push   %eax
46d160:	e8 7a fd ff ff       	call   0x46cedf
46d165:	59                   	pop    %ecx
46d166:	5d                   	pop    %ebp
46d167:	c3                   	ret
46d168:	33 c0                	xor    %eax,%eax
46d16a:	39 01                	cmp    %eax,(%ecx)
46d16c:	0f 95 c0             	setne  %al
46d16f:	c3                   	ret
46d170:	33 c0                	xor    %eax,%eax
46d172:	39 01                	cmp    %eax,(%ecx)
46d174:	0f 95 c0             	setne  %al
46d177:	c3                   	ret
46d178:	33 c0                	xor    %eax,%eax
46d17a:	39 01                	cmp    %eax,(%ecx)
46d17c:	0f 95 c0             	setne  %al
46d17f:	c3                   	ret
46d180:	8b ff                	mov    %edi,%edi
46d182:	55                   	push   %ebp
46d183:	8b ec                	mov    %esp,%ebp
46d185:	33 c0                	xor    %eax,%eax
46d187:	50                   	push   %eax
46d188:	50                   	push   %eax
46d189:	6a ff                	push   $0xffffffff
46d18b:	ff 75 0c             	push   0xc(%ebp)
46d18e:	50                   	push   %eax
46d18f:	ff 75 08             	push   0x8(%ebp)
46d192:	ff 15 74 41 49 00    	call   *0x494174
46d198:	5d                   	pop    %ebp
46d199:	c3                   	ret
46d19a:	8b ff                	mov    %edi,%edi
46d19c:	55                   	push   %ebp
46d19d:	8b ec                	mov    %esp,%ebp
46d19f:	33 c0                	xor    %eax,%eax
46d1a1:	50                   	push   %eax
46d1a2:	50                   	push   %eax
46d1a3:	50                   	push   %eax
46d1a4:	50                   	push   %eax
46d1a5:	6a ff                	push   $0xffffffff
46d1a7:	ff 75 0c             	push   0xc(%ebp)
46d1aa:	50                   	push   %eax
46d1ab:	ff 75 08             	push   0x8(%ebp)
46d1ae:	ff 15 78 41 49 00    	call   *0x494178
46d1b4:	5d                   	pop    %ebp
46d1b5:	c3                   	ret
46d1b6:	8b ff                	mov    %edi,%edi
46d1b8:	55                   	push   %ebp
46d1b9:	8b ec                	mov    %esp,%ebp
46d1bb:	ff 75 14             	push   0x14(%ebp)
46d1be:	ff 75 10             	push   0x10(%ebp)
46d1c1:	6a ff                	push   $0xffffffff
46d1c3:	ff 75 0c             	push   0xc(%ebp)
46d1c6:	6a 00                	push   $0x0
46d1c8:	ff 75 08             	push   0x8(%ebp)
46d1cb:	ff 15 74 41 49 00    	call   *0x494174
46d1d1:	5d                   	pop    %ebp
46d1d2:	c3                   	ret
46d1d3:	8b ff                	mov    %edi,%edi
46d1d5:	55                   	push   %ebp
46d1d6:	8b ec                	mov    %esp,%ebp
46d1d8:	33 c0                	xor    %eax,%eax
46d1da:	50                   	push   %eax
46d1db:	50                   	push   %eax
46d1dc:	ff 75 14             	push   0x14(%ebp)
46d1df:	ff 75 10             	push   0x10(%ebp)
46d1e2:	6a ff                	push   $0xffffffff
46d1e4:	ff 75 0c             	push   0xc(%ebp)
46d1e7:	50                   	push   %eax
46d1e8:	ff 75 08             	push   0x8(%ebp)
46d1eb:	ff 15 78 41 49 00    	call   *0x494178
46d1f1:	5d                   	pop    %ebp
46d1f2:	c3                   	ret
46d1f3:	b8 94 b8 4b 00       	mov    $0x4bb894,%eax
46d1f8:	c3                   	ret
46d1f9:	b8 98 b8 4b 00       	mov    $0x4bb898,%eax
46d1fe:	c3                   	ret
46d1ff:	b8 94 b8 4b 00       	mov    $0x4bb894,%eax
46d204:	c3                   	ret
46d205:	b8 98 b8 4b 00       	mov    $0x4bb898,%eax
46d20a:	c3                   	ret
46d20b:	b8 a0 b8 4b 00       	mov    $0x4bb8a0,%eax
46d210:	c3                   	ret
46d211:	b8 9c b8 4b 00       	mov    $0x4bb89c,%eax
46d216:	c3                   	ret
46d217:	8b ff                	mov    %edi,%edi
46d219:	55                   	push   %ebp
46d21a:	8b ec                	mov    %esp,%ebp
46d21c:	8d 41 04             	lea    0x4(%ecx),%eax
46d21f:	8b d0                	mov    %eax,%edx
46d221:	2b d1                	sub    %ecx,%edx
46d223:	83 c2 03             	add    $0x3,%edx
46d226:	56                   	push   %esi
46d227:	33 f6                	xor    %esi,%esi
46d229:	c1 ea 02             	shr    $0x2,%edx
46d22c:	3b c1                	cmp    %ecx,%eax
46d22e:	1b c0                	sbb    %eax,%eax
46d230:	f7 d0                	not    %eax
46d232:	23 c2                	and    %edx,%eax
46d234:	74 0d                	je     0x46d243
46d236:	8b 55 08             	mov    0x8(%ebp),%edx
46d239:	46                   	inc    %esi
46d23a:	89 11                	mov    %edx,(%ecx)
46d23c:	8d 49 04             	lea    0x4(%ecx),%ecx
46d23f:	3b f0                	cmp    %eax,%esi
46d241:	75 f6                	jne    0x46d239
46d243:	5e                   	pop    %esi
46d244:	5d                   	pop    %ebp
46d245:	c2 04 00             	ret    $0x4
46d248:	8b ff                	mov    %edi,%edi
46d24a:	55                   	push   %ebp
46d24b:	8b ec                	mov    %esp,%ebp
46d24d:	8d 41 04             	lea    0x4(%ecx),%eax
46d250:	8b d0                	mov    %eax,%edx
46d252:	2b d1                	sub    %ecx,%edx
46d254:	83 c2 03             	add    $0x3,%edx
46d257:	56                   	push   %esi
46d258:	33 f6                	xor    %esi,%esi
46d25a:	c1 ea 02             	shr    $0x2,%edx
46d25d:	3b c1                	cmp    %ecx,%eax
46d25f:	1b c0                	sbb    %eax,%eax
46d261:	f7 d0                	not    %eax
46d263:	23 c2                	and    %edx,%eax
46d265:	74 0d                	je     0x46d274
46d267:	8b 55 08             	mov    0x8(%ebp),%edx
46d26a:	46                   	inc    %esi
46d26b:	89 11                	mov    %edx,(%ecx)
46d26d:	8d 49 04             	lea    0x4(%ecx),%ecx
46d270:	3b f0                	cmp    %eax,%esi
46d272:	75 f6                	jne    0x46d26a
46d274:	5e                   	pop    %esi
46d275:	5d                   	pop    %ebp
46d276:	c2 04 00             	ret    $0x4
46d279:	33 c0                	xor    %eax,%eax
46d27b:	39 01                	cmp    %eax,(%ecx)
46d27d:	0f 95 c0             	setne  %al