43200c:	e8 aa 29 00 00       	call   0x4349bb
432011:	89 18                	mov    %ebx,(%eax)
432013:	83 0e ff             	orl    $0xffffffff,(%esi)
432016:	e8 8d 29 00 00       	call   0x4349a8
43201b:	6a 16                	push   $0x16
43201d:	5e                   	pop    %esi
43201e:	89 30                	mov    %esi,(%eax)
432020:	e8 49 23 00 00       	call   0x43436e
432025:	8b c6                	mov    %esi,%eax
432027:	5f                   	pop    %edi
432028:	5e                   	pop    %esi
432029:	5b                   	pop    %ebx
43202a:	c9                   	leave
43202b:	c3                   	ret
43202c:	c7 45 e8 05 00 00 00 	movl   $0x5,-0x18(%ebp)
432033:	eb 07                	jmp    0x43203c
432035:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
43203c:	8b 45 10             	mov    0x10(%ebp),%eax
43203f:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
432046:	85 c7                	test   %eax,%edi
432048:	74 16                	je     0x432060
43204a:	8b 0d 90 07 47 00    	mov    0x470790,%ecx
432050:	f7 d1                	not    %ecx
432052:	23 4d 18             	and    0x18(%ebp),%ecx
432055:	84 c9                	test   %cl,%cl
432057:	78 07                	js     0x432060
432059:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
432060:	a8 40                	test   $0x40,%al
432062:	74 12                	je     0x432076
432064:	81 4d f0 00 00 00 04 	orl    $0x4000000,-0x10(%ebp)
43206b:	81 4d f4 00 00 01 00 	orl    $0x10000,-0xc(%ebp)
432072:	83 4d ec 04          	orl    $0x4,-0x14(%ebp)
432076:	a9 00 10 00 00       	test   $0x1000,%eax
43207b:	74 03                	je     0x432080
43207d:	09 7d f0             	or     %edi,-0x10(%ebp)
432080:	a8 20                	test   $0x20,%al
432082:	74 09                	je     0x43208d
432084:	81 4d f0 00 00 00 08 	orl    $0x8000000,-0x10(%ebp)
43208b:	eb 0b                	jmp    0x432098
43208d:	a8 10                	test   $0x10,%al
43208f:	74 07                	je     0x432098
432091:	81 4d f0 00 00 00 10 	orl    $0x10000000,-0x10(%ebp)
432098:	e8 62 86 00 00       	call   0x43a6ff
43209d:	83 cb ff             	or     $0xffffffff,%ebx
4320a0:	89 06                	mov    %eax,(%esi)
4320a2:	3b c3                	cmp    %ebx,%eax
4320a4:	75 21                	jne    0x4320c7
4320a6:	e8 10 29 00 00       	call   0x4349bb
4320ab:	83 20 00             	andl   $0x0,(%eax)
4320ae:	89 1e                	mov    %ebx,(%esi)
4320b0:	e8 f3 28 00 00       	call   0x4349a8
4320b5:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
4320bb:	e8 e8 28 00 00       	call   0x4349a8
4320c0:	8b 00                	mov    (%eax),%eax
4320c2:	e9 60 ff ff ff       	jmp    0x432027
4320c7:	8b 45 08             	mov    0x8(%ebp),%eax
4320ca:	8b 3d ac 34 47 00    	mov    0x4734ac,%edi
4320d0:	6a 00                	push   $0x0
4320d2:	ff 75 f0             	push   -0x10(%ebp)
4320d5:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4320db:	ff 75 e8             	push   -0x18(%ebp)
4320de:	8d 45 cc             	lea    -0x34(%ebp),%eax
4320e1:	50                   	push   %eax
4320e2:	ff 75 ec             	push   -0x14(%ebp)
4320e5:	ff 75 f4             	push   -0xc(%ebp)
4320e8:	ff 75 0c             	push   0xc(%ebp)
4320eb:	ff d7                	call   *%edi
4320ed:	89 45 e0             	mov    %eax,-0x20(%ebp)
4320f0:	3b c3                	cmp    %ebx,%eax
4320f2:	75 70                	jne    0x432164
4320f4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4320f7:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
4320fc:	23 c8                	and    %eax,%ecx
4320fe:	3b c8                	cmp    %eax,%ecx
432100:	75 2b                	jne    0x43212d
432102:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
432106:	74 25                	je     0x43212d
432108:	81 65 f4 ff ff ff 7f 	andl   $0x7fffffff,-0xc(%ebp)
43210f:	6a 00                	push   $0x0
432111:	ff 75 f0             	push   -0x10(%ebp)
432114:	8d 45 cc             	lea    -0x34(%ebp),%eax
432117:	ff 75 e8             	push   -0x18(%ebp)
43211a:	50                   	push   %eax
43211b:	ff 75 ec             	push   -0x14(%ebp)
43211e:	ff 75 f4             	push   -0xc(%ebp)
432121:	ff 75 0c             	push   0xc(%ebp)
432124:	ff d7                	call   *%edi
432126:	89 45 e0             	mov    %eax,-0x20(%ebp)
432129:	3b c3                	cmp    %ebx,%eax
43212b:	75 37                	jne    0x432164
43212d:	8b 36                	mov    (%esi),%esi
43212f:	8b c6                	mov    %esi,%eax
432131:	c1 f8 05             	sar    $0x5,%eax
432134:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43213b:	83 e6 1f             	and    $0x1f,%esi
43213e:	c1 e6 06             	shl    $0x6,%esi
432141:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
432145:	80 20 fe             	andb   $0xfe,(%eax)
432148:	ff 15 24 34 47 00    	call   *0x473424
43214e:	50                   	push   %eax
43214f:	e8 7a 28 00 00       	call   0x4349ce
432154:	59                   	pop    %ecx
432155:	e8 4e 28 00 00       	call   0x4349a8
43215a:	8b 00                	mov    (%eax),%eax
43215c:	89 45 f8             	mov    %eax,-0x8(%ebp)
43215f:	e9 66 04 00 00       	jmp    0x4325ca
432164:	ff 75 e0             	push   -0x20(%ebp)
432167:	ff 15 f0 34 47 00    	call   *0x4734f0
43216d:	85 c0                	test   %eax,%eax
43216f:	75 44                	jne    0x4321b5
432171:	8b 36                	mov    (%esi),%esi
432173:	8b c6                	mov    %esi,%eax
432175:	c1 f8 05             	sar    $0x5,%eax
432178:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43217f:	83 e6 1f             	and    $0x1f,%esi
432182:	c1 e6 06             	shl    $0x6,%esi
432185:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
432189:	80 20 fe             	andb   $0xfe,(%eax)
43218c:	ff 15 24 34 47 00    	call   *0x473424
432192:	8b f0                	mov    %eax,%esi
432194:	56                   	push   %esi
432195:	e8 34 28 00 00       	call   0x4349ce
43219a:	59                   	pop    %ecx
43219b:	ff 75 e0             	push   -0x20(%ebp)
43219e:	ff 15 2c 34 47 00    	call   *0x47342c
4321a4:	85 f6                	test   %esi,%esi
4321a6:	75 ad                	jne    0x432155
4321a8:	e8 fb 27 00 00       	call   0x4349a8
4321ad:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
4321b3:	eb a0                	jmp    0x432155
4321b5:	83 f8 02             	cmp    $0x2,%eax
4321b8:	75 06                	jne    0x4321c0
4321ba:	80 4d ff 40          	orb    $0x40,-0x1(%ebp)
4321be:	eb 09                	jmp    0x4321c9
4321c0:	83 f8 03             	cmp    $0x3,%eax
4321c3:	75 04                	jne    0x4321c9
4321c5:	80 4d ff 08          	orb    $0x8,-0x1(%ebp)
4321c9:	ff 75 e0             	push   -0x20(%ebp)
4321cc:	ff 36                	push   (%esi)
4321ce:	e8 f6 82 00 00       	call   0x43a4c9
4321d3:	8b 06                	mov    (%esi),%eax
4321d5:	8b d0                	mov    %eax,%edx
4321d7:	83 e0 1f             	and    $0x1f,%eax
4321da:	c1 fa 05             	sar    $0x5,%edx
4321dd:	8b 14 95 80 17 47 00 	mov    0x471780(,%edx,4),%edx
4321e4:	59                   	pop    %ecx
4321e5:	c1 e0 06             	shl    $0x6,%eax
4321e8:	59                   	pop    %ecx
4321e9:	8a 4d ff             	mov    -0x1(%ebp),%cl
4321ec:	80 c9 01             	or     $0x1,%cl
4321ef:	88 4c 02 04          	mov    %cl,0x4(%edx,%eax,1)
4321f3:	8b 06                	mov    (%esi),%eax
4321f5:	8b d0                	mov    %eax,%edx
4321f7:	83 e0 1f             	and    $0x1f,%eax
4321fa:	c1 fa 05             	sar    $0x5,%edx
4321fd:	8b 14 95 80 17 47 00 	mov    0x471780(,%edx,4),%edx
432204:	c1 e0 06             	shl    $0x6,%eax
432207:	8d 44 02 24          	lea    0x24(%edx,%eax,1),%eax
43220b:	80 20 80             	andb   $0x80,(%eax)
43220e:	88 4d fd             	mov    %cl,-0x3(%ebp)
432211:	80 65 fd 48          	andb   $0x48,-0x3(%ebp)
432215:	88 4d ff             	mov    %cl,-0x1(%ebp)
432218:	75 7f                	jne    0x432299
43221a:	f6 c1 80             	test   $0x80,%cl
43221d:	0f 84 a8 02 00 00    	je     0x4324cb
432223:	f6 45 10 02          	testb  $0x2,0x10(%ebp)
432227:	74 70                	je     0x432299
432229:	6a 02                	push   $0x2
43222b:	53                   	push   %ebx
43222c:	ff 36                	push   (%esi)
43222e:	e8 ea 88 00 00       	call   0x43ab1d
432233:	8b f8                	mov    %eax,%edi
432235:	83 c4 0c             	add    $0xc,%esp
432238:	3b fb                	cmp    %ebx,%edi
43223a:	75 19                	jne    0x432255
43223c:	e8 7a 27 00 00       	call   0x4349bb
432241:	81 38 83 00 00 00    	cmpl   $0x83,(%eax)
432247:	74 50                	je     0x432299
432249:	ff 36                	push   (%esi)
43224b:	e8 34 f3 ff ff       	call   0x431584
432250:	e9 ff fe ff ff       	jmp    0x432154
432255:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
432259:	6a 01                	push   $0x1
43225b:	8d 45 d8             	lea    -0x28(%ebp),%eax
43225e:	50                   	push   %eax
43225f:	ff 36                	push   (%esi)
432261:	e8 7e f4 ff ff       	call   0x4316e4
432266:	83 c4 0c             	add    $0xc,%esp
432269:	85 c0                	test   %eax,%eax
43226b:	75 1a                	jne    0x432287
43226d:	66 83 7d d8 1a       	cmpw   $0x1a,-0x28(%ebp)
432272:	75 13                	jne    0x432287
432274:	8b c7                	mov    %edi,%eax
432276:	99                   	cltd
432277:	52                   	push   %edx
432278:	50                   	push   %eax
432279:	ff 36                	push   (%esi)
43227b:	e8 e6 89 00 00       	call   0x43ac66
432280:	83 c4 0c             	add    $0xc,%esp
432283:	3b c3                	cmp    %ebx,%eax
432285:	74 c2                	je     0x432249
432287:	6a 00                	push   $0x0
432289:	6a 00                	push   $0x0
43228b:	ff 36                	push   (%esi)
43228d:	e8 8b 88 00 00       	call   0x43ab1d
432292:	83 c4 0c             	add    $0xc,%esp
432295:	3b c3                	cmp    %ebx,%eax
432297:	74 b0                	je     0x432249
432299:	f6 45 ff 80          	testb  $0x80,-0x1(%ebp)
43229d:	0f 84 28 02 00 00    	je     0x4324cb
4322a3:	bf 00 40 07 00       	mov    $0x74000,%edi
4322a8:	b9 00 40 00 00       	mov    $0x4000,%ecx
4322ad:	85 7d 10             	test   %edi,0x10(%ebp)
4322b0:	75 0f                	jne    0x4322c1
4322b2:	8b 45 dc             	mov    -0x24(%ebp),%eax
4322b5:	23 c7                	and    %edi,%eax
4322b7:	75 05                	jne    0x4322be
4322b9:	09 4d 10             	or     %ecx,0x10(%ebp)
4322bc:	eb 03                	jmp    0x4322c1
4322be:	09 45 10             	or     %eax,0x10(%ebp)
4322c1:	8b 45 10             	mov    0x10(%ebp),%eax
4322c4:	23 c7                	and    %edi,%eax
4322c6:	3b c1                	cmp    %ecx,%eax
4322c8:	74 44                	je     0x43230e
4322ca:	3d 00 00 01 00       	cmp    $0x10000,%eax
4322cf:	74 29                	je     0x4322fa
4322d1:	3d 00 40 01 00       	cmp    $0x14000,%eax
4322d6:	74 22                	je     0x4322fa
4322d8:	3d 00 00 02 00       	cmp    $0x20000,%eax
4322dd:	74 29                	je     0x432308
4322df:	3d 00 40 02 00       	cmp    $0x24000,%eax
4322e4:	74 22                	je     0x432308
4322e6:	3d 00 00 04 00       	cmp    $0x40000,%eax
4322eb:	74 07                	je     0x4322f4
4322ed:	3d 00 40 04 00       	cmp    $0x44000,%eax
4322f2:	75 1e                	jne    0x432312
4322f4:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
4322f8:	eb 18                	jmp    0x432312
4322fa:	8b 4d 10             	mov    0x10(%ebp),%ecx
4322fd:	b8 01 03 00 00       	mov    $0x301,%eax
432302:	23 c8                	and    %eax,%ecx
432304:	3b c8                	cmp    %eax,%ecx
432306:	75 0a                	jne    0x432312
432308:	c6 45 fe 02          	movb   $0x2,-0x2(%ebp)
43230c:	eb 04                	jmp    0x432312
43230e:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
432312:	f7 45 10 00 00 07 00 	testl  $0x70000,0x10(%ebp)
432319:	0f 84 ac 01 00 00    	je     0x4324cb
43231f:	33 ff                	xor    %edi,%edi
432321:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
432325:	89 7d e4             	mov    %edi,-0x1c(%ebp)
432328:	0f 85 9d 01 00 00    	jne    0x4324cb
43232e:	8b 45 f4             	mov    -0xc(%ebp),%eax
432331:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
432336:	23 c1                	and    %ecx,%eax
432338:	3d 00 00 00 40       	cmp    $0x40000000,%eax
43233d:	0f 84 b0 00 00 00    	je     0x4323f3
432343:	3d 00 00 00 80       	cmp    $0x80000000,%eax
432348:	74 71                	je     0x4323bb
43234a:	3b c1                	cmp    %ecx,%eax
43234c:	0f 85 79 01 00 00    	jne    0x4324cb
432352:	8b 45 e8             	mov    -0x18(%ebp),%eax
432355:	3b c7                	cmp    %edi,%eax
432357:	0f 86 6e 01 00 00    	jbe    0x4324cb
43235d:	83 f8 02             	cmp    $0x2,%eax
432360:	76 0e                	jbe    0x432370
432362:	83 f8 04             	cmp    $0x4,%eax
432365:	76 2b                	jbe    0x432392
432367:	83 f8 05             	cmp    $0x5,%eax
43236a:	0f 85 5b 01 00 00    	jne    0x4324cb
432370:	0f be 45 fe          	movsbl -0x2(%ebp),%eax
432374:	33 ff                	xor    %edi,%edi
432376:	48                   	dec    %eax
432377:	0f 84 1e 01 00 00    	je     0x43249b
43237d:	48                   	dec    %eax
43237e:	0f 85 47 01 00 00    	jne    0x4324cb
432384:	c7 45 e4 ff fe 00 00 	movl   $0xfeff,-0x1c(%ebp)
43238b:	6a 02                	push   $0x2
43238d:	e9 12 01 00 00       	jmp    0x4324a4
432392:	6a 02                	push   $0x2
432394:	57                   	push   %edi
432395:	57                   	push   %edi
432396:	ff 36                	push   (%esi)
432398:	e8 11 86 00 00       	call   0x43a9ae
43239d:	83 c4 10             	add    $0x10,%esp
4323a0:	0b c2                	or     %edx,%eax
4323a2:	74 cc                	je     0x432370
4323a4:	57                   	push   %edi
4323a5:	57                   	push   %edi
4323a6:	57                   	push   %edi
4323a7:	ff 36                	push   (%esi)
4323a9:	e8 00 86 00 00       	call   0x43a9ae
4323ae:	23 c2                	and    %edx,%eax
4323b0:	83 c4 10             	add    $0x10,%esp
4323b3:	3b c3                	cmp    %ebx,%eax
4323b5:	0f 84 8e fe ff ff    	je     0x432249
4323bb:	6a 03                	push   $0x3
4323bd:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4323c0:	50                   	push   %eax
4323c1:	ff 36                	push   (%esi)
4323c3:	e8 1c f3 ff ff       	call   0x4316e4
4323c8:	83 c4 0c             	add    $0xc,%esp
4323cb:	3b c3                	cmp    %ebx,%eax
4323cd:	0f 84 76 fe ff ff    	je     0x432249
4323d3:	83 f8 02             	cmp    $0x2,%eax
4323d6:	74 6a                	je     0x432442
4323d8:	83 f8 03             	cmp    $0x3,%eax
4323db:	0f 85 ac 00 00 00    	jne    0x43248d
4323e1:	81 7d e4 ef bb bf 00 	cmpl   $0xbfbbef,-0x1c(%ebp)
4323e8:	75 58                	jne    0x432442
4323ea:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
4323ee:	e9 d8 00 00 00       	jmp    0x4324cb
4323f3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4323f6:	3b c7                	cmp    %edi,%eax
4323f8:	0f 86 cd 00 00 00    	jbe    0x4324cb
4323fe:	83 f8 02             	cmp    $0x2,%eax
432401:	0f 86 69 ff ff ff    	jbe    0x432370
432407:	83 f8 04             	cmp    $0x4,%eax
43240a:	0f 87 57 ff ff ff    	ja     0x432367
432410:	6a 02                	push   $0x2
432412:	57                   	push   %edi
432413:	57                   	push   %edi
432414:	ff 36                	push   (%esi)
432416:	e8 93 85 00 00       	call   0x43a9ae
43241b:	83 c4 10             	add    $0x10,%esp
43241e:	0b c2                	or     %edx,%eax
432420:	0f 84 4a ff ff ff    	je     0x432370
432426:	57                   	push   %edi
432427:	57                   	push   %edi
432428:	57                   	push   %edi
432429:	ff 36                	push   (%esi)
43242b:	e8 7e 85 00 00       	call   0x43a9ae
432430:	83 c4 10             	add    $0x10,%esp
432433:	23 c2                	and    %edx,%eax
432435:	3b c3                	cmp    %ebx,%eax
432437:	0f 85 8e 00 00 00    	jne    0x4324cb
43243d:	e9 07 fe ff ff       	jmp    0x432249
432442:	8b 45 e4             	mov    -0x1c(%ebp),%eax
432445:	25 ff ff 00 00       	and    $0xffff,%eax
43244a:	3d fe ff 00 00       	cmp    $0xfffe,%eax
43244f:	75 1a                	jne    0x43246b
432451:	ff 36                	push   (%esi)
432453:	e8 2c f1 ff ff       	call   0x431584
432458:	59                   	pop    %ecx
432459:	e8 4a 25 00 00       	call   0x4349a8
43245e:	6a 16                	push   $0x16
432460:	5e                   	pop    %esi
432461:	89 30                	mov    %esi,(%eax)
432463:	89 75 f8             	mov    %esi,-0x8(%ebp)
432466:	e9 5f 01 00 00       	jmp    0x4325ca