46eed0:	85 c0                	test   %eax,%eax
46eed2:	0f 84 9b 01 00 00    	je     0x46f073
46eed8:	8b 45 ec             	mov    -0x14(%ebp),%eax
46eedb:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46eedf:	0f 84 8e 01 00 00    	je     0x46f073
46eee5:	8b 06                	mov    (%esi),%eax
46eee7:	6a 06                	push   $0x6
46eee9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46eeec:	51                   	push   %ecx
46eeed:	8b ce                	mov    %esi,%ecx
46eeef:	ff 50 64             	call   *0x64(%eax)
46eef2:	85 c0                	test   %eax,%eax
46eef4:	75 0c                	jne    0x46ef02
46eef6:	8d 45 ec             	lea    -0x14(%ebp),%eax
46eef9:	50                   	push   %eax
46eefa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46eefd:	e8 f1 23 f9 ff       	call   0x4012f3
46ef02:	ff 75 ec             	push   -0x14(%ebp)
46ef05:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef08:	68 64 c0 48 00       	push   $0x48c064
46ef0d:	50                   	push   %eax
46ef0e:	e8 2e 21 f9 ff       	call   0x401041
46ef13:	83 c4 0c             	add    $0xc,%esp
46ef16:	ff 75 f0             	push   -0x10(%ebp)
46ef19:	e8 d5 fb ff ff       	call   0x46eaf3
46ef1e:	8b 06                	mov    (%esi),%eax
46ef20:	6a 00                	push   $0x0
46ef22:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46ef25:	51                   	push   %ecx
46ef26:	8b ce                	mov    %esi,%ecx
46ef28:	ff 50 64             	call   *0x64(%eax)
46ef2b:	85 c0                	test   %eax,%eax
46ef2d:	74 09                	je     0x46ef38
46ef2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
46ef32:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46ef36:	75 5f                	jne    0x46ef97
46ef38:	68 0c c0 48 00       	push   $0x48c00c
46ef3d:	ff 75 ec             	push   -0x14(%ebp)
46ef40:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef43:	68 9c c0 48 00       	push   $0x48c09c
46ef48:	50                   	push   %eax
46ef49:	e8 f3 20 f9 ff       	call   0x401041
46ef4e:	83 c4 10             	add    $0x10,%esp
46ef51:	ff 75 f0             	push   -0x10(%ebp)
46ef54:	e8 9a fb ff ff       	call   0x46eaf3
46ef59:	68 0c c0 48 00       	push   $0x48c00c
46ef5e:	ff 75 ec             	push   -0x14(%ebp)
46ef61:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef64:	68 88 c0 48 00       	push   $0x48c088
46ef69:	50                   	push   %eax
46ef6a:	e8 d2 20 f9 ff       	call   0x401041
46ef6f:	83 c4 10             	add    $0x10,%esp
46ef72:	ff 75 f0             	push   -0x10(%ebp)
46ef75:	e8 79 fb ff ff       	call   0x46eaf3
46ef7a:	68 0c c0 48 00       	push   $0x48c00c
46ef7f:	ff 75 ec             	push   -0x14(%ebp)
46ef82:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef85:	53                   	push   %ebx
46ef86:	50                   	push   %eax
46ef87:	e8 b5 20 f9 ff       	call   0x401041
46ef8c:	83 c4 10             	add    $0x10,%esp
46ef8f:	ff 75 f0             	push   -0x10(%ebp)
46ef92:	e8 5c fb ff ff       	call   0x46eaf3
46ef97:	57                   	push   %edi
46ef98:	ff 75 ec             	push   -0x14(%ebp)
46ef9b:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef9e:	68 9c c0 48 00       	push   $0x48c09c
46efa3:	50                   	push   %eax
46efa4:	e8 98 20 f9 ff       	call   0x401041
46efa9:	83 c4 10             	add    $0x10,%esp
46efac:	ff 75 f0             	push   -0x10(%ebp)
46efaf:	e8 3f fb ff ff       	call   0x46eaf3
46efb4:	57                   	push   %edi
46efb5:	ff 75 ec             	push   -0x14(%ebp)
46efb8:	8d 45 f0             	lea    -0x10(%ebp),%eax
46efbb:	68 88 c0 48 00       	push   $0x48c088
46efc0:	50                   	push   %eax
46efc1:	e8 7b 20 f9 ff       	call   0x401041
46efc6:	83 c4 10             	add    $0x10,%esp
46efc9:	ff 75 f0             	push   -0x10(%ebp)
46efcc:	e8 22 fb ff ff       	call   0x46eaf3
46efd1:	57                   	push   %edi
46efd2:	ff 75 ec             	push   -0x14(%ebp)
46efd5:	8d 45 f0             	lea    -0x10(%ebp),%eax
46efd8:	53                   	push   %ebx
46efd9:	50                   	push   %eax
46efda:	e8 62 20 f9 ff       	call   0x401041
46efdf:	83 c4 10             	add    $0x10,%esp
46efe2:	ff 75 f0             	push   -0x10(%ebp)
46efe5:	e8 09 fb ff ff       	call   0x46eaf3
46efea:	8b 06                	mov    (%esi),%eax
46efec:	6a 04                	push   $0x4
46efee:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46eff1:	51                   	push   %ecx
46eff2:	8b ce                	mov    %esi,%ecx
46eff4:	ff 50 64             	call   *0x64(%eax)
46eff7:	8b 45 e8             	mov    -0x18(%ebp),%eax
46effa:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46effe:	74 73                	je     0x46f073
46f000:	8b f0                	mov    %eax,%esi
46f002:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f005:	b9 08 02 00 00       	mov    $0x208,%ecx
46f00a:	50                   	push   %eax
46f00b:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
46f00e:	51                   	push   %ecx
46f00f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f012:	e8 79 21 f9 ff       	call   0x401190
46f017:	50                   	push   %eax
46f018:	56                   	push   %esi
46f019:	68 00 00 00 80       	push   $0x80000000
46f01e:	ff 15 98 fe 4a 00    	call   *0x4afe98
46f024:	6a ff                	push   $0xffffffff
46f026:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f029:	8b f0                	mov    %eax,%esi
46f02b:	e8 f7 20 f9 ff       	call   0x401127
46f030:	85 f6                	test   %esi,%esi
46f032:	75 1b                	jne    0x46f04f
46f034:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f037:	39 70 f4             	cmp    %esi,-0xc(%eax)
46f03a:	74 13                	je     0x46f04f
46f03c:	8d 45 ec             	lea    -0x14(%ebp),%eax
46f03f:	50                   	push   %eax
46f040:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f043:	50                   	push   %eax
46f044:	e8 c3 fb ff ff       	call   0x46ec0c
46f049:	84 c0                	test   %al,%al
46f04b:	59                   	pop    %ecx
46f04c:	59                   	pop    %ecx
46f04d:	74 24                	je     0x46f073
46f04f:	ff 75 e8             	push   -0x18(%ebp)
46f052:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f055:	68 58 c0 48 00       	push   $0x48c058
46f05a:	50                   	push   %eax
46f05b:	e8 e1 1f f9 ff       	call   0x401041
46f060:	83 c4 0c             	add    $0xc,%esp
46f063:	ff 75 f0             	push   -0x10(%ebp)
46f066:	e8 88 fa ff ff       	call   0x46eaf3
46f06b:	ff 75 e8             	push   -0x18(%ebp)
46f06e:	e8 80 fa ff ff       	call   0x46eaf3
46f073:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f076:	83 c1 f0             	add    $0xfffffff0,%ecx
46f079:	e8 d4 22 f9 ff       	call   0x401352
46f07e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f081:	83 c1 f0             	add    $0xfffffff0,%ecx
46f084:	e8 c9 22 f9 ff       	call   0x401352
46f089:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46f08c:	83 c1 f0             	add    $0xfffffff0,%ecx
46f08f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46f093:	e8 ba 22 f9 ff       	call   0x401352
46f098:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46f09c:	0f 85 d1 fd ff ff    	jne    0x46ee73
46f0a2:	5f                   	pop    %edi
46f0a3:	5b                   	pop    %ebx
46f0a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46f0a7:	83 c1 f0             	add    $0xfffffff0,%ecx
46f0aa:	e8 a3 22 f9 ff       	call   0x401352
46f0af:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46f0b2:	83 c1 f0             	add    $0xfffffff0,%ecx
46f0b5:	e8 98 22 f9 ff       	call   0x401352
46f0ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46f0bd:	5e                   	pop    %esi
46f0be:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46f0c5:	c9                   	leave
46f0c6:	c3                   	ret
46f0c7:	b8 f7 33 48 00       	mov    $0x4833f7,%eax
46f0cc:	e8 ab 8b fa ff       	call   0x417c7c
46f0d1:	83 ec 38             	sub    $0x38,%esp
46f0d4:	56                   	push   %esi
46f0d5:	8b f1                	mov    %ecx,%esi
46f0d7:	e8 1a 11 fd ff       	call   0x4401f6
46f0dc:	8b 10                	mov    (%eax),%edx
46f0de:	8b c8                	mov    %eax,%ecx
46f0e0:	ff 52 0c             	call   *0xc(%edx)
46f0e3:	83 c0 10             	add    $0x10,%eax
46f0e6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46f0e9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46f0ed:	e8 04 11 fd ff       	call   0x4401f6
46f0f2:	8b 10                	mov    (%eax),%edx
46f0f4:	8b c8                	mov    %eax,%ecx
46f0f6:	ff 52 0c             	call   *0xc(%edx)
46f0f9:	83 c0 10             	add    $0x10,%eax
46f0fc:	89 45 ec             	mov    %eax,-0x14(%ebp)
46f0ff:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46f103:	e8 f9 e7 ff ff       	call   0x46d901
46f108:	8b 40 08             	mov    0x8(%eax),%eax
46f10b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f10e:	51                   	push   %ecx
46f10f:	50                   	push   %eax
46f110:	e8 c7 99 fd ff       	call   0x448adc
46f115:	8b 46 08             	mov    0x8(%esi),%eax
46f118:	85 c0                	test   %eax,%eax
46f11a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46f11d:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
46f124:	0f 84 dc 04 00 00    	je     0x46f606
46f12a:	83 c6 04             	add    $0x4,%esi
46f12d:	53                   	push   %ebx
46f12e:	89 75 c0             	mov    %esi,-0x40(%ebp)
46f131:	57                   	push   %edi
46f132:	8b 4d c0             	mov    -0x40(%ebp),%ecx
46f135:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46f138:	50                   	push   %eax
46f139:	e8 24 83 f9 ff       	call   0x407462
46f13e:	8b 38                	mov    (%eax),%edi
46f140:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f143:	50                   	push   %eax
46f144:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46f147:	89 7d bc             	mov    %edi,-0x44(%ebp)
46f14a:	e8 83 1f f9 ff       	call   0x4010d2
46f14f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f152:	50                   	push   %eax
46f153:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46f156:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46f15a:	e8 73 1f f9 ff       	call   0x4010d2
46f15f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f162:	50                   	push   %eax
46f163:	8d 4d e0             	lea    -0x20(%ebp),%ecx
46f166:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46f16a:	e8 63 1f f9 ff       	call   0x4010d2
46f16f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f172:	50                   	push   %eax
46f173:	8d 4d c8             	lea    -0x38(%ebp),%ecx
46f176:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46f17a:	e8 53 1f f9 ff       	call   0x4010d2
46f17f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f182:	85 db                	test   %ebx,%ebx
46f184:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
46f188:	74 79                	je     0x46f203
46f18a:	e8 67 10 fd ff       	call   0x4401f6
46f18f:	8b 10                	mov    (%eax),%edx
46f191:	8b c8                	mov    %eax,%ecx
46f193:	ff 52 0c             	call   *0xc(%edx)
46f196:	83 c0 10             	add    $0x10,%eax
46f199:	89 45 cc             	mov    %eax,-0x34(%ebp)
46f19c:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
46f1a0:	e8 5c e7 ff ff       	call   0x46d901
46f1a5:	ff 75 d0             	push   -0x30(%ebp)
46f1a8:	8b 40 08             	mov    0x8(%eax),%eax
46f1ab:	ff 75 d4             	push   -0x2c(%ebp)
46f1ae:	50                   	push   %eax
46f1af:	ff 15 68 05 4b 00    	call   *0x4b0568
46f1b5:	8b f0                	mov    %eax,%esi
46f1b7:	85 f6                	test   %esi,%esi
46f1b9:	8d 45 cc             	lea    -0x34(%ebp),%eax
46f1bc:	74 1a                	je     0x46f1d8
46f1be:	ff 75 d0             	push   -0x30(%ebp)
46f1c1:	68 54 c0 48 00       	push   $0x48c054
46f1c6:	50                   	push   %eax
46f1c7:	e8 75 1e f9 ff       	call   0x401041
46f1cc:	83 c4 0c             	add    $0xc,%esp
46f1cf:	56                   	push   %esi
46f1d0:	ff 15 2c 06 4b 00    	call   *0x4b062c
46f1d6:	eb 10                	jmp    0x46f1e8
46f1d8:	6a 00                	push   $0x0
46f1da:	68 54 c0 48 00       	push   $0x48c054
46f1df:	50                   	push   %eax
46f1e0:	e8 5c 1e f9 ff       	call   0x401041
46f1e5:	83 c4 0c             	add    $0xc,%esp
46f1e8:	8b 75 cc             	mov    -0x34(%ebp),%esi
46f1eb:	ff 76 f4             	push   -0xc(%esi)
46f1ee:	8d 4d c8             	lea    -0x38(%ebp),%ecx
46f1f1:	56                   	push   %esi
46f1f2:	e8 44 74 f9 ff       	call   0x40663b
46f1f7:	8d 4e f0             	lea    -0x10(%esi),%ecx
46f1fa:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
46f1fe:	e8 4f 21 f9 ff       	call   0x401352
46f203:	e8 ee 0f fd ff       	call   0x4401f6
46f208:	8b 10                	mov    (%eax),%edx
46f20a:	8b c8                	mov    %eax,%ecx
46f20c:	ff 52 0c             	call   *0xc(%edx)
46f20f:	83 c0 10             	add    $0x10,%eax
46f212:	89 45 e8             	mov    %eax,-0x18(%ebp)
46f215:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
46f219:	e8 d8 0f fd ff       	call   0x4401f6
46f21e:	8b 10                	mov    (%eax),%edx
46f220:	8b c8                	mov    %eax,%ecx
46f222:	ff 52 0c             	call   *0xc(%edx)
46f225:	83 c0 10             	add    $0x10,%eax
46f228:	89 45 f0             	mov    %eax,-0x10(%ebp)
46f22b:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
46f22f:	e8 c2 0f fd ff       	call   0x4401f6
46f234:	8b 10                	mov    (%eax),%edx
46f236:	8b c8                	mov    %eax,%ecx
46f238:	ff 52 0c             	call   *0xc(%edx)
46f23b:	83 c0 10             	add    $0x10,%eax
46f23e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46f241:	8b 07                	mov    (%edi),%eax
46f243:	6a 05                	push   $0x5
46f245:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f248:	51                   	push   %ecx
46f249:	8b cf                	mov    %edi,%ecx
46f24b:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
46f24f:	ff 50 64             	call   *0x64(%eax)
46f252:	85 c0                	test   %eax,%eax
46f254:	8b 75 c8             	mov    -0x38(%ebp),%esi
46f257:	0f 84 4c 03 00 00    	je     0x46f5a9
46f25d:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f260:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46f264:	0f 84 3f 03 00 00    	je     0x46f5a9
46f26a:	8b 07                	mov    (%edi),%eax
46f26c:	6a 06                	push   $0x6
46f26e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46f271:	51                   	push   %ecx
46f272:	8b cf                	mov    %edi,%ecx
46f274:	ff 50 64             	call   *0x64(%eax)
46f277:	85 c0                	test   %eax,%eax
46f279:	75 0c                	jne    0x46f287
46f27b:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f27e:	50                   	push   %eax
46f27f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46f282:	e8 6c 20 f9 ff       	call   0x4012f3
46f287:	6a 00                	push   $0x0
46f289:	ff 75 e4             	push   -0x1c(%ebp)
46f28c:	ff 75 f0             	push   -0x10(%ebp)
46f28f:	e8 be f7 ff ff       	call   0x46ea52
46f294:	85 c0                	test   %eax,%eax
46f296:	75 2c                	jne    0x46f2c4
46f298:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f29b:	83 c1 f0             	add    $0xfffffff0,%ecx
46f29e:	e8 af 20 f9 ff       	call   0x401352
46f2a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46f2a6:	83 c1 f0             	add    $0xfffffff0,%ecx
46f2a9:	e8 a4 20 f9 ff       	call   0x401352
46f2ae:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46f2b1:	83 c1 f0             	add    $0xfffffff0,%ecx
46f2b4:	e8 99 20 f9 ff       	call   0x401352
46f2b9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46f2bc:	83 c1 f0             	add    $0xfffffff0,%ecx
46f2bf:	e9 1a 01 00 00       	jmp    0x46f3de
46f2c4:	85 db                	test   %ebx,%ebx
46f2c6:	74 27                	je     0x46f2ef
46f2c8:	ff 75 f0             	push   -0x10(%ebp)
46f2cb:	8d 45 ec             	lea    -0x14(%ebp),%eax
46f2ce:	68 64 c0 48 00       	push   $0x48c064
46f2d3:	50                   	push   %eax
46f2d4:	e8 68 1d f9 ff       	call   0x401041
46f2d9:	83 c4 0c             	add    $0xc,%esp
46f2dc:	6a 00                	push   $0x0
46f2de:	56                   	push   %esi
46f2df:	ff 75 ec             	push   -0x14(%ebp)
46f2e2:	e8 6b f7 ff ff       	call   0x46ea52
46f2e7:	85 c0                	test   %eax,%eax
46f2e9:	0f 84 cb 00 00 00    	je     0x46f3ba
46f2ef:	8b 07                	mov    (%edi),%eax
46f2f1:	6a 00                	push   $0x0
46f2f3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46f2f6:	51                   	push   %ecx
46f2f7:	8b cf                	mov    %edi,%ecx
46f2f9:	ff 50 64             	call   *0x64(%eax)
46f2fc:	85 c0                	test   %eax,%eax
46f2fe:	74 35                	je     0x46f335