411079:	8b 00                	mov    (%eax),%eax
41107b:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
411081:	89 01                	mov    %eax,(%ecx)
411083:	e8 d5 79 00 00       	call   0x418a5d
411088:	83 c4 0c             	add    $0xc,%esp
41108b:	85 c0                	test   %eax,%eax
41108d:	75 22                	jne    0x4110b1
41108f:	eb 04                	jmp    0x411095
411091:	33 c0                	xor    %eax,%eax
411093:	8b d8                	mov    %eax,%ebx
411095:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41109b:	e8 64 f7 ff ff       	call   0x410804
4110a0:	8b c3                	mov    %ebx,%eax
4110a2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4110a5:	5f                   	pop    %edi
4110a6:	5e                   	pop    %esi
4110a7:	33 cd                	xor    %ebp,%ecx
4110a9:	5b                   	pop    %ebx
4110aa:	e8 5d 63 ff ff       	call   0x40740c
4110af:	c9                   	leave
4110b0:	c3                   	ret
4110b1:	33 c0                	xor    %eax,%eax
4110b3:	50                   	push   %eax
4110b4:	50                   	push   %eax
4110b5:	50                   	push   %eax
4110b6:	50                   	push   %eax
4110b7:	50                   	push   %eax
4110b8:	e8 f1 bf ff ff       	call   0x40d0ae
4110bd:	cc                   	int3
4110be:	8b ff                	mov    %edi,%edi
4110c0:	55                   	push   %ebp
4110c1:	8b ec                	mov    %esp,%ebp
4110c3:	53                   	push   %ebx
4110c4:	33 db                	xor    %ebx,%ebx
4110c6:	56                   	push   %esi
4110c7:	8b f3                	mov    %ebx,%esi
4110c9:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4110cc:	7e 22                	jle    0x4110f0
4110ce:	57                   	push   %edi
4110cf:	8d 7d 10             	lea    0x10(%ebp),%edi
4110d2:	8d 7f 04             	lea    0x4(%edi),%edi
4110d5:	ff 37                	push   (%edi)
4110d7:	ff 75 0c             	push   0xc(%ebp)
4110da:	ff 75 08             	push   0x8(%ebp)
4110dd:	e8 ac 94 00 00       	call   0x41a58e
4110e2:	83 c4 0c             	add    $0xc,%esp
4110e5:	85 c0                	test   %eax,%eax
4110e7:	75 0b                	jne    0x4110f4
4110e9:	46                   	inc    %esi
4110ea:	3b 75 10             	cmp    0x10(%ebp),%esi
4110ed:	7c e3                	jl     0x4110d2
4110ef:	5f                   	pop    %edi
4110f0:	5e                   	pop    %esi
4110f1:	5b                   	pop    %ebx
4110f2:	5d                   	pop    %ebp
4110f3:	c3                   	ret
4110f4:	53                   	push   %ebx
4110f5:	53                   	push   %ebx
4110f6:	53                   	push   %ebx
4110f7:	53                   	push   %ebx
4110f8:	53                   	push   %ebx
4110f9:	e8 b0 bf ff ff       	call   0x40d0ae
4110fe:	cc                   	int3
4110ff:	8b ff                	mov    %edi,%edi
411101:	55                   	push   %ebp
411102:	8b ec                	mov    %esp,%ebp
411104:	83 ec 28             	sub    $0x28,%esp
411107:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41110b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41110f:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
411113:	76 14                	jbe    0x411129
411115:	e8 e1 dc ff ff       	call   0x40edfb
41111a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411120:	e8 5c bf ff ff       	call   0x40d081
411125:	33 c0                	xor    %eax,%eax
411127:	c9                   	leave
411128:	c3                   	ret
411129:	e8 a5 30 00 00       	call   0x4141d3
41112e:	89 45 f8             	mov    %eax,-0x8(%ebp)
411131:	e8 b7 26 00 00       	call   0x4137ed
411136:	e8 db b6 00 00       	call   0x41c816
41113b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41113e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
411141:	83 88 50 03 00 00 10 	orl    $0x10,0x350(%eax)
411148:	8d 45 f8             	lea    -0x8(%ebp),%eax
41114b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41114e:	8d 45 f0             	lea    -0x10(%ebp),%eax
411151:	89 45 d8             	mov    %eax,-0x28(%ebp)
411154:	8d 45 f8             	lea    -0x8(%ebp),%eax
411157:	89 45 dc             	mov    %eax,-0x24(%ebp)
41115a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41115d:	89 45 e0             	mov    %eax,-0x20(%ebp)
411160:	8d 45 08             	lea    0x8(%ebp),%eax
411163:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411166:	8d 45 0c             	lea    0xc(%ebp),%eax
411169:	89 45 e8             	mov    %eax,-0x18(%ebp)
41116c:	8d 45 ec             	lea    -0x14(%ebp),%eax
41116f:	50                   	push   %eax
411170:	8d 45 d8             	lea    -0x28(%ebp),%eax
411173:	50                   	push   %eax
411174:	8d 45 ff             	lea    -0x1(%ebp),%eax
411177:	50                   	push   %eax
411178:	e8 8a f5 ff ff       	call   0x410707
41117d:	8b 45 f4             	mov    -0xc(%ebp),%eax
411180:	c9                   	leave
411181:	c3                   	ret
411182:	8b ff                	mov    %edi,%edi
411184:	55                   	push   %ebp
411185:	8b ec                	mov    %esp,%ebp
411187:	83 ec 10             	sub    $0x10,%esp
41118a:	53                   	push   %ebx
41118b:	56                   	push   %esi
41118c:	33 f6                	xor    %esi,%esi
41118e:	46                   	inc    %esi
41118f:	68 a6 06 00 00       	push   $0x6a6
411194:	89 75 f8             	mov    %esi,-0x8(%ebp)
411197:	e8 ca 29 00 00       	call   0x413b66
41119c:	8b d8                	mov    %eax,%ebx
41119e:	33 c0                	xor    %eax,%eax
4111a0:	59                   	pop    %ecx
4111a1:	85 db                	test   %ebx,%ebx
4111a3:	0f 84 17 01 00 00    	je     0x4112c0
4111a9:	57                   	push   %edi
4111aa:	89 33                	mov    %esi,(%ebx)
4111ac:	8d 7b 04             	lea    0x4(%ebx),%edi
4111af:	8b 75 08             	mov    0x8(%ebp),%esi
4111b2:	66 89 07             	mov    %ax,(%edi)
4111b5:	8d 46 30             	lea    0x30(%esi),%eax
4111b8:	ff 30                	push   (%eax)
4111ba:	89 45 f4             	mov    %eax,-0xc(%ebp)
4111bd:	68 48 76 42 00       	push   $0x427648
4111c2:	ff 35 84 75 42 00    	push   0x427584
4111c8:	6a 03                	push   $0x3
4111ca:	68 51 03 00 00       	push   $0x351
4111cf:	57                   	push   %edi
4111d0:	e8 e9 fe ff ff       	call   0x4110be
4111d5:	b8 84 75 42 00       	mov    $0x427584,%eax
4111da:	83 c4 18             	add    $0x18,%esp
4111dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4111e0:	68 44 76 42 00       	push   $0x427644
4111e5:	68 51 03 00 00       	push   $0x351
4111ea:	57                   	push   %edi
4111eb:	e8 9e 93 00 00       	call   0x41a58e
4111f0:	83 c4 0c             	add    $0xc,%esp
4111f3:	85 c0                	test   %eax,%eax
4111f5:	0f 85 15 01 00 00    	jne    0x411310
4111fb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4111fe:	8d 48 10             	lea    0x10(%eax),%ecx
411201:	8b 00                	mov    (%eax),%eax
411203:	89 4d f4             	mov    %ecx,-0xc(%ebp)
411206:	8b 09                	mov    (%ecx),%ecx
411208:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41120b:	66 8b 10             	mov    (%eax),%dx
41120e:	66 3b 11             	cmp    (%ecx),%dx
411211:	75 1e                	jne    0x411231
411213:	66 85 d2             	test   %dx,%dx
411216:	74 15                	je     0x41122d
411218:	66 8b 50 02          	mov    0x2(%eax),%dx
41121c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
411220:	75 0f                	jne    0x411231
411222:	83 c0 04             	add    $0x4,%eax
411225:	83 c1 04             	add    $0x4,%ecx
411228:	66 85 d2             	test   %dx,%dx
41122b:	75 de                	jne    0x41120b
41122d:	33 c0                	xor    %eax,%eax
41122f:	eb 05                	jmp    0x411236
411231:	1b c0                	sbb    %eax,%eax
411233:	83 c8 01             	or     $0x1,%eax
411236:	ff 75 f0             	push   -0x10(%ebp)
411239:	f7 d8                	neg    %eax
41123b:	68 48 76 42 00       	push   $0x427648
411240:	1b c0                	sbb    %eax,%eax
411242:	f7 d0                	not    %eax
411244:	21 45 f8             	and    %eax,-0x8(%ebp)
411247:	8b 45 f4             	mov    -0xc(%ebp),%eax
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