4032d2:	89 43 38             	mov    %eax,0x38(%ebx)
4032d5:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4032d8:	e8 cd f9 ff ff       	call   0x402caa
4032dd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4032e0:	8b f8                	mov    %eax,%edi
4032e2:	e8 0a 04 00 00       	call   0x4036f1
4032e7:	8b 03                	mov    (%ebx),%eax
4032e9:	53                   	push   %ebx
4032ea:	8b 70 08             	mov    0x8(%eax),%esi
4032ed:	8b ce                	mov    %esi,%ecx
4032ef:	ff 15 90 61 40 00    	call   *0x406190
4032f5:	ff d6                	call   *%esi
4032f7:	eb 05                	jmp    0x4032fe
4032f9:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
4032fe:	8b c7                	mov    %edi,%eax
403300:	5f                   	pop    %edi
403301:	5e                   	pop    %esi
403302:	5b                   	pop    %ebx
403303:	c9                   	leave
403304:	c2 10 00             	ret    $0x10
403307:	cc                   	int3
403308:	cc                   	int3
403309:	cc                   	int3
40330a:	cc                   	int3
40330b:	cc                   	int3
40330c:	cc                   	int3
40330d:	cc                   	int3
40330e:	cc                   	int3
40330f:	cc                   	int3
403310:	8b ff                	mov    %edi,%edi
403312:	55                   	push   %ebp
403313:	8b ec                	mov    %esp,%ebp
403315:	56                   	push   %esi
403316:	8b 75 08             	mov    0x8(%ebp),%esi
403319:	ff 76 04             	push   0x4(%esi)
40331c:	ff 15 b8 60 40 00    	call   *0x4060b8
403322:	8b 06                	mov    (%esi),%eax
403324:	56                   	push   %esi
403325:	8b 70 08             	mov    0x8(%eax),%esi
403328:	8b ce                	mov    %esi,%ecx
40332a:	ff 15 90 61 40 00    	call   *0x406190
403330:	ff d6                	call   *%esi
403332:	33 c0                	xor    %eax,%eax
403334:	40                   	inc    %eax
403335:	5e                   	pop    %esi
403336:	5d                   	pop    %ebp
403337:	c2 08 00             	ret    $0x8
40333a:	cc                   	int3
40333b:	cc                   	int3
40333c:	cc                   	int3
40333d:	cc                   	int3
40333e:	cc                   	int3
40333f:	cc                   	int3
403340:	8b ff                	mov    %edi,%edi
403342:	55                   	push   %ebp
403343:	8b ec                	mov    %esp,%ebp
403345:	8b 4d 08             	mov    0x8(%ebp),%ecx
403348:	33 c0                	xor    %eax,%eax
40334a:	40                   	inc    %eax
40334b:	f0 0f c1 41 10       	lock xadd %eax,0x10(%ecx)
403350:	40                   	inc    %eax
403351:	5d                   	pop    %ebp
403352:	c2 04 00             	ret    $0x4
403355:	cc                   	int3
403356:	cc                   	int3
403357:	cc                   	int3
403358:	cc                   	int3
403359:	cc                   	int3
40335a:	cc                   	int3
40335b:	cc                   	int3
40335c:	cc                   	int3
40335d:	cc                   	int3
40335e:	cc                   	int3
40335f:	cc                   	int3
403360:	8b ff                	mov    %edi,%edi
403362:	55                   	push   %ebp
403363:	8b ec                	mov    %esp,%ebp
403365:	56                   	push   %esi
403366:	8b 75 08             	mov    0x8(%ebp),%esi
403369:	57                   	push   %edi
40336a:	83 cf ff             	or     $0xffffffff,%edi
40336d:	f0 0f c1 7e 10       	lock xadd %edi,0x10(%esi)
403372:	4f                   	dec    %edi
403373:	75 13                	jne    0x403388
403375:	85 f6                	test   %esi,%esi
403377:	74 0f                	je     0x403388
403379:	8d 4e 0c             	lea    0xc(%esi),%ecx
40337c:	e8 3b 03 00 00       	call   0x4036bc
403381:	56                   	push   %esi
403382:	e8 dd 0b 00 00       	call   0x403f64
403387:	59                   	pop    %ecx
403388:	8b c7                	mov    %edi,%eax
40338a:	5f                   	pop    %edi
40338b:	5e                   	pop    %esi
40338c:	5d                   	pop    %ebp
40338d:	c2 04 00             	ret    $0x4
403390:	8b ff                	mov    %edi,%edi
403392:	55                   	push   %ebp
403393:	8b ec                	mov    %esp,%ebp
403395:	ff 75 10             	push   0x10(%ebp)
403398:	ff 75 0c             	push   0xc(%ebp)
40339b:	68 7c 10 40 00       	push   $0x40107c
4033a0:	ff 75 08             	push   0x8(%ebp)
4033a3:	ff 15 88 60 40 00    	call   *0x406088
4033a9:	5d                   	pop    %ebp
4033aa:	c2 0c 00             	ret    $0xc
4033ad:	cc                   	int3
4033ae:	cc                   	int3
4033af:	cc                   	int3
4033b0:	8b ff                	mov    %edi,%edi
4033b2:	55                   	push   %ebp
4033b3:	8b ec                	mov    %esp,%ebp
4033b5:	56                   	push   %esi
4033b6:	8b 75 08             	mov    0x8(%ebp),%esi
4033b9:	57                   	push   %edi
4033ba:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
4033be:	75 16                	jne    0x4033d6
4033c0:	6a 08                	push   $0x8
4033c2:	ff 15 00 60 40 00    	call   *0x406000
4033c8:	89 46 0c             	mov    %eax,0xc(%esi)
4033cb:	85 c0                	test   %eax,%eax
4033cd:	75 07                	jne    0x4033d6
4033cf:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
4033d4:	eb 77                	jmp    0x40344d
4033d6:	53                   	push   %ebx
4033d7:	6a 20                	push   $0x20
4033d9:	e8 5d 0b 00 00       	call   0x403f3b
4033de:	8b d8                	mov    %eax,%ebx
4033e0:	59                   	pop    %ecx
4033e1:	85 db                	test   %ebx,%ebx
4033e3:	74 22                	je     0x403407
4033e5:	8b 4e 04             	mov    0x4(%esi),%ecx
4033e8:	8d 7b 0c             	lea    0xc(%ebx),%edi
4033eb:	8b 75 0c             	mov    0xc(%ebp),%esi
4033ee:	c7 03 54 10 40 00    	movl   $0x401054,(%ebx)
4033f4:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
4033fb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4033fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4033fd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4033fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4033ff:	8b 75 08             	mov    0x8(%ebp),%esi
403402:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
403405:	eb 02                	jmp    0x403409
403407:	33 db                	xor    %ebx,%ebx
403409:	85 db                	test   %ebx,%ebx
40340b:	74 3a                	je     0x403447
40340d:	8d 43 04             	lea    0x4(%ebx),%eax
403410:	50                   	push   %eax
403411:	6a 08                	push   $0x8
403413:	6a 04                	push   $0x4
403415:	53                   	push   %ebx
403416:	ff 75 0c             	push   0xc(%ebp)
403419:	ff 15 d4 60 40 00    	call   *0x4060d4
40341f:	8b f8                	mov    %eax,%edi
403421:	53                   	push   %ebx
403422:	85 ff                	test   %edi,%edi
403424:	78 10                	js     0x403436
403426:	68 ff ff ff 7f       	push   $0x7fffffff
40342b:	ff 76 0c             	push   0xc(%esi)
40342e:	ff 15 0c 60 40 00    	call   *0x40600c
403434:	eb 16                	jmp    0x40344c
403436:	8b 03                	mov    (%ebx),%eax
403438:	8b 70 08             	mov    0x8(%eax),%esi
40343b:	8b ce                	mov    %esi,%ecx
40343d:	ff 15 90 61 40 00    	call   *0x406190
403443:	ff d6                	call   *%esi
403445:	eb 05                	jmp    0x40344c
403447:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40344c:	5b                   	pop    %ebx
40344d:	ff 15 c0 60 40 00    	call   *0x4060c0
403453:	8b c7                	mov    %edi,%eax
403455:	5f                   	pop    %edi
403456:	5e                   	pop    %esi
403457:	5d                   	pop    %ebp
403458:	c2 08 00             	ret    $0x8
40345b:	cc                   	int3
40345c:	cc                   	int3
40345d:	cc                   	int3
40345e:	cc                   	int3
40345f:	cc                   	int3
403460:	8b ff                	mov    %edi,%edi
403462:	55                   	push   %ebp
403463:	8b ec                	mov    %esp,%ebp
403465:	8b 45 08             	mov    0x8(%ebp),%eax
403468:	ff 70 04             	push   0x4(%eax)
40346b:	ff 15 34 60 40 00    	call   *0x406034
403471:	33 c0                	xor    %eax,%eax
403473:	5d                   	pop    %ebp
403474:	c2 04 00             	ret    $0x4
403477:	8b ff                	mov    %edi,%edi
403479:	55                   	push   %ebp
40347a:	8b ec                	mov    %esp,%ebp
40347c:	81 ec 88 00 00 00    	sub    $0x88,%esp
403482:	a1 14 50 40 00       	mov    0x405014,%eax
403487:	33 c5                	xor    %ebp,%eax
403489:	89 45 fc             	mov    %eax,-0x4(%ebp)
40348c:	53                   	push   %ebx
40348d:	56                   	push   %esi
40348e:	8b 75 10             	mov    0x10(%ebp),%esi
403491:	33 db                	xor    %ebx,%ebx
403493:	57                   	push   %edi
403494:	53                   	push   %ebx
403495:	53                   	push   %ebx
403496:	33 ff                	xor    %edi,%edi
403498:	47                   	inc    %edi
403499:	57                   	push   %edi
40349a:	53                   	push   %ebx
40349b:	ff 15 44 60 40 00    	call   *0x406044
4034a1:	6a 06                	push   $0x6
4034a3:	53                   	push   %ebx
4034a4:	ff 15 ac 60 40 00    	call   *0x4060ac
4034aa:	85 c0                	test   %eax,%eax
4034ac:	0f 88 f7 01 00 00    	js     0x4036a9
4034b2:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4034b5:	89 7d 9c             	mov    %edi,-0x64(%ebp)
4034b8:	c7 45 a0 02 00 00 00 	movl   $0x2,-0x60(%ebp)
4034bf:	c7 45 a4 04 00 00 00 	movl   $0x4,-0x5c(%ebp)
4034c6:	c7 45 a8 40 00 00 00 	movl   $0x40,-0x58(%ebp)
4034cd:	e8 bc 08 00 00       	call   0x403d8e
4034d2:	53                   	push   %ebx
4034d3:	6a 08                	push   $0x8
4034d5:	53                   	push   %ebx
4034d6:	53                   	push   %ebx
4034d7:	53                   	push   %ebx
4034d8:	53                   	push   %ebx
4034d9:	53                   	push   %ebx
4034da:	53                   	push   %ebx
4034db:	68 b4 14 40 00       	push   $0x4014b4
4034e0:	ff 15 c8 60 40 00    	call   *0x4060c8
4034e6:	85 c0                	test   %eax,%eax
4034e8:	0f 88 b5 01 00 00    	js     0x4036a3
4034ee:	6a 14                	push   $0x14
4034f0:	e8 46 0a 00 00       	call   0x403f3b
4034f5:	8b f8                	mov    %eax,%edi
4034f7:	59                   	pop    %ecx
4034f8:	85 ff                	test   %edi,%edi
4034fa:	74 15                	je     0x403511
4034fc:	c7 07 08 10 40 00    	movl   $0x401008,(%edi)
403502:	89 5f 04             	mov    %ebx,0x4(%edi)
403505:	89 5f 0c             	mov    %ebx,0xc(%edi)
403508:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
40350f:	eb 02                	jmp    0x403513
403511:	8b fb                	mov    %ebx,%edi
403513:	85 ff                	test   %edi,%edi
403515:	0f 84 88 01 00 00    	je     0x4036a3
40351b:	33 c0                	xor    %eax,%eax
40351d:	50                   	push   %eax
40351e:	50                   	push   %eax
40351f:	6a 01                	push   $0x1
403521:	50                   	push   %eax
403522:	ff 15 24 60 40 00    	call   *0x406024
403528:	89 47 04             	mov    %eax,0x4(%edi)
40352b:	33 c0                	xor    %eax,%eax
40352d:	50                   	push   %eax
40352e:	50                   	push   %eax
40352f:	6a 01                	push   $0x1
403531:	50                   	push   %eax
403532:	ff 15 24 60 40 00    	call   *0x406024
403538:	89 47 08             	mov    %eax,0x8(%edi)
40353b:	39 5f 04             	cmp    %ebx,0x4(%edi)
40353e:	74 04                	je     0x403544
403540:	85 c0                	test   %eax,%eax
403542:	75 0d                	jne    0x403551
403544:	e8 d9 f6 ff ff       	call   0x402c22
403549:	85 c0                	test   %eax,%eax
40354b:	0f 88 42 01 00 00    	js     0x403693
403551:	57                   	push   %edi
403552:	ff 15 b4 60 40 00    	call   *0x4060b4
403558:	85 c0                	test   %eax,%eax
40355a:	0f 88 33 01 00 00    	js     0x403693
403560:	6a 0c                	push   $0xc
403562:	e8 d4 09 00 00       	call   0x403f3b
403567:	8b d8                	mov    %eax,%ebx
403569:	89 45 94             	mov    %eax,-0x6c(%ebp)
40356c:	59                   	pop    %ecx
40356d:	85 db                	test   %ebx,%ebx
40356f:	74 15                	je     0x403586
403571:	8b 4f 08             	mov    0x8(%edi),%ecx
403574:	c7 03 38 10 40 00    	movl   $0x401038,(%ebx)
40357a:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
403581:	89 4b 08             	mov    %ecx,0x8(%ebx)
403584:	eb 05                	jmp    0x40358b
403586:	33 db                	xor    %ebx,%ebx
403588:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
40358b:	85 db                	test   %ebx,%ebx
40358d:	0f 84 00 01 00 00    	je     0x403693
403593:	53                   	push   %ebx
403594:	ff 15 80 60 40 00    	call   *0x406080
40359a:	6a 27                	push   $0x27
40359c:	8d 45 ac             	lea    -0x54(%ebp),%eax
40359f:	50                   	push   %eax
4035a0:	56                   	push   %esi
4035a1:	ff 15 90 60 40 00    	call   *0x406090
4035a7:	8d 45 9c             	lea    -0x64(%ebp),%eax
4035aa:	50                   	push   %eax
4035ab:	8d 45 ac             	lea    -0x54(%ebp),%eax
4035ae:	50                   	push   %eax
4035af:	ff 15 b0 60 40 00    	call   *0x4060b0
4035b5:	85 c0                	test   %eax,%eax
4035b7:	0f 88 d6 00 00 00    	js     0x403693
4035bd:	8b 07                	mov    (%edi),%eax
4035bf:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4035c2:	51                   	push   %ecx
4035c3:	57                   	push   %edi
4035c4:	8b 70 0c             	mov    0xc(%eax),%esi
4035c7:	8b ce                	mov    %esi,%ecx
4035c9:	ff 15 90 61 40 00    	call   *0x406190
4035cf:	ff d6                	call   *%esi
4035d1:	8b f0                	mov    %eax,%esi
4035d3:	89 75 98             	mov    %esi,-0x68(%ebp)
4035d6:	85 f6                	test   %esi,%esi
4035d8:	0f 88 b5 00 00 00    	js     0x403693
4035de:	33 f6                	xor    %esi,%esi
4035e0:	8d 5f 04             	lea    0x4(%edi),%ebx
4035e3:	46                   	inc    %esi
4035e4:	85 f6                	test   %esi,%esi
4035e6:	74 70                	je     0x403658
4035e8:	68 ff 1c 00 00       	push   $0x1cff
4035ed:	6a ff                	push   $0xffffffff
4035ef:	6a 00                	push   $0x0
4035f1:	53                   	push   %ebx
4035f2:	6a 01                	push   $0x1
4035f4:	ff 15 a0 60 40 00    	call   *0x4060a0
4035fa:	85 c0                	test   %eax,%eax
4035fc:	74 51                	je     0x40364f
4035fe:	83 f8 01             	cmp    $0x1,%eax
403601:	74 32                	je     0x403635
403603:	83 f8 ff             	cmp    $0xffffffff,%eax
403606:	75 50                	jne    0x403658
403608:	e8 15 f6 ff ff       	call   0x402c22
40360d:	89 45 98             	mov    %eax,-0x68(%ebp)
403610:	eb 42                	jmp    0x403654
403612:	83 bd 7c ff ff ff 12 	cmpl   $0x12,-0x84(%ebp)
403619:	74 34                	je     0x40364f
40361b:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
403621:	50                   	push   %eax
403622:	ff 15 a4 60 40 00    	call   *0x4060a4
403628:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40362e:	50                   	push   %eax
40362f:	ff 15 9c 60 40 00    	call   *0x40609c
403635:	6a 01                	push   $0x1
403637:	33 c0                	xor    %eax,%eax
403639:	50                   	push   %eax
40363a:	50                   	push   %eax
40363b:	50                   	push   %eax
40363c:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
403642:	50                   	push   %eax
403643:	ff 15 98 60 40 00    	call   *0x406098
403649:	85 c0                	test   %eax,%eax
40364b:	75 c5                	jne    0x403612