43311c:	74 35                	je     0x433153
43311e:	2b de                	sub    %esi,%ebx
433120:	0f b7 0c 33          	movzwl (%ebx,%esi,1),%ecx
433124:	4f                   	dec    %edi
433125:	66 85 c9             	test   %cx,%cx
433128:	75 05                	jne    0x43312f
43312a:	66 39 0e             	cmp    %cx,(%esi)
43312d:	74 24                	je     0x433153
43312f:	e8 ba ff ff ff       	call   0x4330ee
433134:	66 8b 0e             	mov    (%esi),%cx
433137:	0f b7 c0             	movzwl %ax,%eax
43313a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43313d:	e8 ac ff ff ff       	call   0x4330ee
433142:	8b 4d fc             	mov    -0x4(%ebp),%ecx
433145:	0f b7 c0             	movzwl %ax,%eax
433148:	2b c8                	sub    %eax,%ecx
43314a:	75 10                	jne    0x43315c
43314c:	83 c6 02             	add    $0x2,%esi
43314f:	85 ff                	test   %edi,%edi
433151:	75 cd                	jne    0x433120
433153:	33 c0                	xor    %eax,%eax
433155:	5f                   	pop    %edi
433156:	5e                   	pop    %esi
433157:	5b                   	pop    %ebx
433158:	c9                   	leave
433159:	c2 04 00             	ret    $0x4
43315c:	8b c1                	mov    %ecx,%eax
43315e:	eb f5                	jmp    0x433155
433160:	8b ff                	mov    %edi,%edi
433162:	56                   	push   %esi
433163:	8b f1                	mov    %ecx,%esi
433165:	33 c9                	xor    %ecx,%ecx
433167:	8b 06                	mov    (%esi),%eax
433169:	3b 46 04             	cmp    0x4(%esi),%eax
43316c:	75 0f                	jne    0x43317d
43316e:	8b 46 08             	mov    0x8(%esi),%eax
433171:	3b 46 0c             	cmp    0xc(%esi),%eax
433174:	75 07                	jne    0x43317d
433176:	b9 02 00 00 80       	mov    $0x80000002,%ecx
43317b:	eb 1c                	jmp    0x433199
43317d:	ff 46 08             	incl   0x8(%esi)
433180:	81 7e 08 00 01 00 00 	cmpl   $0x100,0x8(%esi)
433187:	75 0d                	jne    0x433196
433189:	8b ce                	mov    %esi,%ecx
43318b:	e8 0d 00 00 00       	call   0x43319d
433190:	83 66 08 00          	andl   $0x0,0x8(%esi)
433194:	8b c8                	mov    %eax,%ecx
433196:	ff 4e 10             	decl   0x10(%esi)
433199:	8b c1                	mov    %ecx,%eax
43319b:	5e                   	pop    %esi
43319c:	c3                   	ret
43319d:	6a 00                	push   $0x0
43319f:	b8 fd 2c 42 00       	mov    $0x422cfd,%eax
4331a4:	e8 c4 c4 fe ff       	call   0x41f66d
4331a9:	8b f9                	mov    %ecx,%edi
4331ab:	8b 07                	mov    (%edi),%eax
4331ad:	33 c9                	xor    %ecx,%ecx
4331af:	85 c0                	test   %eax,%eax
4331b1:	74 16                	je     0x4331c9
4331b3:	8b 4f 18             	mov    0x18(%edi),%ecx
4331b6:	8b 30                	mov    (%eax),%esi
4331b8:	50                   	push   %eax
4331b9:	e8 6c 66 fe ff       	call   0x41982a
4331be:	81 47 14 00 ff ff ff 	addl   $0xffffff00,0x14(%edi)
4331c5:	8b c8                	mov    %eax,%ecx
4331c7:	89 37                	mov    %esi,(%edi)
4331c9:	8b c1                	mov    %ecx,%eax
4331cb:	e8 6b c4 fe ff       	call   0x41f63b
4331d0:	c3                   	ret
4331d1:	8b ff                	mov    %edi,%edi
4331d3:	55                   	push   %ebp
4331d4:	8b ec                	mov    %esp,%ebp
4331d6:	51                   	push   %ecx
4331d7:	56                   	push   %esi
4331d8:	57                   	push   %edi
4331d9:	8b 7d 10             	mov    0x10(%ebp),%edi
4331dc:	33 c0                	xor    %eax,%eax
4331de:	89 45 fc             	mov    %eax,-0x4(%ebp)
4331e1:	85 ff                	test   %edi,%edi
4331e3:	74 22                	je     0x433207
4331e5:	8b f7                	mov    %edi,%esi
4331e7:	53                   	push   %ebx
4331e8:	8d 5e 02             	lea    0x2(%esi),%ebx
4331eb:	66 8b 06             	mov    (%esi),%ax
4331ee:	83 c6 02             	add    $0x2,%esi
4331f1:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4331f5:	75 f4                	jne    0x4331eb
4331f7:	2b f3                	sub    %ebx,%esi
4331f9:	d1 fe                	sar    $1,%esi
4331fb:	33 c0                	xor    %eax,%eax
4331fd:	5b                   	pop    %ebx
4331fe:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
433205:	eb 03                	jmp    0x43320a
433207:	6a 0a                	push   $0xa
433209:	5e                   	pop    %esi
43320a:	85 ff                	test   %edi,%edi
43320c:	75 05                	jne    0x433213
43320e:	bf 98 aa 40 00       	mov    $0x40aa98,%edi
433213:	50                   	push   %eax
433214:	6a 04                	push   $0x4
433216:	8d 45 14             	lea    0x14(%ebp),%eax
433219:	50                   	push   %eax
43321a:	56                   	push   %esi
43321b:	57                   	push   %edi
43321c:	51                   	push   %ecx
43321d:	52                   	push   %edx
43321e:	6a 2b                	push   $0x2b
433220:	ff 75 0c             	push   0xc(%ebp)
433223:	ff 75 08             	push   0x8(%ebp)
433226:	ff 15 94 12 45 00    	call   *0x451294
43322c:	83 c4 28             	add    $0x28,%esp
43322f:	5f                   	pop    %edi
433230:	5e                   	pop    %esi
433231:	c9                   	leave
433232:	c2 10 00             	ret    $0x10
433235:	8b ff                	mov    %edi,%edi
433237:	55                   	push   %ebp
433238:	8b ec                	mov    %esp,%ebp
43323a:	6a ff                	push   $0xffffffff
43323c:	68 10 31 42 00       	push   $0x423110
433241:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
433247:	50                   	push   %eax
433248:	56                   	push   %esi
433249:	57                   	push   %edi
43324a:	a1 54 02 45 00       	mov    0x450254,%eax
43324f:	33 c5                	xor    %ebp,%eax
433251:	50                   	push   %eax
433252:	8d 45 f4             	lea    -0xc(%ebp),%eax
433255:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43325b:	8b f9                	mov    %ecx,%edi
43325d:	8b 4f 14             	mov    0x14(%edi),%ecx
433260:	c7 07 04 14 40 00    	movl   $0x401404,(%edi)
433266:	85 c9                	test   %ecx,%ecx
433268:	74 14                	je     0x43327e
43326a:	8b 01                	mov    (%ecx),%eax
43326c:	51                   	push   %ecx
43326d:	8b 70 08             	mov    0x8(%eax),%esi
433270:	8b ce                	mov    %esi,%ecx
433272:	ff 15 c4 12 45 00    	call   *0x4512c4
433278:	ff d6                	call   *%esi
43327a:	83 67 14 00          	andl   $0x0,0x14(%edi)
43327e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
433281:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
433288:	59                   	pop    %ecx
433289:	5f                   	pop    %edi
43328a:	5e                   	pop    %esi
43328b:	c9                   	leave
43328c:	c3                   	ret
43328d:	cc                   	int3
43328e:	cc                   	int3
43328f:	cc                   	int3
433290:	8b ff                	mov    %edi,%edi
433292:	55                   	push   %ebp
433293:	8b ec                	mov    %esp,%ebp
433295:	6a ff                	push   $0xffffffff
433297:	68 47 30 42 00       	push   $0x423047
43329c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4332a2:	50                   	push   %eax
4332a3:	56                   	push   %esi
4332a4:	a1 54 02 45 00       	mov    0x450254,%eax
4332a9:	33 c5                	xor    %ebp,%eax
4332ab:	50                   	push   %eax
4332ac:	8d 45 f4             	lea    -0xc(%ebp),%eax
4332af:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4332b5:	8b f1                	mov    %ecx,%esi
4332b7:	e8 79 ff ff ff       	call   0x433235
4332bc:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4332c0:	74 14                	je     0x4332d6
4332c2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4332c6:	85 f6                	test   %esi,%esi
4332c8:	74 0c                	je     0x4332d6
4332ca:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
4332d0:	56                   	push   %esi
4332d1:	e8 54 65 fe ff       	call   0x41982a
4332d6:	8b c6                	mov    %esi,%eax
4332d8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4332db:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4332e2:	59                   	pop    %ecx
4332e3:	5e                   	pop    %esi
4332e4:	c9                   	leave
4332e5:	c2 04 00             	ret    $0x4
4332e8:	cc                   	int3
4332e9:	cc                   	int3
4332ea:	cc                   	int3
4332eb:	cc                   	int3
4332ec:	cc                   	int3
4332ed:	cc                   	int3
4332ee:	cc                   	int3
4332ef:	cc                   	int3
4332f0:	8b ff                	mov    %edi,%edi
4332f2:	55                   	push   %ebp
4332f3:	8b ec                	mov    %esp,%ebp
4332f5:	51                   	push   %ecx
4332f6:	51                   	push   %ecx
4332f7:	53                   	push   %ebx
4332f8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4332fb:	56                   	push   %esi
4332fc:	57                   	push   %edi
4332fd:	8b 7b 14             	mov    0x14(%ebx),%edi
433300:	85 ff                	test   %edi,%edi
433302:	74 11                	je     0x433315
433304:	8b 07                	mov    (%edi),%eax
433306:	8b 70 18             	mov    0x18(%eax),%esi
433309:	8b ce                	mov    %esi,%ecx
43330b:	ff 15 c4 12 45 00    	call   *0x4512c4
433311:	8b cf                	mov    %edi,%ecx
433313:	ff d6                	call   *%esi
433315:	83 cf ff             	or     $0xffffffff,%edi
433318:	f0 0f c1 7b 08       	lock xadd %edi,0x8(%ebx)
43331d:	4f                   	dec    %edi
43331e:	89 7d f8             	mov    %edi,-0x8(%ebp)
433321:	8b 7b 14             	mov    0x14(%ebx),%edi
433324:	75 65                	jne    0x43338b
433326:	8b 43 28             	mov    0x28(%ebx),%eax
433329:	89 45 fc             	mov    %eax,-0x4(%ebp)
43332c:	c7 43 28 ac b1 ba ba 	movl   $0xbabab1ac,0x28(%ebx)
433333:	85 ff                	test   %edi,%edi
433335:	74 2c                	je     0x433363
433337:	8b 17                	mov    (%edi),%edx
433339:	8d 43 18             	lea    0x18(%ebx),%eax
43333c:	50                   	push   %eax
43333d:	8b 72 2c             	mov    0x2c(%edx),%esi
433340:	8b ce                	mov    %esi,%ecx
433342:	ff 15 c4 12 45 00    	call   *0x4512c4
433348:	8b cf                	mov    %edi,%ecx
43334a:	ff d6                	call   *%esi
43334c:	8b 7b 14             	mov    0x14(%ebx),%edi
43334f:	8b 07                	mov    (%edi),%eax
433351:	8b 70 1c             	mov    0x1c(%eax),%esi
433354:	8b ce                	mov    %esi,%ecx
433356:	ff 15 c4 12 45 00    	call   *0x4512c4
43335c:	8b cf                	mov    %edi,%ecx
43335e:	ff d6                	call   *%esi
433360:	8b 45 fc             	mov    -0x4(%ebp),%eax
433363:	83 f8 01             	cmp    $0x1,%eax
433366:	75 11                	jne    0x433379
433368:	8b 03                	mov    (%ebx),%eax
43336a:	8b 70 14             	mov    0x14(%eax),%esi
43336d:	8b ce                	mov    %esi,%ecx
43336f:	ff 15 c4 12 45 00    	call   *0x4512c4
433375:	8b cb                	mov    %ebx,%ecx
433377:	ff d6                	call   *%esi
433379:	8b 03                	mov    (%ebx),%eax
43337b:	53                   	push   %ebx
43337c:	8b 70 28             	mov    0x28(%eax),%esi
43337f:	8b ce                	mov    %esi,%ecx
433381:	ff 15 c4 12 45 00    	call   *0x4512c4
433387:	ff d6                	call   *%esi
433389:	eb 15                	jmp    0x4333a0
43338b:	85 ff                	test   %edi,%edi
43338d:	74 11                	je     0x4333a0
43338f:	8b 0f                	mov    (%edi),%ecx
433391:	8b 71 1c             	mov    0x1c(%ecx),%esi
433394:	8b ce                	mov    %esi,%ecx
433396:	ff 15 c4 12 45 00    	call   *0x4512c4
43339c:	8b cf                	mov    %edi,%ecx
43339e:	ff d6                	call   *%esi
4333a0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4333a3:	5f                   	pop    %edi
4333a4:	5e                   	pop    %esi
4333a5:	5b                   	pop    %ebx
4333a6:	c9                   	leave
4333a7:	c2 04 00             	ret    $0x4
4333aa:	8b ff                	mov    %edi,%edi
4333ac:	55                   	push   %ebp
4333ad:	8b ec                	mov    %esp,%ebp
4333af:	83 ec 0c             	sub    $0xc,%esp
4333b2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4333b6:	53                   	push   %ebx
4333b7:	56                   	push   %esi
4333b8:	8b 75 14             	mov    0x14(%ebp),%esi
4333bb:	8b da                	mov    %edx,%ebx
4333bd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4333c0:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4333c3:	57                   	push   %edi
4333c4:	6a 0a                	push   $0xa
4333c6:	59                   	pop    %ecx
4333c7:	85 f6                	test   %esi,%esi
4333c9:	74 1e                	je     0x4333e9
4333cb:	8b d6                	mov    %esi,%edx
4333cd:	8d 7a 02             	lea    0x2(%edx),%edi
4333d0:	66 8b 02             	mov    (%edx),%ax
4333d3:	83 c2 02             	add    $0x2,%edx
4333d6:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4333da:	75 f4                	jne    0x4333d0
4333dc:	2b d7                	sub    %edi,%edx
4333de:	d1 fa                	sar    $1,%edx
4333e0:	8d 3c 55 02 00 00 00 	lea    0x2(,%edx,2),%edi
4333e7:	eb 02                	jmp    0x4333eb
4333e9:	8b f9                	mov    %ecx,%edi
4333eb:	85 f6                	test   %esi,%esi
4333ed:	75 05                	jne    0x4333f4
4333ef:	be 98 aa 40 00       	mov    $0x40aa98,%esi
4333f4:	8b 55 10             	mov    0x10(%ebp),%edx
4333f7:	85 d2                	test   %edx,%edx
4333f9:	74 23                	je     0x43341e
4333fb:	8b ca                	mov    %edx,%ecx
4333fd:	8d 59 02             	lea    0x2(%ecx),%ebx
433400:	66 8b 01             	mov    (%ecx),%ax
433403:	83 c1 02             	add    $0x2,%ecx
433406:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
43340a:	75 f4                	jne    0x433400
43340c:	2b cb                	sub    %ebx,%ecx
43340e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
433411:	d1 f9                	sar    $1,%ecx
433413:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43341a:	85 d2                	test   %edx,%edx
43341c:	75 05                	jne    0x433423
43341e:	ba 98 aa 40 00       	mov    $0x40aa98,%edx
433423:	33 c0                	xor    %eax,%eax
433425:	50                   	push   %eax
433426:	6a 04                	push   $0x4
433428:	8d 45 20             	lea    0x20(%ebp),%eax
43342b:	50                   	push   %eax
43342c:	6a 04                	push   $0x4
43342e:	8d 45 1c             	lea    0x1c(%ebp),%eax
433431:	50                   	push   %eax
433432:	6a 04                	push   $0x4
433434:	8d 45 18             	lea    0x18(%ebp),%eax
433437:	50                   	push   %eax
433438:	57                   	push   %edi
433439:	56                   	push   %esi
43343a:	51                   	push   %ecx
43343b:	52                   	push   %edx
43343c:	ff 75 f4             	push   -0xc(%ebp)
43343f:	53                   	push   %ebx
433440:	6a 2b                	push   $0x2b
433442:	ff 75 0c             	push   0xc(%ebp)
433445:	ff 75 08             	push   0x8(%ebp)
433448:	ff 15 94 12 45 00    	call   *0x451294
43344e:	83 c4 40             	add    $0x40,%esp
433451:	5f                   	pop    %edi
433452:	5e                   	pop    %esi
433453:	5b                   	pop    %ebx
433454:	c9                   	leave
433455:	c2 1c 00             	ret    $0x1c
433458:	8b ff                	mov    %edi,%edi
43345a:	55                   	push   %ebp
43345b:	8b ec                	mov    %esp,%ebp
43345d:	83 ec 0c             	sub    $0xc,%esp
433460:	53                   	push   %ebx
433461:	56                   	push   %esi
433462:	8b 75 14             	mov    0x14(%ebp),%esi
433465:	33 db                	xor    %ebx,%ebx
433467:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43346a:	89 55 f4             	mov    %edx,-0xc(%ebp)
43346d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
433470:	57                   	push   %edi
433471:	6a 0a                	push   $0xa
433473:	59                   	pop    %ecx