412f9b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412f9e:	5f                   	pop    %edi
412f9f:	5e                   	pop    %esi
412fa0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412fa7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
412faa:	5b                   	pop    %ebx
412fab:	e8 2e 4c 00 00       	call   0x417bde
412fb0:	c9                   	leave
412fb1:	c3                   	ret
412fb2:	83 7c 24 0c 0e       	cmpl   $0xe,0xc(%esp)
412fb7:	56                   	push   %esi
412fb8:	75 6c                	jne    0x413026
412fba:	8b 44 24 08          	mov    0x8(%esp),%eax
412fbe:	8b 70 a8             	mov    -0x58(%eax),%esi
412fc1:	85 f6                	test   %esi,%esi
412fc3:	74 61                	je     0x413026
412fc5:	8b 46 50             	mov    0x50(%esi),%eax
412fc8:	ff 30                	push   (%eax)
412fca:	8b 4e 54             	mov    0x54(%esi),%ecx
412fcd:	e8 b3 f5 ff ff       	call   0x412585
412fd2:	8b 4e 54             	mov    0x54(%esi),%ecx
412fd5:	e8 7b b2 ff ff       	call   0x40e255
412fda:	8b 46 50             	mov    0x50(%esi),%eax
412fdd:	ff 30                	push   (%eax)
412fdf:	8b 4e 54             	mov    0x54(%esi),%ecx
412fe2:	e8 91 f6 ff ff       	call   0x412678
412fe7:	8b 46 54             	mov    0x54(%esi),%eax
412fea:	8b 40 0c             	mov    0xc(%eax),%eax
412fed:	39 46 10             	cmp    %eax,0x10(%esi)
412ff0:	74 34                	je     0x413026
412ff2:	ff 76 14             	push   0x14(%esi)
412ff5:	89 46 10             	mov    %eax,0x10(%esi)
412ff8:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
412ffe:	8b 46 10             	mov    0x10(%esi),%eax
413001:	8d 04 80             	lea    (%eax,%eax,4),%eax
413004:	c1 e0 03             	shl    $0x3,%eax
413007:	50                   	push   %eax
413008:	ff 15 18 0b 4b 00    	call   *0x4b0b18
41300e:	89 46 14             	mov    %eax,0x14(%esi)
413011:	8b 76 10             	mov    0x10(%esi),%esi
413014:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
413017:	c1 e1 03             	shl    $0x3,%ecx
41301a:	51                   	push   %ecx
41301b:	6a 00                	push   $0x0
41301d:	50                   	push   %eax
41301e:	e8 1d 52 00 00       	call   0x418240
413023:	83 c4 0c             	add    $0xc,%esp
413026:	33 c0                	xor    %eax,%eax
413028:	5e                   	pop    %esi
413029:	c2 14 00             	ret    $0x14
41302c:	56                   	push   %esi
41302d:	8b f1                	mov    %ecx,%esi
41302f:	8b 4e 10             	mov    0x10(%esi),%ecx
413032:	85 c9                	test   %ecx,%ecx
413034:	74 27                	je     0x41305d
413036:	8b 06                	mov    (%esi),%eax
413038:	85 c0                	test   %eax,%eax
41303a:	74 06                	je     0x413042
41303c:	50                   	push   %eax
41303d:	e8 43 f5 ff ff       	call   0x412585
413042:	57                   	push   %edi
413043:	8b 7e 10             	mov    0x10(%esi),%edi
413046:	85 ff                	test   %edi,%edi
413048:	74 0e                	je     0x413058
41304a:	8b cf                	mov    %edi,%ecx
41304c:	e8 3d eb ff ff       	call   0x411b8e
413051:	57                   	push   %edi
413052:	e8 29 d0 02 00       	call   0x440080
413057:	59                   	pop    %ecx
413058:	83 66 10 00          	andl   $0x0,0x10(%esi)
41305c:	5f                   	pop    %edi
41305d:	83 3e 00             	cmpl   $0x0,(%esi)
413060:	74 27                	je     0x413089
413062:	8b ce                	mov    %esi,%ecx
413064:	e8 fb c8 ff ff       	call   0x40f964
413069:	8b 06                	mov    (%esi),%eax
41306b:	85 c0                	test   %eax,%eax
41306d:	74 09                	je     0x413078
41306f:	83 26 00             	andl   $0x0,(%esi)
413072:	8b 08                	mov    (%eax),%ecx
413074:	50                   	push   %eax
413075:	ff 51 08             	call   *0x8(%ecx)
413078:	8b 46 04             	mov    0x4(%esi),%eax
41307b:	85 c0                	test   %eax,%eax
41307d:	74 0a                	je     0x413089
41307f:	83 66 04 00          	andl   $0x0,0x4(%esi)
413083:	8b 08                	mov    (%eax),%ecx
413085:	50                   	push   %eax
413086:	ff 51 08             	call   *0x8(%ecx)
413089:	5e                   	pop    %esi
41308a:	c3                   	ret
41308b:	8b c1                	mov    %ecx,%eax
41308d:	c7 00 7c c7 48 00    	movl   $0x48c77c,(%eax)
413093:	c3                   	ret
413094:	55                   	push   %ebp
413095:	8b ec                	mov    %esp,%ebp
413097:	83 ec 34             	sub    $0x34,%esp
41309a:	53                   	push   %ebx
41309b:	56                   	push   %esi
41309c:	8b f1                	mov    %ecx,%esi
41309e:	8b 46 04             	mov    0x4(%esi),%eax
4130a1:	8b 48 24             	mov    0x24(%eax),%ecx
4130a4:	57                   	push   %edi
4130a5:	e8 63 2e 03 00       	call   0x445f0d
4130aa:	8b f8                	mov    %eax,%edi
4130ac:	ff 77 1c             	push   0x1c(%edi)
4130af:	89 7d f8             	mov    %edi,-0x8(%ebp)
4130b2:	ff 15 a0 07 4b 00    	call   *0x4b07a0
4130b8:	f7 d8                	neg    %eax
4130ba:	1b c0                	sbb    %eax,%eax
4130bc:	40                   	inc    %eax
4130bd:	6a 00                	push   $0x0
4130bf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4130c2:	5b                   	pop    %ebx
4130c3:	74 51                	je     0x413116
4130c5:	ff 15 60 08 4b 00    	call   *0x4b0860
4130cb:	50                   	push   %eax
4130cc:	e8 d1 1b 03 00       	call   0x444ca2
4130d1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4130d4:	51                   	push   %ecx
4130d5:	ff 70 1c             	push   0x1c(%eax)
4130d8:	ff 15 40 07 4b 00    	call   *0x4b0740
4130de:	8d 45 dc             	lea    -0x24(%ebp),%eax
4130e1:	50                   	push   %eax
4130e2:	ff 77 1c             	push   0x1c(%edi)
4130e5:	ff 15 40 07 4b 00    	call   *0x4b0740
4130eb:	8b 45 d8             	mov    -0x28(%ebp),%eax
4130ee:	2b 45 d0             	sub    -0x30(%ebp),%eax
4130f1:	53                   	push   %ebx
4130f2:	99                   	cltd
4130f3:	2b c2                	sub    %edx,%eax
4130f5:	d1 f8                	sar    $1,%eax
4130f7:	53                   	push   %ebx
4130f8:	53                   	push   %ebx
4130f9:	50                   	push   %eax
4130fa:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4130fd:	2b 45 cc             	sub    -0x34(%ebp),%eax
413100:	8b cf                	mov    %edi,%ecx
413102:	99                   	cltd
413103:	2b c2                	sub    %edx,%eax
413105:	d1 f8                	sar    $1,%eax
413107:	50                   	push   %eax
413108:	e8 20 dc 02 00       	call   0x440d2d
41310d:	6a 01                	push   $0x1
41310f:	8b cf                	mov    %edi,%ecx
413111:	e8 55 dc 02 00       	call   0x440d6b
413116:	8b 46 04             	mov    0x4(%esi),%eax
413119:	8b 40 4c             	mov    0x4c(%eax),%eax
41311c:	8b 08                	mov    (%eax),%ecx
41311e:	8d 7e 48             	lea    0x48(%esi),%edi
413121:	57                   	push   %edi
413122:	68 58 c5 48 00       	push   $0x48c558
413127:	50                   	push   %eax
413128:	ff 11                	call   *(%ecx)
41312a:	85 c0                	test   %eax,%eax
41312c:	7c 5c                	jl     0x41318a
41312e:	8b 07                	mov    (%edi),%eax
413130:	8b 08                	mov    (%eax),%ecx
413132:	8d 7e 4c             	lea    0x4c(%esi),%edi
413135:	57                   	push   %edi
413136:	68 ac 65 49 00       	push   $0x4965ac
41313b:	53                   	push   %ebx
41313c:	50                   	push   %eax
41313d:	ff 51 0c             	call   *0xc(%ecx)
413140:	39 1f                	cmp    %ebx,(%edi)
413142:	89 45 fc             	mov    %eax,-0x4(%ebp)
413145:	75 07                	jne    0x41314e
413147:	c7 45 fc 03 40 00 80 	movl   $0x80004003,-0x4(%ebp)
41314e:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
413151:	0f 8d a4 00 00 00    	jge    0x4131fb
413157:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
41315a:	74 26                	je     0x413182
41315c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41315f:	2b 45 e0             	sub    -0x20(%ebp),%eax
413162:	8b 4d f8             	mov    -0x8(%ebp),%ecx
413165:	53                   	push   %ebx
413166:	50                   	push   %eax
413167:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41316a:	2b 45 dc             	sub    -0x24(%ebp),%eax
41316d:	50                   	push   %eax
41316e:	ff 75 e0             	push   -0x20(%ebp)
413171:	ff 75 dc             	push   -0x24(%ebp)
413174:	e8 b4 db 02 00       	call   0x440d2d
413179:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41317c:	53                   	push   %ebx
41317d:	e8 e9 db 02 00       	call   0x440d6b
413182:	8b 45 fc             	mov    -0x4(%ebp),%eax
413185:	e9 a7 00 00 00       	jmp    0x413231
41318a:	8b 46 04             	mov    0x4(%esi),%eax
41318d:	8b 40 4c             	mov    0x4c(%eax),%eax
413190:	8b 08                	mov    (%eax),%ecx
413192:	8d 55 f4             	lea    -0xc(%ebp),%edx
413195:	52                   	push   %edx
413196:	68 b0 c4 48 00       	push   $0x48c4b0
41319b:	50                   	push   %eax
41319c:	ff 11                	call   *(%ecx)
41319e:	3b c3                	cmp    %ebx,%eax
4131a0:	0f 8c 8b 00 00 00    	jl     0x413231
4131a6:	8b 45 f4             	mov    -0xc(%ebp),%eax
4131a9:	8b 08                	mov    (%eax),%ecx
4131ab:	8d 55 f0             	lea    -0x10(%ebp),%edx
4131ae:	52                   	push   %edx
4131af:	50                   	push   %eax
4131b0:	ff 51 14             	call   *0x14(%ecx)
4131b3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4131b6:	8b 08                	mov    (%eax),%ecx
4131b8:	50                   	push   %eax
4131b9:	ff 51 08             	call   *0x8(%ecx)
4131bc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4131bf:	3b c3                	cmp    %ebx,%eax
4131c1:	75 07                	jne    0x4131ca
4131c3:	b8 05 40 00 80       	mov    $0x80004005,%eax
4131c8:	eb 67                	jmp    0x413231
4131ca:	8b 08                	mov    (%eax),%ecx
4131cc:	8d 7e 08             	lea    0x8(%esi),%edi
4131cf:	57                   	push   %edi
4131d0:	68 8c 46 49 00       	push   $0x49468c
4131d5:	50                   	push   %eax
4131d6:	ff 11                	call   *(%ecx)
4131d8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4131db:	8b 45 f0             	mov    -0x10(%ebp),%eax
4131de:	8b 08                	mov    (%eax),%ecx
4131e0:	50                   	push   %eax
4131e1:	ff 51 08             	call   *0x8(%ecx)
4131e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4131e7:	3b c3                	cmp    %ebx,%eax
4131e9:	7c 46                	jl     0x413231
4131eb:	8b 3f                	mov    (%edi),%edi
4131ed:	8b 07                	mov    (%edi),%eax
4131ef:	8d 4e 0c             	lea    0xc(%esi),%ecx
4131f2:	51                   	push   %ecx
4131f3:	68 6c 46 49 00       	push   $0x49466c
4131f8:	57                   	push   %edi
4131f9:	ff 10                	call   *(%eax)
4131fb:	8b ce                	mov    %esi,%ecx
4131fd:	e8 49 fa ff ff       	call   0x412c4b
413202:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
413205:	8b f0                	mov    %eax,%esi
413207:	74 26                	je     0x41322f
413209:	8b 45 e8             	mov    -0x18(%ebp),%eax
41320c:	2b 45 e0             	sub    -0x20(%ebp),%eax
41320f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
413212:	53                   	push   %ebx
413213:	50                   	push   %eax
413214:	8b 45 e4             	mov    -0x1c(%ebp),%eax
413217:	2b 45 dc             	sub    -0x24(%ebp),%eax
41321a:	50                   	push   %eax
41321b:	ff 75 e0             	push   -0x20(%ebp)
41321e:	ff 75 dc             	push   -0x24(%ebp)
413221:	e8 07 db 02 00       	call   0x440d2d
413226:	8b 4d f8             	mov    -0x8(%ebp),%ecx
413229:	53                   	push   %ebx
41322a:	e8 3c db 02 00       	call   0x440d6b
41322f:	8b c6                	mov    %esi,%eax
413231:	5f                   	pop    %edi
413232:	5e                   	pop    %esi
413233:	5b                   	pop    %ebx
413234:	c9                   	leave
413235:	c3                   	ret
413236:	56                   	push   %esi
413237:	8b f1                	mov    %ecx,%esi
413239:	e8 ee fd ff ff       	call   0x41302c
41323e:	8b 46 04             	mov    0x4(%esi),%eax
413241:	85 c0                	test   %eax,%eax
413243:	74 06                	je     0x41324b
413245:	8b 08                	mov    (%eax),%ecx
413247:	50                   	push   %eax
413248:	ff 51 08             	call   *0x8(%ecx)
41324b:	8b 36                	mov    (%esi),%esi
41324d:	85 f6                	test   %esi,%esi
41324f:	74 06                	je     0x413257
413251:	8b 06                	mov    (%esi),%eax
413253:	56                   	push   %esi
413254:	ff 50 08             	call   *0x8(%eax)
413257:	5e                   	pop    %esi
413258:	c3                   	ret
413259:	b8 31 37 48 00       	mov    $0x483731,%eax
41325e:	e8 19 4a 00 00       	call   0x417c7c
413263:	51                   	push   %ecx
413264:	53                   	push   %ebx
413265:	56                   	push   %esi
413266:	8b f1                	mov    %ecx,%esi
413268:	57                   	push   %edi
413269:	89 75 f0             	mov    %esi,-0x10(%ebp)
41326c:	e8 93 ee 02 00       	call   0x442104
413271:	8b 45 08             	mov    0x8(%ebp),%eax
413274:	83 4e 28 ff          	orl    $0xffffffff,0x28(%esi)
413278:	33 ff                	xor    %edi,%edi
41327a:	8d 8e a0 00 00 00    	lea    0xa0(%esi),%ecx
413280:	89 7d fc             	mov    %edi,-0x4(%ebp)
413283:	c7 06 fc c7 48 00    	movl   $0x48c7fc,(%esi)
413289:	89 46 1c             	mov    %eax,0x1c(%esi)
41328c:	89 7e 24             	mov    %edi,0x24(%esi)
41328f:	89 7e 4c             	mov    %edi,0x4c(%esi)
413292:	89 7e 50             	mov    %edi,0x50(%esi)
413295:	89 7e 54             	mov    %edi,0x54(%esi)
413298:	89 7e 58             	mov    %edi,0x58(%esi)
41329b:	89 7e 5c             	mov    %edi,0x5c(%esi)
41329e:	89 7e 60             	mov    %edi,0x60(%esi)
4132a1:	89 7e 6c             	mov    %edi,0x6c(%esi)
4132a4:	89 7e 70             	mov    %edi,0x70(%esi)
4132a7:	89 be 84 00 00 00    	mov    %edi,0x84(%esi)
4132ad:	89 be 88 00 00 00    	mov    %edi,0x88(%esi)
4132b3:	89 be 8c 00 00 00    	mov    %edi,0x8c(%esi)
4132b9:	89 be 90 00 00 00    	mov    %edi,0x90(%esi)
4132bf:	89 be 94 00 00 00    	mov    %edi,0x94(%esi)
4132c5:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
4132cb:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
4132d1:	e8 de dd fe ff       	call   0x4010b4
4132d6:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
4132dc:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4132e0:	89 be a4 00 00 00    	mov    %edi,0xa4(%esi)
4132e6:	e8 ba 98 06 00       	call   0x47cba5
4132eb:	89 be c0 00 00 00    	mov    %edi,0xc0(%esi)
4132f1:	c7 86 c4 00 00 00 34 	movl   $0x48c634,0xc4(%esi)
4132f8:	c6 48 00
4132fb:	c7 86 c8 00 00 00 7c 	movl   $0x48c77c,0xc8(%esi)
413302:	c7 48 00
413305:	c7 86 cc 00 00 00 5c 	movl   $0x48c65c,0xcc(%esi)
41330c:	c6 48 00
41330f:	c7 86 d0 00 00 00 88 	movl   $0x48c688,0xd0(%esi)
413316:	c6 48 00
413319:	c7 86 d4 00 00 00 a8 	movl   $0x48c6a8,0xd4(%esi)
413320:	c6 48 00
413323:	c7 86 d8 00 00 00 c0 	movl   $0x48c6c0,0xd8(%esi)
41332a:	c6 48 00
41332d:	6a 10                	push   $0x10
41332f:	c7 86 dc 00 00 00 e0 	movl   $0x48c6e0,0xdc(%esi)
413336:	c6 48 00
413339:	8d 9e a8 00 00 00    	lea    0xa8(%esi),%ebx
41333f:	57                   	push   %edi
413340:	c7 86 e0 00 00 00 f4 	movl   $0x48c6f4,0xe0(%esi)
413347:	c6 48 00
41334a:	53                   	push   %ebx
41334b:	c7 86 e4 00 00 00 20 	movl   $0x48c720,0xe4(%esi)
413352:	c7 48 00
413355:	e8 e6 4e 00 00       	call   0x418240
41335a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41335d:	83 c4 0c             	add    $0xc,%esp
413360:	66 89 3b             	mov    %di,(%ebx)
413363:	5f                   	pop    %edi
413364:	8b c6                	mov    %esi,%eax
413366:	5e                   	pop    %esi
413367:	5b                   	pop    %ebx
413368:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41336f:	c9                   	leave
413370:	c2 04 00             	ret    $0x4
413373:	b8 45 37 48 00       	mov    $0x483745,%eax
413378:	e8 ff 48 00 00       	call   0x417c7c
41337d:	51                   	push   %ecx