434fd4:	5e                   	pop    %esi
434fd5:	c3                   	ret
434fd6:	6a 00                	push   $0x0
434fd8:	e8 92 c2 ff ff       	call   0x43126f
434fdd:	59                   	pop    %ecx
434fde:	c3                   	ret
434fdf:	a1 f0 a6 46 00       	mov    0x46a6f0,%eax
434fe4:	83 c9 ff             	or     $0xffffffff,%ecx
434fe7:	56                   	push   %esi
434fe8:	f0 0f c1 08          	lock xadd %ecx,(%eax)
434fec:	75 1b                	jne    0x435009
434fee:	a1 f0 a6 46 00       	mov    0x46a6f0,%eax
434ff3:	be d0 a4 46 00       	mov    $0x46a4d0,%esi
434ff8:	3b c6                	cmp    %esi,%eax
434ffa:	74 0d                	je     0x435009
434ffc:	50                   	push   %eax
434ffd:	e8 18 01 00 00       	call   0x43511a
435002:	59                   	pop    %ecx
435003:	89 35 f0 a6 46 00    	mov    %esi,0x46a6f0
435009:	ff 35 4c b1 46 00    	push   0x46b14c
43500f:	e8 06 01 00 00       	call   0x43511a
435014:	ff 35 50 b1 46 00    	push   0x46b150
43501a:	33 f6                	xor    %esi,%esi
43501c:	89 35 4c b1 46 00    	mov    %esi,0x46b14c
435022:	e8 f3 00 00 00       	call   0x43511a
435027:	ff 35 80 b3 46 00    	push   0x46b380
43502d:	89 35 50 b1 46 00    	mov    %esi,0x46b150
435033:	e8 e2 00 00 00       	call   0x43511a
435038:	ff 35 84 b3 46 00    	push   0x46b384
43503e:	89 35 80 b3 46 00    	mov    %esi,0x46b380
435044:	e8 d1 00 00 00       	call   0x43511a
435049:	83 c4 10             	add    $0x10,%esp
43504c:	89 35 84 b3 46 00    	mov    %esi,0x46b384
435052:	b0 01                	mov    $0x1,%al
435054:	5e                   	pop    %esi
435055:	c3                   	ret
435056:	68 00 18 46 00       	push   $0x461800
43505b:	68 88 17 46 00       	push   $0x461788
435060:	e8 a6 45 00 00       	call   0x43960b
435065:	59                   	pop    %ecx
435066:	59                   	pop    %ecx
435067:	c3                   	ret
435068:	68 00 18 46 00       	push   $0x461800
43506d:	68 88 17 46 00       	push   $0x461788
435072:	e8 17 46 00 00       	call   0x43968e
435077:	59                   	pop    %ecx
435078:	59                   	pop    %ecx
435079:	c3                   	ret
43507a:	8b ff                	mov    %edi,%edi
43507c:	55                   	push   %ebp
43507d:	8b ec                	mov    %esp,%ebp
43507f:	8b 4d 10             	mov    0x10(%ebp),%ecx
435082:	8b 45 0c             	mov    0xc(%ebp),%eax
435085:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
43508b:	23 c1                	and    %ecx,%eax
43508d:	56                   	push   %esi
43508e:	8b 75 08             	mov    0x8(%ebp),%esi
435091:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
435096:	74 24                	je     0x4350bc
435098:	85 f6                	test   %esi,%esi
43509a:	74 0d                	je     0x4350a9
43509c:	6a 00                	push   $0x0
43509e:	6a 00                	push   $0x0
4350a0:	e8 0e 4b 00 00       	call   0x439bb3
4350a5:	59                   	pop    %ecx
4350a6:	59                   	pop    %ecx
4350a7:	89 06                	mov    %eax,(%esi)
4350a9:	e8 88 ed ff ff       	call   0x433e36
4350ae:	6a 16                	push   $0x16
4350b0:	5e                   	pop    %esi
4350b1:	89 30                	mov    %esi,(%eax)
4350b3:	e8 c2 ec ff ff       	call   0x433d7a
4350b8:	8b c6                	mov    %esi,%eax
4350ba:	eb 1a                	jmp    0x4350d6
4350bc:	51                   	push   %ecx
4350bd:	ff 75 0c             	push   0xc(%ebp)
4350c0:	85 f6                	test   %esi,%esi
4350c2:	74 09                	je     0x4350cd
4350c4:	e8 ea 4a 00 00       	call   0x439bb3
4350c9:	89 06                	mov    %eax,(%esi)
4350cb:	eb 05                	jmp    0x4350d2
4350cd:	e8 e1 4a 00 00       	call   0x439bb3
4350d2:	59                   	pop    %ecx
4350d3:	59                   	pop    %ecx
4350d4:	33 c0                	xor    %eax,%eax
4350d6:	5e                   	pop    %esi
4350d7:	5d                   	pop    %ebp
4350d8:	c3                   	ret
4350d9:	6a 0c                	push   $0xc
4350db:	68 a0 7d 46 00       	push   $0x467da0
4350e0:	e8 ab 4b 01 00       	call   0x449c90
4350e5:	e8 74 0f 00 00       	call   0x43605e
4350ea:	8b 70 0c             	mov    0xc(%eax),%esi
4350ed:	85 f6                	test   %esi,%esi
4350ef:	74 1e                	je     0x43510f
4350f1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4350f5:	8b ce                	mov    %esi,%ecx
4350f7:	ff 15 d0 b3 44 00    	call   *0x44b3d0
4350fd:	ff d6                	call   *%esi
4350ff:	eb 07                	jmp    0x435108
435101:	33 c0                	xor    %eax,%eax
435103:	40                   	inc    %eax
435104:	c3                   	ret
435105:	8b 65 e8             	mov    -0x18(%ebp),%esp
435108:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43510f:	e8 e8 00 00 00       	call   0x4351fc
435114:	cc                   	int3
435115:	e9 00 00 00 00       	jmp    0x43511a
43511a:	8b ff                	mov    %edi,%edi
43511c:	55                   	push   %ebp
43511d:	8b ec                	mov    %esp,%ebp
43511f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
435123:	74 2d                	je     0x435152
435125:	ff 75 08             	push   0x8(%ebp)
435128:	6a 00                	push   $0x0
43512a:	ff 35 b8 b5 46 00    	push   0x46b5b8
435130:	ff 15 4c b1 44 00    	call   *0x44b14c
435136:	85 c0                	test   %eax,%eax
435138:	75 18                	jne    0x435152
43513a:	56                   	push   %esi
43513b:	e8 f6 ec ff ff       	call   0x433e36
435140:	8b f0                	mov    %eax,%esi
435142:	ff 15 e8 b0 44 00    	call   *0x44b0e8
435148:	50                   	push   %eax
435149:	e8 6f ec ff ff       	call   0x433dbd
43514e:	59                   	pop    %ecx
43514f:	89 06                	mov    %eax,(%esi)
435151:	5e                   	pop    %esi
435152:	5d                   	pop    %ebp
435153:	c3                   	ret
435154:	8b ff                	mov    %edi,%edi
435156:	55                   	push   %ebp
435157:	8b ec                	mov    %esp,%ebp
435159:	56                   	push   %esi
43515a:	8b 75 08             	mov    0x8(%ebp),%esi
43515d:	83 fe e0             	cmp    $0xffffffe0,%esi
435160:	77 30                	ja     0x435192
435162:	85 f6                	test   %esi,%esi
435164:	75 17                	jne    0x43517d
435166:	46                   	inc    %esi
435167:	eb 14                	jmp    0x43517d
435169:	e8 20 f9 ff ff       	call   0x434a8e
43516e:	85 c0                	test   %eax,%eax
435170:	74 20                	je     0x435192
435172:	56                   	push   %esi
435173:	e8 65 f9 ff ff       	call   0x434add
435178:	59                   	pop    %ecx
435179:	85 c0                	test   %eax,%eax
43517b:	74 15                	je     0x435192
43517d:	56                   	push   %esi
43517e:	6a 00                	push   $0x0
435180:	ff 35 b8 b5 46 00    	push   0x46b5b8
435186:	ff 15 44 b1 44 00    	call   *0x44b144
43518c:	85 c0                	test   %eax,%eax
43518e:	74 d9                	je     0x435169
435190:	eb 0d                	jmp    0x43519f
435192:	e8 9f ec ff ff       	call   0x433e36
435197:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
43519d:	33 c0                	xor    %eax,%eax
43519f:	5e                   	pop    %esi
4351a0:	5d                   	pop    %ebp
4351a1:	c3                   	ret
4351a2:	8b ff                	mov    %edi,%edi
4351a4:	55                   	push   %ebp
4351a5:	8b ec                	mov    %esp,%ebp
4351a7:	8b 55 08             	mov    0x8(%ebp),%edx
4351aa:	56                   	push   %esi
4351ab:	85 d2                	test   %edx,%edx
4351ad:	74 11                	je     0x4351c0
4351af:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4351b2:	85 c9                	test   %ecx,%ecx
4351b4:	74 0a                	je     0x4351c0
4351b6:	8b 75 10             	mov    0x10(%ebp),%esi
4351b9:	85 f6                	test   %esi,%esi
4351bb:	75 17                	jne    0x4351d4
4351bd:	c6 02 00             	movb   $0x0,(%edx)
4351c0:	e8 71 ec ff ff       	call   0x433e36
4351c5:	6a 16                	push   $0x16
4351c7:	5e                   	pop    %esi
4351c8:	89 30                	mov    %esi,(%eax)
4351ca:	e8 ab eb ff ff       	call   0x433d7a
4351cf:	8b c6                	mov    %esi,%eax
4351d1:	5e                   	pop    %esi
4351d2:	5d                   	pop    %ebp
4351d3:	c3                   	ret
4351d4:	57                   	push   %edi
4351d5:	8b fa                	mov    %edx,%edi
4351d7:	2b f2                	sub    %edx,%esi
4351d9:	8a 04 3e             	mov    (%esi,%edi,1),%al
4351dc:	88 07                	mov    %al,(%edi)
4351de:	47                   	inc    %edi
4351df:	84 c0                	test   %al,%al
4351e1:	74 05                	je     0x4351e8
4351e3:	83 e9 01             	sub    $0x1,%ecx
4351e6:	75 f1                	jne    0x4351d9
4351e8:	5f                   	pop    %edi
4351e9:	85 c9                	test   %ecx,%ecx
4351eb:	75 0b                	jne    0x4351f8
4351ed:	88 0a                	mov    %cl,(%edx)
4351ef:	e8 42 ec ff ff       	call   0x433e36
4351f4:	6a 22                	push   $0x22
4351f6:	eb cf                	jmp    0x4351c7
4351f8:	33 f6                	xor    %esi,%esi
4351fa:	eb d3                	jmp    0x4351cf
4351fc:	e8 c6 45 00 00       	call   0x4397c7
435201:	85 c0                	test   %eax,%eax
435203:	74 08                	je     0x43520d
435205:	6a 16                	push   $0x16
435207:	e8 16 46 00 00       	call   0x439822
43520c:	59                   	pop    %ecx
43520d:	f6 05 58 a0 46 00 02 	testb  $0x2,0x46a058
435214:	74 21                	je     0x435237
435216:	6a 17                	push   $0x17
435218:	e8 f9 42 01 00       	call   0x449516
43521d:	85 c0                	test   %eax,%eax
43521f:	74 05                	je     0x435226
435221:	6a 07                	push   $0x7
435223:	59                   	pop    %ecx
435224:	cd 29                	int    $0x29
435226:	6a 01                	push   $0x1
435228:	68 15 00 00 40       	push   $0x40000015
43522d:	6a 03                	push   $0x3
43522f:	e8 7c e9 ff ff       	call   0x433bb0
435234:	83 c4 0c             	add    $0xc,%esp
435237:	6a 03                	push   $0x3
435239:	e8 f0 f6 ff ff       	call   0x43492e
43523e:	cc                   	int3
43523f:	8b ff                	mov    %edi,%edi
435241:	55                   	push   %ebp
435242:	8b ec                	mov    %esp,%ebp
435244:	56                   	push   %esi
435245:	8b 75 08             	mov    0x8(%ebp),%esi
435248:	85 f6                	test   %esi,%esi
43524a:	74 0c                	je     0x435258
43524c:	6a e0                	push   $0xffffffe0
43524e:	33 d2                	xor    %edx,%edx
435250:	58                   	pop    %eax
435251:	f7 f6                	div    %esi
435253:	3b 45 0c             	cmp    0xc(%ebp),%eax
435256:	72 34                	jb     0x43528c
435258:	0f af 75 0c          	imul   0xc(%ebp),%esi
43525c:	85 f6                	test   %esi,%esi
43525e:	75 17                	jne    0x435277
435260:	46                   	inc    %esi
435261:	eb 14                	jmp    0x435277
435263:	e8 26 f8 ff ff       	call   0x434a8e
435268:	85 c0                	test   %eax,%eax
43526a:	74 20                	je     0x43528c
43526c:	56                   	push   %esi
43526d:	e8 6b f8 ff ff       	call   0x434add
435272:	59                   	pop    %ecx
435273:	85 c0                	test   %eax,%eax
435275:	74 15                	je     0x43528c
435277:	56                   	push   %esi
435278:	6a 08                	push   $0x8
43527a:	ff 35 b8 b5 46 00    	push   0x46b5b8
435280:	ff 15 44 b1 44 00    	call   *0x44b144
435286:	85 c0                	test   %eax,%eax
435288:	74 d9                	je     0x435263
43528a:	eb 0d                	jmp    0x435299
43528c:	e8 a5 eb ff ff       	call   0x433e36
435291:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
435297:	33 c0                	xor    %eax,%eax
435299:	5e                   	pop    %esi
43529a:	5d                   	pop    %ebp
43529b:	c3                   	ret
43529c:	8b ff                	mov    %edi,%edi
43529e:	55                   	push   %ebp
43529f:	8b ec                	mov    %esp,%ebp
4352a1:	8b 45 08             	mov    0x8(%ebp),%eax
4352a4:	a8 04                	test   $0x4,%al
4352a6:	74 04                	je     0x4352ac
4352a8:	b0 01                	mov    $0x1,%al
4352aa:	5d                   	pop    %ebp
4352ab:	c3                   	ret
4352ac:	a8 01                	test   $0x1,%al
4352ae:	74 1b                	je     0x4352cb
4352b0:	83 e0 02             	and    $0x2,%eax
4352b3:	74 09                	je     0x4352be
4352b5:	81 7d 0c 00 00 00 80 	cmpl   $0x80000000,0xc(%ebp)
4352bc:	77 ea                	ja     0x4352a8
4352be:	85 c0                	test   %eax,%eax
4352c0:	75 09                	jne    0x4352cb
4352c2:	81 7d 0c ff ff ff 7f 	cmpl   $0x7fffffff,0xc(%ebp)
4352c9:	77 dd                	ja     0x4352a8
4352cb:	32 c0                	xor    %al,%al
4352cd:	5d                   	pop    %ebp
4352ce:	c3                   	ret
4352cf:	8b ff                	mov    %edi,%edi
4352d1:	55                   	push   %ebp
4352d2:	8b ec                	mov    %esp,%ebp
4352d4:	83 ec 28             	sub    $0x28,%esp
4352d7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4352da:	53                   	push   %ebx
4352db:	57                   	push   %edi
4352dc:	e8 55 e5 ff ff       	call   0x433836
4352e1:	84 c0                	test   %al,%al
4352e3:	74 21                	je     0x435306
4352e5:	8b 7d 14             	mov    0x14(%ebp),%edi
4352e8:	85 ff                	test   %edi,%edi
4352ea:	74 30                	je     0x43531c
4352ec:	83 ff 02             	cmp    $0x2,%edi
4352ef:	7c 05                	jl     0x4352f6
4352f1:	83 ff 24             	cmp    $0x24,%edi
4352f4:	7e 26                	jle    0x43531c
4352f6:	e8 3b eb ff ff       	call   0x433e36
4352fb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
435301:	e8 74 ea ff ff       	call   0x433d7a
435306:	33 db                	xor    %ebx,%ebx
435308:	8b 55 10             	mov    0x10(%ebp),%edx
43530b:	85 d2                	test   %edx,%edx
43530d:	74 05                	je     0x435314
43530f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
435312:	89 0a                	mov    %ecx,(%edx)
435314:	5f                   	pop    %edi
435315:	8b c3                	mov    %ebx,%eax
435317:	5b                   	pop    %ebx
435318:	8b e5                	mov    %ebp,%esp
43531a:	5d                   	pop    %ebp
43531b:	c3                   	ret
43531c:	56                   	push   %esi
43531d:	ff 75 08             	push   0x8(%ebp)
435320:	8d 4d d8             	lea    -0x28(%ebp),%ecx
435323:	e8 8f c6 ff ff       	call   0x4319b7
435328:	8b 45 0c             	mov    0xc(%ebp),%eax
43532b:	33 f6                	xor    %esi,%esi
43532d:	89 75 f4             	mov    %esi,-0xc(%ebp)
435330:	89 45 e8             	mov    %eax,-0x18(%ebp)
435333:	eb 03                	jmp    0x435338
435335:	8b 45 0c             	mov    0xc(%ebp),%eax
435338:	8a 18                	mov    (%eax),%bl
43533a:	40                   	inc    %eax
43533b:	89 45 0c             	mov    %eax,0xc(%ebp)
43533e:	8d 45 dc             	lea    -0x24(%ebp),%eax
435341:	50                   	push   %eax
435342:	0f b6 c3             	movzbl %bl,%eax
435345:	6a 08                	push   $0x8
435347:	50                   	push   %eax
435348:	88 5d fc             	mov    %bl,-0x4(%ebp)
43534b:	e8 0a 09 00 00       	call   0x435c5a
435350:	83 c4 0c             	add    $0xc,%esp
435353:	85 c0                	test   %eax,%eax
435355:	75 de                	jne    0x435335
435357:	38 45 18             	cmp    %al,0x18(%ebp)
43535a:	0f 95 c0             	setne  %al
43535d:	89 45 f8             	mov    %eax,-0x8(%ebp)
435360:	80 fb 2d             	cmp    $0x2d,%bl
435363:	75 08                	jne    0x43536d
435365:	83 c8 02             	or     $0x2,%eax
435368:	89 45 f8             	mov    %eax,-0x8(%ebp)