41124a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41124d:	8b 45 fc             	mov    -0x4(%ebp),%eax
411250:	83 c0 0c             	add    $0xc,%eax
411253:	89 45 fc             	mov    %eax,-0x4(%ebp)
411256:	ff 30                	push   (%eax)
411258:	6a 03                	push   $0x3
41125a:	68 51 03 00 00       	push   $0x351
41125f:	57                   	push   %edi
411260:	e8 59 fe ff ff       	call   0x4110be
411265:	8b 45 fc             	mov    -0x4(%ebp),%eax
411268:	83 c4 18             	add    $0x18,%esp
41126b:	3d b4 75 42 00       	cmp    $0x4275b4,%eax
411270:	0f 8c 6a ff ff ff    	jl     0x4111e0
411276:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41127a:	75 48                	jne    0x4112c4
41127c:	8b 4e 28             	mov    0x28(%esi),%ecx
41127f:	83 cf ff             	or     $0xffffffff,%edi
411282:	85 c9                	test   %ecx,%ecx
411284:	74 11                	je     0x411297
411286:	8b c7                	mov    %edi,%eax
411288:	f0 0f c1 01          	lock xadd %eax,(%ecx)
41128c:	75 09                	jne    0x411297
41128e:	ff 76 28             	push   0x28(%esi)
411291:	e8 75 1e 00 00       	call   0x41310b
411296:	59                   	pop    %ecx
411297:	8b 46 24             	mov    0x24(%esi),%eax
41129a:	85 c0                	test   %eax,%eax
41129c:	74 10                	je     0x4112ae
41129e:	f0 0f c1 38          	lock xadd %edi,(%eax)
4112a2:	4f                   	dec    %edi
4112a3:	75 09                	jne    0x4112ae
4112a5:	ff 76 24             	push   0x24(%esi)
4112a8:	e8 5e 1e 00 00       	call   0x41310b
4112ad:	59                   	pop    %ecx
4112ae:	83 66 24 00          	andl   $0x0,0x24(%esi)
4112b2:	8d 43 04             	lea    0x4(%ebx),%eax
4112b5:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
4112b9:	89 5e 28             	mov    %ebx,0x28(%esi)
4112bc:	89 46 20             	mov    %eax,0x20(%esi)
4112bf:	5f                   	pop    %edi
4112c0:	5e                   	pop    %esi
4112c1:	5b                   	pop    %ebx
4112c2:	c9                   	leave
4112c3:	c3                   	ret
4112c4:	53                   	push   %ebx
4112c5:	e8 41 1e 00 00       	call   0x41310b
4112ca:	59                   	pop    %ecx
4112cb:	8b 4e 28             	mov    0x28(%esi),%ecx
4112ce:	83 cf ff             	or     $0xffffffff,%edi
4112d1:	85 c9                	test   %ecx,%ecx
4112d3:	74 11                	je     0x4112e6
4112d5:	8b c7                	mov    %edi,%eax
4112d7:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4112db:	75 09                	jne    0x4112e6
4112dd:	ff 76 28             	push   0x28(%esi)
4112e0:	e8 26 1e 00 00       	call   0x41310b
4112e5:	59                   	pop    %ecx
4112e6:	8b 46 24             	mov    0x24(%esi),%eax
4112e9:	85 c0                	test   %eax,%eax
4112eb:	74 10                	je     0x4112fd
4112ed:	f0 0f c1 38          	lock xadd %edi,(%eax)
4112f1:	4f                   	dec    %edi
4112f2:	75 09                	jne    0x4112fd
4112f4:	ff 76 24             	push   0x24(%esi)
4112f7:	e8 0f 1e 00 00       	call   0x41310b
4112fc:	59                   	pop    %ecx
4112fd:	33 c0                	xor    %eax,%eax
4112ff:	89 46 24             	mov    %eax,0x24(%esi)
411302:	89 46 1c             	mov    %eax,0x1c(%esi)
411305:	89 46 28             	mov    %eax,0x28(%esi)
411308:	89 46 20             	mov    %eax,0x20(%esi)
41130b:	8b 46 40             	mov    0x40(%esi),%eax
41130e:	eb af                	jmp    0x4112bf
411310:	33 c0                	xor    %eax,%eax
411312:	50                   	push   %eax
411313:	50                   	push   %eax
411314:	50                   	push   %eax
411315:	50                   	push   %eax
411316:	50                   	push   %eax
411317:	e8 92 bd ff ff       	call   0x40d0ae
41131c:	cc                   	int3
41131d:	8b ff                	mov    %edi,%edi
41131f:	55                   	push   %ebp
411320:	8b ec                	mov    %esp,%ebp
411322:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
411328:	a1 14 30 43 00       	mov    0x433014,%eax
41132d:	33 c5                	xor    %ebp,%eax
41132f:	89 45 fc             	mov    %eax,-0x4(%ebp)
411332:	8b 45 0c             	mov    0xc(%ebp),%eax
411335:	53                   	push   %ebx
411336:	56                   	push   %esi
411337:	8b 75 10             	mov    0x10(%ebp),%esi
41133a:	57                   	push   %edi
41133b:	8b 7d 08             	mov    0x8(%ebp),%edi
41133e:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
411344:	85 c0                	test   %eax,%eax
411346:	74 21                	je     0x411369
411348:	85 f6                	test   %esi,%esi
41134a:	74 10                	je     0x41135c
41134c:	56                   	push   %esi
41134d:	50                   	push   %eax
41134e:	57                   	push   %edi
41134f:	e8 b9 02 00 00       	call   0x41160d
411354:	83 c4 0c             	add    $0xc,%esp
411357:	e9 90 02 00 00       	jmp    0x4115ec
41135c:	83 c0 02             	add    $0x2,%eax
41135f:	03 c0                	add    %eax,%eax
411361:	8b 04 c7             	mov    (%edi,%eax,8),%eax
411364:	e9 83 02 00 00       	jmp    0x4115ec
411369:	33 c0                	xor    %eax,%eax
41136b:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
411372:	00 00 00
411375:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
41137b:	8b d8                	mov    %eax,%ebx
41137d:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
411383:	85 f6                	test   %esi,%esi
411385:	0f 84 5a 02 00 00    	je     0x4115e5
41138b:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
41138f:	0f 85 68 01 00 00    	jne    0x4114fd
411395:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
41139a:	0f 85 5d 01 00 00    	jne    0x4114fd
4113a0:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
4113a5:	0f 85 52 01 00 00    	jne    0x4114fd
4113ab:	68 3c 76 42 00       	push   $0x42763c
4113b0:	56                   	push   %esi
4113b1:	e8 49 b1 00 00       	call   0x41c4ff
4113b6:	8b d8                	mov    %eax,%ebx
4113b8:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
4113be:	59                   	pop    %ecx
4113bf:	59                   	pop    %ecx
4113c0:	85 db                	test   %ebx,%ebx
4113c2:	0f 84 2e 01 00 00    	je     0x4114f6
4113c8:	2b c6                	sub    %esi,%eax
4113ca:	d1 f8                	sar    $1,%eax
4113cc:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
4113d2:	0f 84 1e 01 00 00    	je     0x4114f6
4113d8:	6a 3b                	push   $0x3b
4113da:	58                   	pop    %eax
4113db:	66 39 03             	cmp    %ax,(%ebx)
4113de:	0f 84 12 01 00 00    	je     0x4114f6
4113e4:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
4113ea:	bb 84 75 42 00       	mov    $0x427584,%ebx
4113ef:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
4113f6:	00 00 00
4113f9:	57                   	push   %edi
4113fa:	56                   	push   %esi
4113fb:	ff 33                	push   (%ebx)
4113fd:	e8 a6 18 00 00       	call   0x412ca8
411402:	83 c4 0c             	add    $0xc,%esp
411405:	85 c0                	test   %eax,%eax
411407:	75 1c                	jne    0x411425
411409:	8b 0b                	mov    (%ebx),%ecx
41140b:	8d 51 02             	lea    0x2(%ecx),%edx
41140e:	66 8b 01             	mov    (%ecx),%ax
411411:	83 c1 02             	add    $0x2,%ecx
411414:	66 3b 85 30 fe ff ff 	cmp    -0x1d0(%ebp),%ax
41141b:	75 f1                	jne    0x41140e
41141d:	2b ca                	sub    %edx,%ecx
41141f:	d1 f9                	sar    $1,%ecx
411421:	3b f9                	cmp    %ecx,%edi
411423:	74 11                	je     0x411436
411425:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
41142b:	83 c3 0c             	add    $0xc,%ebx
41142e:	81 fb b4 75 42 00    	cmp    $0x4275b4,%ebx
411434:	7e c3                	jle    0x4113f9
411436:	8b 9d 34 fe ff ff    	mov    -0x1cc(%ebp),%ebx
41143c:	83 c3 02             	add    $0x2,%ebx
41143f:	68 44 76 42 00       	push   $0x427644
411444:	53                   	push   %ebx
411445:	e8 5c b0 00 00       	call   0x41c4a6
41144a:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
411450:	8b f0                	mov    %eax,%esi
411452:	59                   	pop    %ecx
411453:	59                   	pop    %ecx
411454:	85 f6                	test   %esi,%esi
411456:	75 0c                	jne    0x411464
411458:	6a 3b                	push   $0x3b
41145a:	58                   	pop    %eax
41145b:	66 39 03             	cmp    %ax,(%ebx)
41145e:	0f 85 92 00 00 00    	jne    0x4114f6
411464:	83 bd 40 fe ff ff 05 	cmpl   $0x5,-0x1c0(%ebp)
41146b:	7f 5f                	jg     0x4114cc
41146d:	56                   	push   %esi
41146e:	53                   	push   %ebx
41146f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
411475:	68 83 00 00 00       	push   $0x83
41147a:	50                   	push   %eax
41147b:	e8 4e 92 00 00       	call   0x41a6ce
411480:	83 c4 10             	add    $0x10,%esp
411483:	85 c0                	test   %eax,%eax
411485:	0f 85 75 01 00 00    	jne    0x411600
41148b:	8d 04 36             	lea    (%esi,%esi,1),%eax
41148e:	3d 06 01 00 00       	cmp    $0x106,%eax
411493:	0f 83 62 01 00 00    	jae    0x4115fb
411499:	33 c9                	xor    %ecx,%ecx
41149b:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
4114a2:	ff
4114a3:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4114a9:	50                   	push   %eax
4114aa:	ff b5 40 fe ff ff    	push   -0x1c0(%ebp)
4114b0:	57                   	push   %edi
4114b1:	e8 57 01 00 00       	call   0x41160d
4114b6:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
4114bc:	83 c4 0c             	add    $0xc,%esp
4114bf:	85 c0                	test   %eax,%eax
4114c1:	74 0f                	je     0x4114d2
4114c3:	41                   	inc    %ecx
4114c4:	89 8d 44 fe ff ff    	mov    %ecx,-0x1bc(%ebp)
4114ca:	eb 06                	jmp    0x4114d2
4114cc:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
4114d2:	8d 34 73             	lea    (%ebx,%esi,2),%esi
4114d5:	0f b7 06             	movzwl (%esi),%eax
4114d8:	8b d0                	mov    %eax,%edx
4114da:	66 85 c0             	test   %ax,%ax
4114dd:	74 06                	je     0x4114e5
4114df:	83 c6 02             	add    $0x2,%esi
4114e2:	0f b7 16             	movzwl (%esi),%edx
4114e5:	66 85 d2             	test   %dx,%dx
4114e8:	0f 85 bd fe ff ff    	jne    0x4113ab
4114ee:	85 c9                	test   %ecx,%ecx
4114f0:	0f 85 ef 00 00 00    	jne    0x4115e5
4114f6:	33 c0                	xor    %eax,%eax
4114f8:	e9 ef 00 00 00       	jmp    0x4115ec
4114fd:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
411503:	50                   	push   %eax
411504:	6a 55                	push   $0x55
411506:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
41150c:	50                   	push   %eax
41150d:	68 83 00 00 00       	push   $0x83
411512:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
411518:	50                   	push   %eax
411519:	56                   	push   %esi
41151a:	e8 d9 f7 ff ff       	call   0x410cf8
41151f:	83 c4 18             	add    $0x18,%esp
411522:	85 c0                	test   %eax,%eax
411524:	0f 84 c2 00 00 00    	je     0x4115ec
41152a:	33 c9                	xor    %ecx,%ecx
41152c:	8d 57 20             	lea    0x20(%edi),%edx
41152f:	8b f1                	mov    %ecx,%esi
411531:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
411537:	85 f6                	test   %esi,%esi
411539:	0f 84 81 00 00 00    	je     0x4115c0
41153f:	8b 0a                	mov    (%edx),%ecx
411541:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
411547:	66 8b 38             	mov    (%eax),%di
41154a:	66 3b 39             	cmp    (%ecx),%di
41154d:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
411553:	75 33                	jne    0x411588
411555:	66 83 38 00          	cmpw   $0x0,(%eax)
411559:	74 27                	je     0x411582
41155b:	66 8b 50 02          	mov    0x2(%eax),%dx
41155f:	66 3b 51 02          	cmp    0x2(%ecx),%dx
411563:	66 89 95 42 fe ff ff 	mov    %dx,-0x1be(%ebp)
41156a:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
411570:	75 16                	jne    0x411588
411572:	83 c0 04             	add    $0x4,%eax
411575:	83 c1 04             	add    $0x4,%ecx
411578:	66 83 bd 42 fe ff ff 	cmpw   $0x0,-0x1be(%ebp)
41157f:	00
411580:	75 c5                	jne    0x411547
411582:	33 c9                	xor    %ecx,%ecx
411584:	8b c1                	mov    %ecx,%eax
411586:	eb 07                	jmp    0x41158f
411588:	1b c0                	sbb    %eax,%eax
41158a:	83 c8 01             	or     $0x1,%eax
41158d:	33 c9                	xor    %ecx,%ecx
41158f:	85 c0                	test   %eax,%eax
411591:	74 2c                	je     0x4115bf
411593:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
411599:	50                   	push   %eax
41159a:	56                   	push   %esi
41159b:	57                   	push   %edi
41159c:	e8 6c 00 00 00       	call   0x41160d
4115a1:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
4115a7:	83 c4 0c             	add    $0xc,%esp
4115aa:	85 c0                	test   %eax,%eax
4115ac:	74 05                	je     0x4115b3
4115ae:	43                   	inc    %ebx
4115af:	33 c9                	xor    %ecx,%ecx
4115b1:	eb 0d                	jmp    0x4115c0
4115b3:	33 c9                	xor    %ecx,%ecx
4115b5:	8b c1                	mov    %ecx,%eax
4115b7:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
4115bd:	eb 07                	jmp    0x4115c6
4115bf:	43                   	inc    %ebx
4115c0:	8b 85 3c fe ff ff    	mov    -0x1c4(%ebp),%eax
4115c6:	46                   	inc    %esi
4115c7:	83 c2 10             	add    $0x10,%edx
4115ca:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
4115d0:	83 fe 05             	cmp    $0x5,%esi
4115d3:	0f 8e 5e ff ff ff    	jle    0x411537
4115d9:	85 c0                	test   %eax,%eax
4115db:	75 08                	jne    0x4115e5
4115dd:	85 db                	test   %ebx,%ebx
4115df:	75 04                	jne    0x4115e5
4115e1:	8b c1                	mov    %ecx,%eax
4115e3:	eb 07                	jmp    0x4115ec
4115e5:	57                   	push   %edi
4115e6:	e8 97 fb ff ff       	call   0x411182
4115eb:	59                   	pop    %ecx
4115ec:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4115ef:	5f                   	pop    %edi
4115f0:	5e                   	pop    %esi
4115f1:	33 cd                	xor    %ebp,%ecx
4115f3:	5b                   	pop    %ebx
4115f4:	e8 13 5e ff ff       	call   0x40740c
4115f9:	c9                   	leave
4115fa:	c3                   	ret
4115fb:	e8 41 5f ff ff       	call   0x407541
411600:	33 c0                	xor    %eax,%eax
411602:	50                   	push   %eax
411603:	50                   	push   %eax
411604:	50                   	push   %eax
411605:	50                   	push   %eax
411606:	50                   	push   %eax
411607:	e8 a2 ba ff ff       	call   0x40d0ae
41160c:	cc                   	int3
41160d:	8b ff                	mov    %edi,%edi
41160f:	55                   	push   %ebp
411610:	8b ec                	mov    %esp,%ebp
411612:	81 ec e4 02 00 00    	sub    $0x2e4,%esp
411618:	a1 14 30 43 00       	mov    0x433014,%eax
41161d:	33 c5                	xor    %ebp,%eax
41161f:	89 45 fc             	mov    %eax,-0x4(%ebp)
411622:	53                   	push   %ebx
411623:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411626:	56                   	push   %esi
411627:	8b 75 10             	mov    0x10(%ebp),%esi
41162a:	57                   	push   %edi
41162b:	8b 7d 08             	mov    0x8(%ebp),%edi
41162e:	89 9d 24 fd ff ff    	mov    %ebx,-0x2dc(%ebp)
411634:	e8 9a 2b 00 00       	call   0x4141d3
411639:	05 78 02 00 00       	add    $0x278,%eax
41163e:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
411644:	8d 85 38 fd ff ff    	lea    -0x2c8(%ebp),%eax
41164a:	50                   	push   %eax
41164b:	6a 55                	push   $0x55
41164d:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
411653:	50                   	push   %eax
411654:	68 83 00 00 00       	push   $0x83
411659:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41165f:	50                   	push   %eax
411660:	56                   	push   %esi
411661:	e8 92 f6 ff ff       	call   0x410cf8
411666:	83 c4 18             	add    $0x18,%esp
411669:	85 c0                	test   %eax,%eax
41166b:	0f 84 b0 02 00 00    	je     0x411921
411671:	8d 73 02             	lea    0x2(%ebx),%esi
411674:	c1 e6 04             	shl    $0x4,%esi
411677:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax