435171:	74 0e                	je     0x435181
435173:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
435179:	39 5f 04             	cmp    %ebx,0x4(%edi)
43517c:	75 03                	jne    0x435181
43517e:	89 77 04             	mov    %esi,0x4(%edi)
435181:	8b 07                	mov    (%edi),%eax
435183:	c1 e8 02             	shr    $0x2,%eax
435186:	f7 d0                	not    %eax
435188:	83 e0 01             	and    $0x1,%eax
43518b:	eb 05                	jmp    0x435192
43518d:	33 c0                	xor    %eax,%eax
43518f:	89 07                	mov    %eax,(%edi)
435191:	40                   	inc    %eax
435192:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435195:	5f                   	pop    %edi
435196:	5e                   	pop    %esi
435197:	33 cd                	xor    %ebp,%ecx
435199:	5b                   	pop    %ebx
43519a:	e8 0b 4a fe ff       	call   0x419baa
43519f:	c9                   	leave
4351a0:	c2 04 00             	ret    $0x4
4351a3:	cc                   	int3
4351a4:	cc                   	int3
4351a5:	cc                   	int3
4351a6:	cc                   	int3
4351a7:	cc                   	int3
4351a8:	cc                   	int3
4351a9:	cc                   	int3
4351aa:	cc                   	int3
4351ab:	cc                   	int3
4351ac:	cc                   	int3
4351ad:	cc                   	int3
4351ae:	cc                   	int3
4351af:	cc                   	int3
4351b0:	8b ff                	mov    %edi,%edi
4351b2:	55                   	push   %ebp
4351b3:	8b ec                	mov    %esp,%ebp
4351b5:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4351bb:	a1 14 50 45 00       	mov    0x455014,%eax
4351c0:	33 c5                	xor    %ebp,%eax
4351c2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4351c5:	53                   	push   %ebx
4351c6:	56                   	push   %esi
4351c7:	8b 75 08             	mov    0x8(%ebp),%esi
4351ca:	57                   	push   %edi
4351cb:	e8 f9 53 ff ff       	call   0x42a5c9
4351d0:	8b d8                	mov    %eax,%ebx
4351d2:	e8 f2 53 ff ff       	call   0x42a5c9
4351d7:	56                   	push   %esi
4351d8:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
4351de:	e8 a2 00 00 00       	call   0x435285
4351e3:	59                   	pop    %ecx
4351e4:	8b 4b 60             	mov    0x60(%ebx),%ecx
4351e7:	8b f0                	mov    %eax,%esi
4351e9:	f7 d9                	neg    %ecx
4351eb:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4351f1:	6a 78                	push   $0x78
4351f3:	1b c9                	sbb    %ecx,%ecx
4351f5:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
4351fb:	50                   	push   %eax
4351fc:	81 c1 01 10 00 00    	add    $0x1001,%ecx
435202:	51                   	push   %ecx
435203:	56                   	push   %esi
435204:	ff 15 e0 e1 43 00    	call   *0x43e1e0
43520a:	85 c0                	test   %eax,%eax
43520c:	75 05                	jne    0x435213
43520e:	21 07                	and    %eax,(%edi)
435210:	40                   	inc    %eax
435211:	eb 61                	jmp    0x435274
435213:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
435219:	50                   	push   %eax
43521a:	ff 73 50             	push   0x50(%ebx)
43521d:	e8 4b 11 ff ff       	call   0x42636d
435222:	59                   	pop    %ecx
435223:	59                   	pop    %ecx
435224:	8b 4b 60             	mov    0x60(%ebx),%ecx
435227:	85 c0                	test   %eax,%eax
435229:	75 09                	jne    0x435234
43522b:	85 c9                	test   %ecx,%ecx
43522d:	75 32                	jne    0x435261
43522f:	57                   	push   %edi
435230:	6a 01                	push   $0x1
435232:	eb 20                	jmp    0x435254
435234:	85 c9                	test   %ecx,%ecx
435236:	75 32                	jne    0x43526a
435238:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
43523b:	74 2d                	je     0x43526a
43523d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
435243:	50                   	push   %eax
435244:	ff 73 50             	push   0x50(%ebx)
435247:	e8 21 11 ff ff       	call   0x42636d
43524c:	59                   	pop    %ecx
43524d:	59                   	pop    %ecx
43524e:	85 c0                	test   %eax,%eax
435250:	75 18                	jne    0x43526a
435252:	57                   	push   %edi
435253:	50                   	push   %eax
435254:	56                   	push   %esi
435255:	e8 85 01 00 00       	call   0x4353df
43525a:	83 c4 0c             	add    $0xc,%esp
43525d:	85 c0                	test   %eax,%eax
43525f:	74 09                	je     0x43526a
435261:	83 0f 04             	orl    $0x4,(%edi)
435264:	89 77 04             	mov    %esi,0x4(%edi)
435267:	89 77 08             	mov    %esi,0x8(%edi)
43526a:	8b 07                	mov    (%edi),%eax
43526c:	c1 e8 02             	shr    $0x2,%eax
43526f:	f7 d0                	not    %eax
435271:	83 e0 01             	and    $0x1,%eax
435274:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435277:	5f                   	pop    %edi
435278:	5e                   	pop    %esi
435279:	33 cd                	xor    %ebp,%ecx
43527b:	5b                   	pop    %ebx
43527c:	e8 29 49 fe ff       	call   0x419baa
435281:	c9                   	leave
435282:	c2 04 00             	ret    $0x4
435285:	8b ff                	mov    %edi,%edi
435287:	55                   	push   %ebp
435288:	8b ec                	mov    %esp,%ebp
43528a:	8b 55 08             	mov    0x8(%ebp),%edx
43528d:	56                   	push   %esi
43528e:	33 f6                	xor    %esi,%esi
435290:	0f b7 0a             	movzwl (%edx),%ecx
435293:	83 c2 02             	add    $0x2,%edx
435296:	66 85 c9             	test   %cx,%cx
435299:	74 39                	je     0x4352d4
43529b:	57                   	push   %edi
43529c:	6a 05                	push   $0x5
43529e:	5f                   	pop    %edi
43529f:	8d 41 9f             	lea    -0x61(%ecx),%eax
4352a2:	66 3b c7             	cmp    %di,%ax
4352a5:	77 08                	ja     0x4352af
4352a7:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
4352ad:	eb 0e                	jmp    0x4352bd
4352af:	8d 41 bf             	lea    -0x41(%ecx),%eax
4352b2:	66 3b c7             	cmp    %di,%ax
4352b5:	77 06                	ja     0x4352bd
4352b7:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
4352bd:	c1 e6 04             	shl    $0x4,%esi
4352c0:	0f b7 c1             	movzwl %cx,%eax
4352c3:	83 c6 d0             	add    $0xffffffd0,%esi
4352c6:	0f b7 0a             	movzwl (%edx),%ecx
4352c9:	03 f0                	add    %eax,%esi
4352cb:	83 c2 02             	add    $0x2,%edx
4352ce:	66 85 c9             	test   %cx,%cx
4352d1:	75 cc                	jne    0x43529f
4352d3:	5f                   	pop    %edi
4352d4:	8b c6                	mov    %esi,%eax
4352d6:	5e                   	pop    %esi
4352d7:	5d                   	pop    %ebp
4352d8:	c3                   	ret
4352d9:	8b ff                	mov    %edi,%edi
4352db:	55                   	push   %ebp
4352dc:	8b ec                	mov    %esp,%ebp
4352de:	51                   	push   %ecx
4352df:	8b 4d 08             	mov    0x8(%ebp),%ecx
4352e2:	56                   	push   %esi
4352e3:	57                   	push   %edi
4352e4:	85 c9                	test   %ecx,%ecx
4352e6:	0f 84 9e 00 00 00    	je     0x43538a
4352ec:	33 c0                	xor    %eax,%eax
4352ee:	66 39 01             	cmp    %ax,(%ecx)
4352f1:	0f 84 93 00 00 00    	je     0x43538a
4352f7:	be 80 38 44 00       	mov    $0x443880,%esi
4352fc:	8b d1                	mov    %ecx,%edx
4352fe:	66 8b 3a             	mov    (%edx),%di
435301:	66 3b 3e             	cmp    (%esi),%di
435304:	75 1e                	jne    0x435324
435306:	66 85 ff             	test   %di,%di
435309:	74 15                	je     0x435320
43530b:	66 8b 7a 02          	mov    0x2(%edx),%di
43530f:	66 3b 7e 02          	cmp    0x2(%esi),%di
435313:	75 0f                	jne    0x435324
435315:	83 c2 04             	add    $0x4,%edx
435318:	83 c6 04             	add    $0x4,%esi
43531b:	66 85 ff             	test   %di,%di
43531e:	75 de                	jne    0x4352fe
435320:	8b d0                	mov    %eax,%edx
435322:	eb 05                	jmp    0x435329
435324:	1b d2                	sbb    %edx,%edx
435326:	83 ca 01             	or     $0x1,%edx
435329:	85 d2                	test   %edx,%edx
43532b:	74 5d                	je     0x43538a
43532d:	be 94 38 44 00       	mov    $0x443894,%esi
435332:	8b d1                	mov    %ecx,%edx
435334:	66 8b 3a             	mov    (%edx),%di
435337:	66 3b 3e             	cmp    (%esi),%di
43533a:	75 1c                	jne    0x435358
43533c:	66 85 ff             	test   %di,%di
43533f:	74 1c                	je     0x43535d
435341:	66 8b 7a 02          	mov    0x2(%edx),%di
435345:	66 3b 7e 02          	cmp    0x2(%esi),%di
435349:	75 0d                	jne    0x435358
43534b:	83 c2 04             	add    $0x4,%edx
43534e:	83 c6 04             	add    $0x4,%esi
435351:	66 85 ff             	test   %di,%di
435354:	75 de                	jne    0x435334
435356:	eb 05                	jmp    0x43535d
435358:	1b c0                	sbb    %eax,%eax
43535a:	83 c8 01             	or     $0x1,%eax
43535d:	85 c0                	test   %eax,%eax
43535f:	75 20                	jne    0x435381
435361:	6a 02                	push   $0x2
435363:	8d 45 fc             	lea    -0x4(%ebp),%eax
435366:	50                   	push   %eax
435367:	8b 45 0c             	mov    0xc(%ebp),%eax
43536a:	68 0b 00 00 20       	push   $0x2000000b
43536f:	ff 70 08             	push   0x8(%eax)
435372:	ff 15 e0 e1 43 00    	call   *0x43e1e0
435378:	85 c0                	test   %eax,%eax
43537a:	74 29                	je     0x4353a5
43537c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43537f:	eb 35                	jmp    0x4353b6
435381:	51                   	push   %ecx
435382:	e8 74 f5 fe ff       	call   0x4248fb
435387:	59                   	pop    %ecx
435388:	eb 2c                	jmp    0x4353b6
43538a:	6a 02                	push   $0x2
43538c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43538f:	50                   	push   %eax
435390:	8b 45 0c             	mov    0xc(%ebp),%eax
435393:	68 04 10 00 20       	push   $0x20001004
435398:	ff 70 08             	push   0x8(%eax)
43539b:	ff 15 e0 e1 43 00    	call   *0x43e1e0
4353a1:	85 c0                	test   %eax,%eax
4353a3:	75 04                	jne    0x4353a9
4353a5:	33 c0                	xor    %eax,%eax
4353a7:	eb 0d                	jmp    0x4353b6
4353a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4353ac:	85 c0                	test   %eax,%eax
4353ae:	75 06                	jne    0x4353b6
4353b0:	ff 15 8c e0 43 00    	call   *0x43e08c
4353b6:	5f                   	pop    %edi
4353b7:	5e                   	pop    %esi
4353b8:	c9                   	leave
4353b9:	c3                   	ret
4353ba:	8b ff                	mov    %edi,%edi
4353bc:	55                   	push   %ebp
4353bd:	8b ec                	mov    %esp,%ebp
4353bf:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
4353c3:	33 c0                	xor    %eax,%eax
4353c5:	66 3b 88 9c 38 44 00 	cmp    0x44389c(%eax),%cx
4353cc:	74 0d                	je     0x4353db
4353ce:	83 c0 02             	add    $0x2,%eax
4353d1:	83 f8 14             	cmp    $0x14,%eax
4353d4:	72 ef                	jb     0x4353c5
4353d6:	33 c0                	xor    %eax,%eax
4353d8:	40                   	inc    %eax
4353d9:	5d                   	pop    %ebp
4353da:	c3                   	ret
4353db:	33 c0                	xor    %eax,%eax
4353dd:	5d                   	pop    %ebp
4353de:	c3                   	ret
4353df:	8b ff                	mov    %edi,%edi
4353e1:	55                   	push   %ebp
4353e2:	8b ec                	mov    %esp,%ebp
4353e4:	51                   	push   %ecx
4353e5:	56                   	push   %esi
4353e6:	57                   	push   %edi
4353e7:	e8 dd 51 ff ff       	call   0x42a5c9
4353ec:	8b 75 08             	mov    0x8(%ebp),%esi
4353ef:	8b f8                	mov    %eax,%edi
4353f1:	6a 02                	push   $0x2
4353f3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4353f6:	8b ce                	mov    %esi,%ecx
4353f8:	50                   	push   %eax
4353f9:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4353ff:	68 01 00 00 20       	push   $0x20000001
435404:	81 c9 00 04 00 00    	or     $0x400,%ecx
43540a:	51                   	push   %ecx
43540b:	ff 15 e0 e1 43 00    	call   *0x43e1e0
435411:	85 c0                	test   %eax,%eax
435413:	74 39                	je     0x43544e
435415:	3b 75 fc             	cmp    -0x4(%ebp),%esi
435418:	74 2f                	je     0x435449
43541a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43541e:	74 29                	je     0x435449
435420:	8b 77 50             	mov    0x50(%edi),%esi
435423:	8d 4e 02             	lea    0x2(%esi),%ecx
435426:	66 8b 06             	mov    (%esi),%ax
435429:	83 c6 02             	add    $0x2,%esi
43542c:	66 85 c0             	test   %ax,%ax
43542f:	75 f5                	jne    0x435426
435431:	ff 77 50             	push   0x50(%edi)
435434:	2b f1                	sub    %ecx,%esi
435436:	d1 fe                	sar    $1,%esi
435438:	e8 df fa ff ff       	call   0x434f1c
43543d:	59                   	pop    %ecx
43543e:	33 c9                	xor    %ecx,%ecx
435440:	3b c6                	cmp    %esi,%eax
435442:	0f 95 c1             	setne  %cl
435445:	8b c1                	mov    %ecx,%eax
435447:	eb 07                	jmp    0x435450
435449:	33 c0                	xor    %eax,%eax
43544b:	40                   	inc    %eax
43544c:	eb 02                	jmp    0x435450
43544e:	33 c0                	xor    %eax,%eax
435450:	5f                   	pop    %edi
435451:	5e                   	pop    %esi
435452:	c9                   	leave
435453:	c3                   	ret
435454:	8b ff                	mov    %edi,%edi
435456:	55                   	push   %ebp
435457:	8b ec                	mov    %esp,%ebp
435459:	51                   	push   %ecx
43545a:	53                   	push   %ebx
43545b:	56                   	push   %esi
43545c:	8b 75 0c             	mov    0xc(%ebp),%esi
43545f:	57                   	push   %edi
435460:	33 ff                	xor    %edi,%edi
435462:	85 f6                	test   %esi,%esi
435464:	78 34                	js     0x43549a
435466:	8d 04 37             	lea    (%edi,%esi,1),%eax
435469:	99                   	cltd
43546a:	2b c2                	sub    %edx,%eax
43546c:	8b d8                	mov    %eax,%ebx
43546e:	8b 45 08             	mov    0x8(%ebp),%eax
435471:	d1 fb                	sar    $1,%ebx
435473:	6b cb 0c             	imul   $0xc,%ebx,%ecx
435476:	89 4d fc             	mov    %ecx,-0x4(%ebp)
435479:	ff 34 01             	push   (%ecx,%eax,1)
43547c:	8b 45 10             	mov    0x10(%ebp),%eax
43547f:	ff 30                	push   (%eax)
435481:	e8 e7 0e ff ff       	call   0x42636d
435486:	59                   	pop    %ecx
435487:	59                   	pop    %ecx
435488:	85 c0                	test   %eax,%eax
43548a:	74 15                	je     0x4354a1
43548c:	79 05                	jns    0x435493
43548e:	8d 73 ff             	lea    -0x1(%ebx),%esi
435491:	eb 03                	jmp    0x435496
435493:	8d 7b 01             	lea    0x1(%ebx),%edi
435496:	3b fe                	cmp    %esi,%edi
435498:	7e cc                	jle    0x435466
43549a:	32 c0                	xor    %al,%al
43549c:	5f                   	pop    %edi
43549d:	5e                   	pop    %esi
43549e:	5b                   	pop    %ebx
43549f:	c9                   	leave
4354a0:	c3                   	ret
4354a1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4354a4:	8b 45 08             	mov    0x8(%ebp),%eax
4354a7:	83 c1 04             	add    $0x4,%ecx
4354aa:	03 c1                	add    %ecx,%eax
4354ac:	8b 4d 10             	mov    0x10(%ebp),%ecx
4354af:	89 01                	mov    %eax,(%ecx)
4354b1:	b0 01                	mov    $0x1,%al
4354b3:	eb e7                	jmp    0x43549c
4354b5:	8b ff                	mov    %edi,%edi