46de7c:	33 ff                	xor    %edi,%edi
46de7e:	47                   	inc    %edi
46de7f:	3b c7                	cmp    %edi,%eax
46de81:	7e 1b                	jle    0x46de9e
46de83:	8b 4e 10             	mov    0x10(%esi),%ecx
46de86:	83 c1 08             	add    $0x8,%ecx
46de89:	f6 01 01             	testb  $0x1,(%ecx)
46de8c:	74 08                	je     0x46de96
46de8e:	47                   	inc    %edi
46de8f:	83 c1 08             	add    $0x8,%ecx
46de92:	3b f8                	cmp    %eax,%edi
46de94:	7c f3                	jl     0x46de89
46de96:	3b f8                	cmp    %eax,%edi
46de98:	0f 8c 92 00 00 00    	jl     0x46df30
46de9e:	8d 58 20             	lea    0x20(%eax),%ebx
46dea1:	8b 46 10             	mov    0x10(%esi),%eax
46dea4:	85 c0                	test   %eax,%eax
46dea6:	75 10                	jne    0x46deb8
46dea8:	8b c3                	mov    %ebx,%eax
46deaa:	c1 e0 03             	shl    $0x3,%eax
46dead:	50                   	push   %eax
46deae:	6a 02                	push   $0x2
46deb0:	ff 15 58 03 4b 00    	call   *0x4b0358
46deb6:	eb 25                	jmp    0x46dedd
46deb8:	50                   	push   %eax
46deb9:	ff 15 9c 02 4b 00    	call   *0x4b029c
46debf:	50                   	push   %eax
46dec0:	89 45 f8             	mov    %eax,-0x8(%ebp)
46dec3:	ff 15 44 03 4b 00    	call   *0x4b0344
46dec9:	68 02 20 00 00       	push   $0x2002
46dece:	8b c3                	mov    %ebx,%eax
46ded0:	c1 e0 03             	shl    $0x3,%eax
46ded3:	50                   	push   %eax
46ded4:	ff 75 f8             	push   -0x8(%ebp)
46ded7:	ff 15 a0 02 4b 00    	call   *0x4b02a0
46dedd:	85 c0                	test   %eax,%eax
46dedf:	75 23                	jne    0x46df04
46dee1:	8b 76 10             	mov    0x10(%esi),%esi
46dee4:	85 f6                	test   %esi,%esi
46dee6:	74 0e                	je     0x46def6
46dee8:	56                   	push   %esi
46dee9:	ff 15 9c 02 4b 00    	call   *0x4b029c
46deef:	50                   	push   %eax
46def0:	ff 15 40 03 4b 00    	call   *0x4b0340
46def6:	ff 75 fc             	push   -0x4(%ebp)
46def9:	ff 15 0c 03 4b 00    	call   *0x4b030c
46deff:	e9 13 75 fc ff       	jmp    0x435417
46df04:	50                   	push   %eax
46df05:	ff 15 40 03 4b 00    	call   *0x4b0340
46df0b:	8b 4e 04             	mov    0x4(%esi),%ecx
46df0e:	8b d3                	mov    %ebx,%edx
46df10:	2b d1                	sub    %ecx,%edx
46df12:	c1 e2 03             	shl    $0x3,%edx
46df15:	52                   	push   %edx
46df16:	89 45 f8             	mov    %eax,-0x8(%ebp)
46df19:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
46df1c:	6a 00                	push   $0x0
46df1e:	50                   	push   %eax
46df1f:	e8 1c a3 fa ff       	call   0x418240
46df24:	8b 45 f8             	mov    -0x8(%ebp),%eax
46df27:	83 c4 0c             	add    $0xc,%esp
46df2a:	89 5e 04             	mov    %ebx,0x4(%esi)
46df2d:	89 46 10             	mov    %eax,0x10(%esi)
46df30:	3b 7e 0c             	cmp    0xc(%esi),%edi
46df33:	7c 06                	jl     0x46df3b
46df35:	8d 47 01             	lea    0x1(%edi),%eax
46df38:	89 46 0c             	mov    %eax,0xc(%esi)
46df3b:	8b 46 10             	mov    0x10(%esi),%eax
46df3e:	ff 75 fc             	push   -0x4(%ebp)
46df41:	8d 04 f8             	lea    (%eax,%edi,8),%eax
46df44:	83 08 01             	orl    $0x1,(%eax)
46df47:	8d 47 01             	lea    0x1(%edi),%eax
46df4a:	89 46 08             	mov    %eax,0x8(%esi)
46df4d:	ff 15 0c 03 4b 00    	call   *0x4b030c
46df53:	8b c7                	mov    %edi,%eax
46df55:	5f                   	pop    %edi
46df56:	5e                   	pop    %esi
46df57:	5b                   	pop    %ebx
46df58:	c9                   	leave
46df59:	c3                   	ret
46df5a:	53                   	push   %ebx
46df5b:	56                   	push   %esi
46df5c:	8b f1                	mov    %ecx,%esi
46df5e:	57                   	push   %edi
46df5f:	8d 5e 1c             	lea    0x1c(%esi),%ebx
46df62:	53                   	push   %ebx
46df63:	ff 15 10 03 4b 00    	call   *0x4b0310
46df69:	8b 7c 24 10          	mov    0x10(%esp),%edi
46df6d:	85 ff                	test   %edi,%edi
46df6f:	7e 1e                	jle    0x46df8f
46df71:	3b 7e 0c             	cmp    0xc(%esi),%edi
46df74:	7d 19                	jge    0x46df8f
46df76:	ff 36                	push   (%esi)
46df78:	ff 15 98 02 4b 00    	call   *0x4b0298
46df7e:	85 c0                	test   %eax,%eax
46df80:	74 0d                	je     0x46df8f
46df82:	3b 78 08             	cmp    0x8(%eax),%edi
46df85:	7d 08                	jge    0x46df8f
46df87:	8b 40 0c             	mov    0xc(%eax),%eax
46df8a:	8b 3c b8             	mov    (%eax,%edi,4),%edi
46df8d:	eb 02                	jmp    0x46df91
46df8f:	33 ff                	xor    %edi,%edi
46df91:	53                   	push   %ebx
46df92:	ff 15 0c 03 4b 00    	call   *0x4b030c
46df98:	8b c7                	mov    %edi,%eax
46df9a:	5f                   	pop    %edi
46df9b:	5e                   	pop    %esi
46df9c:	5b                   	pop    %ebx
46df9d:	c2 04 00             	ret    $0x4
46dfa0:	56                   	push   %esi
46dfa1:	57                   	push   %edi
46dfa2:	8b f1                	mov    %ecx,%esi
46dfa4:	8d 7e 1c             	lea    0x1c(%esi),%edi
46dfa7:	57                   	push   %edi
46dfa8:	ff 15 10 03 4b 00    	call   *0x4b0310
46dfae:	33 c9                	xor    %ecx,%ecx
46dfb0:	41                   	inc    %ecx
46dfb1:	39 4e 0c             	cmp    %ecx,0xc(%esi)
46dfb4:	7e 1e                	jle    0x46dfd4
46dfb6:	8b 46 10             	mov    0x10(%esi),%eax
46dfb9:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
46dfbc:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
46dfc0:	75 0c                	jne    0x46dfce
46dfc2:	f6 00 01             	testb  $0x1,(%eax)
46dfc5:	74 07                	je     0x46dfce
46dfc7:	8b 54 24 0c          	mov    0xc(%esp),%edx
46dfcb:	89 50 04             	mov    %edx,0x4(%eax)
46dfce:	41                   	inc    %ecx
46dfcf:	3b 4e 0c             	cmp    0xc(%esi),%ecx
46dfd2:	7c e2                	jl     0x46dfb6
46dfd4:	57                   	push   %edi
46dfd5:	ff 15 0c 03 4b 00    	call   *0x4b030c
46dfdb:	5f                   	pop    %edi
46dfdc:	5e                   	pop    %esi
46dfdd:	c2 04 00             	ret    $0x4
46dfe0:	8b 01                	mov    (%ecx),%eax
46dfe2:	85 c0                	test   %eax,%eax
46dfe4:	74 11                	je     0x46dff7
46dfe6:	8b 0d 34 c4 4a 00    	mov    0x4ac434,%ecx
46dfec:	85 c9                	test   %ecx,%ecx
46dfee:	74 07                	je     0x46dff7
46dff0:	50                   	push   %eax
46dff1:	e8 64 ff ff ff       	call   0x46df5a
46dff6:	c3                   	ret
46dff7:	33 c0                	xor    %eax,%eax
46dff9:	c3                   	ret
46dffa:	b8 3f 2f 48 00       	mov    $0x482f3f,%eax
46dfff:	e8 78 9c fa ff       	call   0x417c7c
46e004:	51                   	push   %ecx
46e005:	51                   	push   %ecx
46e006:	53                   	push   %ebx
46e007:	56                   	push   %esi
46e008:	57                   	push   %edi
46e009:	8b f1                	mov    %ecx,%esi
46e00b:	33 ff                	xor    %edi,%edi
46e00d:	39 3e                	cmp    %edi,(%esi)
46e00f:	89 65 f0             	mov    %esp,-0x10(%ebp)
46e012:	75 1e                	jne    0x46e032
46e014:	6a 10                	push   $0x10
46e016:	e8 8b 05 00 00       	call   0x46e5a6
46e01b:	39 3e                	cmp    %edi,(%esi)
46e01d:	89 7d fc             	mov    %edi,-0x4(%ebp)
46e020:	75 05                	jne    0x46e027
46e022:	ff 55 08             	call   *0x8(%ebp)
46e025:	89 06                	mov    %eax,(%esi)
46e027:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46e02b:	6a 10                	push   $0x10
46e02d:	e8 d7 05 00 00       	call   0x46e609
46e032:	8b 06                	mov    (%esi),%eax
46e034:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46e037:	5f                   	pop    %edi
46e038:	5e                   	pop    %esi
46e039:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46e040:	5b                   	pop    %ebx
46e041:	c9                   	leave
46e042:	c2 04 00             	ret    $0x4
46e045:	6a 10                	push   $0x10
46e047:	e8 bd 05 00 00       	call   0x46e609
46e04c:	33 ff                	xor    %edi,%edi
46e04e:	57                   	push   %edi
46e04f:	57                   	push   %edi
46e050:	e8 02 95 fa ff       	call   0x417557
46e055:	cc                   	int3
46e056:	55                   	push   %ebp
46e057:	8b ec                	mov    %esp,%ebp
46e059:	51                   	push   %ecx
46e05a:	83 39 00             	cmpl   $0x0,(%ecx)
46e05d:	74 1a                	je     0x46e079
46e05f:	8b 01                	mov    (%ecx),%eax
46e061:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e064:	8b 45 fc             	mov    -0x4(%ebp),%eax
46e067:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e06a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46e06e:	74 09                	je     0x46e079
46e070:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46e073:	8b 01                	mov    (%ecx),%eax
46e075:	6a 01                	push   $0x1
46e077:	ff 10                	call   *(%eax)
46e079:	c9                   	leave
46e07a:	c3                   	ret
46e07b:	8b 0d 34 c4 4a 00    	mov    0x4ac434,%ecx
46e081:	85 c9                	test   %ecx,%ecx
46e083:	74 05                	je     0x46e08a
46e085:	e9 16 ff ff ff       	jmp    0x46dfa0
46e08a:	c2 04 00             	ret    $0x4
46e08d:	ff 05 30 c4 4a 00    	incl   0x4ac430
46e093:	c3                   	ret
46e094:	8b 44 24 04          	mov    0x4(%esp),%eax
46e098:	8b 51 04             	mov    0x4(%ecx),%edx
46e09b:	56                   	push   %esi
46e09c:	8b 31                	mov    (%ecx),%esi
46e09e:	89 34 10             	mov    %esi,(%eax,%edx,1)
46e0a1:	89 01                	mov    %eax,(%ecx)
46e0a3:	5e                   	pop    %esi
46e0a4:	c2 04 00             	ret    $0x4
46e0a7:	8b 11                	mov    (%ecx),%edx
46e0a9:	33 c0                	xor    %eax,%eax
46e0ab:	85 d2                	test   %edx,%edx
46e0ad:	74 33                	je     0x46e0e2
46e0af:	56                   	push   %esi
46e0b0:	8b 74 24 08          	mov    0x8(%esp),%esi
46e0b4:	3b d6                	cmp    %esi,%edx
46e0b6:	75 0a                	jne    0x46e0c2
46e0b8:	8b 41 04             	mov    0x4(%ecx),%eax
46e0bb:	8b 04 06             	mov    (%esi,%eax,1),%eax
46e0be:	89 01                	mov    %eax,(%ecx)
46e0c0:	eb 1c                	jmp    0x46e0de
46e0c2:	8b 49 04             	mov    0x4(%ecx),%ecx
46e0c5:	57                   	push   %edi
46e0c6:	8b 3c 11             	mov    (%ecx,%edx,1),%edi
46e0c9:	3b fe                	cmp    %esi,%edi
46e0cb:	74 06                	je     0x46e0d3
46e0cd:	8b d7                	mov    %edi,%edx
46e0cf:	85 d2                	test   %edx,%edx
46e0d1:	75 f3                	jne    0x46e0c6
46e0d3:	85 d2                	test   %edx,%edx
46e0d5:	5f                   	pop    %edi
46e0d6:	74 09                	je     0x46e0e1
46e0d8:	8b 04 31             	mov    (%ecx,%esi,1),%eax
46e0db:	89 04 11             	mov    %eax,(%ecx,%edx,1)
46e0de:	33 c0                	xor    %eax,%eax
46e0e0:	40                   	inc    %eax
46e0e1:	5e                   	pop    %esi
46e0e2:	c2 04 00             	ret    $0x4
46e0e5:	8b c1                	mov    %ecx,%eax
46e0e7:	c7 00 90 bb 48 00    	movl   $0x48bb90,(%eax)
46e0ed:	c3                   	ret
46e0ee:	8b c1                	mov    %ecx,%eax
46e0f0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
46e0f4:	83 20 00             	andl   $0x0,(%eax)
46e0f7:	89 48 04             	mov    %ecx,0x4(%eax)
46e0fa:	c2 04 00             	ret    $0x4
46e0fd:	8b 44 24 04          	mov    0x4(%esp),%eax
46e101:	8b 51 04             	mov    0x4(%ecx),%edx
46e104:	56                   	push   %esi
46e105:	8b 31                	mov    (%ecx),%esi
46e107:	89 34 10             	mov    %esi,(%eax,%edx,1)
46e10a:	89 01                	mov    %eax,(%ecx)
46e10c:	5e                   	pop    %esi
46e10d:	c2 04 00             	ret    $0x4
46e110:	e9 92 ff ff ff       	jmp    0x46e0a7
46e115:	8b 01                	mov    (%ecx),%eax
46e117:	c3                   	ret
46e118:	33 c0                	xor    %eax,%eax
46e11a:	56                   	push   %esi
46e11b:	8b f1                	mov    %ecx,%esi
46e11d:	89 46 14             	mov    %eax,0x14(%esi)
46e120:	89 46 18             	mov    %eax,0x18(%esi)
46e123:	c7 46 18 04 00 00 00 	movl   $0x4,0x18(%esi)
46e12a:	89 46 04             	mov    %eax,0x4(%esi)
46e12d:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
46e134:	89 46 0c             	mov    %eax,0xc(%esi)
46e137:	89 46 10             	mov    %eax,0x10(%esi)
46e13a:	ff 15 94 02 4b 00    	call   *0x4b0294
46e140:	83 f8 ff             	cmp    $0xffffffff,%eax
46e143:	89 06                	mov    %eax,(%esi)
46e145:	75 05                	jne    0x46e14c
46e147:	e9 cb 72 fc ff       	jmp    0x435417
46e14c:	8d 46 1c             	lea    0x1c(%esi),%eax
46e14f:	50                   	push   %eax
46e150:	ff 15 18 03 4b 00    	call   *0x4b0318
46e156:	8b c6                	mov    %esi,%eax
46e158:	5e                   	pop    %esi
46e159:	c3                   	ret
46e15a:	55                   	push   %ebp
46e15b:	8b ec                	mov    %esp,%ebp
46e15d:	51                   	push   %ecx
46e15e:	53                   	push   %ebx
46e15f:	8b d9                	mov    %ecx,%ebx
46e161:	8d 43 1c             	lea    0x1c(%ebx),%eax
46e164:	57                   	push   %edi
46e165:	50                   	push   %eax
46e166:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e169:	ff 15 10 03 4b 00    	call   *0x4b0310
46e16f:	8b 7d 08             	mov    0x8(%ebp),%edi
46e172:	85 ff                	test   %edi,%edi
46e174:	7e 41                	jle    0x46e1b7
46e176:	3b 7b 0c             	cmp    0xc(%ebx),%edi
46e179:	7d 3c                	jge    0x46e1b7
46e17b:	56                   	push   %esi
46e17c:	8b 73 14             	mov    0x14(%ebx),%esi
46e17f:	eb 1f                	jmp    0x46e1a0
46e181:	3b 7e 08             	cmp    0x8(%esi),%edi
46e184:	7d 17                	jge    0x46e19d
46e186:	8b 46 0c             	mov    0xc(%esi),%eax
46e189:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
46e18c:	85 c9                	test   %ecx,%ecx
46e18e:	74 06                	je     0x46e196
46e190:	8b 01                	mov    (%ecx),%eax
46e192:	6a 01                	push   $0x1
46e194:	ff 10                	call   *(%eax)
46e196:	8b 46 0c             	mov    0xc(%esi),%eax
46e199:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
46e19d:	8b 76 04             	mov    0x4(%esi),%esi
46e1a0:	85 f6                	test   %esi,%esi
46e1a2:	75 dd                	jne    0x46e181
46e1a4:	8b 43 10             	mov    0x10(%ebx),%eax
46e1a7:	ff 75 fc             	push   -0x4(%ebp)
46e1aa:	8d 04 f8             	lea    (%eax,%edi,8),%eax
46e1ad:	83 20 fe             	andl   $0xfffffffe,(%eax)
46e1b0:	ff 15 0c 03 4b 00    	call   *0x4b030c
46e1b6:	5e                   	pop    %esi
46e1b7:	5f                   	pop    %edi
46e1b8:	5b                   	pop    %ebx
46e1b9:	c9                   	leave
46e1ba:	c2 04 00             	ret    $0x4
46e1bd:	55                   	push   %ebp
46e1be:	8b ec                	mov    %esp,%ebp
46e1c0:	51                   	push   %ecx
46e1c1:	53                   	push   %ebx
46e1c2:	56                   	push   %esi
46e1c3:	57                   	push   %edi
46e1c4:	8b f9                	mov    %ecx,%edi
46e1c6:	8d 77 1c             	lea    0x1c(%edi),%esi
46e1c9:	56                   	push   %esi
46e1ca:	89 75 fc             	mov    %esi,-0x4(%ebp)
46e1cd:	ff 15 10 03 4b 00    	call   *0x4b0310
46e1d3:	8b 45 08             	mov    0x8(%ebp),%eax
46e1d6:	33 db                	xor    %ebx,%ebx
46e1d8:	3b c3                	cmp    %ebx,%eax
46e1da:	0f 8e d6 00 00 00    	jle    0x46e2b6
46e1e0:	3b 47 0c             	cmp    0xc(%edi),%eax
46e1e3:	0f 8d cd 00 00 00    	jge    0x46e2b6
46e1e9:	ff 37                	push   (%edi)
46e1eb:	ff 15 98 02 4b 00    	call   *0x4b0298
46e1f1:	8b f0                	mov    %eax,%esi
46e1f3:	3b f3                	cmp    %ebx,%esi
46e1f5:	74 17                	je     0x46e20e
46e1f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e1fa:	3b 4e 08             	cmp    0x8(%esi),%ecx