4120c1:	85 ff                	test   %edi,%edi
4120c3:	74 07                	je     0x4120cc
4120c5:	8b cf                	mov    %edi,%ecx
4120c7:	e8 09 fb ff ff       	call   0x411bd5
4120cc:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4120d0:	74 09                	je     0x4120db
4120d2:	ff 75 e4             	push   -0x1c(%ebp)
4120d5:	ff 15 28 c1 42 00    	call   *0x42c128
4120db:	8b 45 ec             	mov    -0x14(%ebp),%eax
4120de:	e8 53 5f 01 00       	call   0x428036
4120e3:	c2 20 00             	ret    $0x20
4120e6:	8b ff                	mov    %edi,%edi
4120e8:	55                   	push   %ebp
4120e9:	8b ec                	mov    %esp,%ebp
4120eb:	83 ec 20             	sub    $0x20,%esp
4120ee:	33 c0                	xor    %eax,%eax
4120f0:	53                   	push   %ebx
4120f1:	8b d9                	mov    %ecx,%ebx
4120f3:	56                   	push   %esi
4120f4:	57                   	push   %edi
4120f5:	8d 7d e4             	lea    -0x1c(%ebp),%edi
4120f8:	6a 07                	push   $0x7
4120fa:	59                   	pop    %ecx
4120fb:	f3 ab                	rep stos %eax,%es:(%edi)
4120fd:	85 d2                	test   %edx,%edx
4120ff:	0f 84 9d 00 00 00    	je     0x4121a2
412105:	39 45 08             	cmp    %eax,0x8(%ebp)
412108:	0f 84 94 00 00 00    	je     0x4121a2
41210e:	33 ff                	xor    %edi,%edi
412110:	8d 45 e4             	lea    -0x1c(%ebp),%eax
412113:	57                   	push   %edi
412114:	6a 1c                	push   $0x1c
412116:	50                   	push   %eax
412117:	57                   	push   %edi
412118:	52                   	push   %edx
412119:	ff 15 60 c4 42 00    	call   *0x42c460
41211f:	8b f0                	mov    %eax,%esi
412121:	85 f6                	test   %esi,%esi
412123:	79 2d                	jns    0x412152
412125:	a1 00 b0 42 00       	mov    0x42b000,%eax
41212a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41212f:	74 19                	je     0x41214a
412131:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
412135:	74 13                	je     0x41214a
412137:	ff 70 14             	push   0x14(%eax)
41213a:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41213f:	ff 70 10             	push   0x10(%eax)
412142:	6a 5a                	push   $0x5a
412144:	59                   	pop    %ecx
412145:	e8 66 52 ff ff       	call   0x4073b0
41214a:	81 ce 00 00 00 10    	or     $0x10000000,%esi
412150:	eb 4c                	jmp    0x41219e
412152:	57                   	push   %edi
412153:	6a 1c                	push   $0x1c
412155:	ff 75 08             	push   0x8(%ebp)
412158:	ff 75 e8             	push   -0x18(%ebp)
41215b:	53                   	push   %ebx
41215c:	ff 15 38 c1 42 00    	call   *0x42c138
412162:	85 c0                	test   %eax,%eax
412164:	75 36                	jne    0x41219c
412166:	a1 00 b0 42 00       	mov    0x42b000,%eax
41216b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
412170:	74 19                	je     0x41218b
412172:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
412176:	74 13                	je     0x41218b
412178:	ff 70 14             	push   0x14(%eax)
41217b:	ba 8c 27 40 00       	mov    $0x40278c,%edx
412180:	ff 70 10             	push   0x10(%eax)
412183:	6a 5b                	push   $0x5b
412185:	59                   	pop    %ecx
412186:	e8 25 52 ff ff       	call   0x4073b0
41218b:	ff 15 18 c2 42 00    	call   *0x42c218
412191:	8b c8                	mov    %eax,%ecx
412193:	e8 12 94 ff ff       	call   0x40b5aa
412198:	8b f0                	mov    %eax,%esi
41219a:	eb 02                	jmp    0x41219e
41219c:	8b f7                	mov    %edi,%esi
41219e:	8b c6                	mov    %esi,%eax
4121a0:	eb 2a                	jmp    0x4121cc
4121a2:	a1 00 b0 42 00       	mov    0x42b000,%eax
4121a7:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4121ac:	74 19                	je     0x4121c7
4121ae:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4121b2:	74 13                	je     0x4121c7
4121b4:	ff 70 14             	push   0x14(%eax)
4121b7:	ba 8c 27 40 00       	mov    $0x40278c,%edx
4121bc:	ff 70 10             	push   0x10(%eax)
4121bf:	6a 59                	push   $0x59
4121c1:	59                   	pop    %ecx
4121c2:	e8 e9 51 ff ff       	call   0x4073b0
4121c7:	b8 57 00 07 80       	mov    $0x80070057,%eax
4121cc:	5f                   	pop    %edi
4121cd:	5e                   	pop    %esi
4121ce:	5b                   	pop    %ebx
4121cf:	c9                   	leave
4121d0:	c2 0c 00             	ret    $0xc
4121d3:	8b ff                	mov    %edi,%edi
4121d5:	55                   	push   %ebp
4121d6:	8b ec                	mov    %esp,%ebp
4121d8:	83 ec 34             	sub    $0x34,%esp
4121db:	53                   	push   %ebx
4121dc:	56                   	push   %esi
4121dd:	57                   	push   %edi
4121de:	8b d9                	mov    %ecx,%ebx
4121e0:	89 55 f0             	mov    %edx,-0x10(%ebp)
4121e3:	33 f6                	xor    %esi,%esi
4121e5:	8d 7d d0             	lea    -0x30(%ebp),%edi
4121e8:	6a 06                	push   $0x6
4121ea:	33 c0                	xor    %eax,%eax
4121ec:	89 75 e8             	mov    %esi,-0x18(%ebp)
4121ef:	89 75 ec             	mov    %esi,-0x14(%ebp)
4121f2:	89 75 fc             	mov    %esi,-0x4(%ebp)
4121f5:	89 75 f8             	mov    %esi,-0x8(%ebp)
4121f8:	59                   	pop    %ecx
4121f9:	f3 ab                	rep stos %eax,%es:(%edi)
4121fb:	8b fe                	mov    %esi,%edi
4121fd:	85 db                	test   %ebx,%ebx
4121ff:	0f 84 f5 01 00 00    	je     0x4123fa
412205:	85 d2                	test   %edx,%edx
412207:	0f 84 ed 01 00 00    	je     0x4123fa
41220d:	8d 45 f8             	lea    -0x8(%ebp),%eax
412210:	50                   	push   %eax
412211:	6a 18                	push   $0x18
412213:	8d 45 d0             	lea    -0x30(%ebp),%eax
412216:	50                   	push   %eax
412217:	56                   	push   %esi
412218:	53                   	push   %ebx
412219:	ff 15 5c c4 42 00    	call   *0x42c45c
41221f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
412222:	8b d0                	mov    %eax,%edx
412224:	85 d2                	test   %edx,%edx
412226:	0f 88 98 01 00 00    	js     0x4123c4
41222c:	83 7d f8 18          	cmpl   $0x18,-0x8(%ebp)
412230:	0f 85 8e 01 00 00    	jne    0x4123c4
412236:	85 c9                	test   %ecx,%ecx
412238:	0f 84 86 01 00 00    	je     0x4123c4
41223e:	8d 45 fc             	lea    -0x4(%ebp),%eax
412241:	50                   	push   %eax
412242:	6a 04                	push   $0x4
412244:	8d 45 f4             	lea    -0xc(%ebp),%eax
412247:	50                   	push   %eax
412248:	8d 41 10             	lea    0x10(%ecx),%eax
41224b:	50                   	push   %eax
41224c:	53                   	push   %ebx
41224d:	ff 15 38 c1 42 00    	call   *0x42c138
412253:	85 c0                	test   %eax,%eax
412255:	0f 84 4d 01 00 00    	je     0x4123a8
41225b:	83 7d fc 04          	cmpl   $0x4,-0x4(%ebp)
41225f:	0f 85 43 01 00 00    	jne    0x4123a8
412265:	8d 45 fc             	lea    -0x4(%ebp),%eax
412268:	89 75 fc             	mov    %esi,-0x4(%ebp)
41226b:	50                   	push   %eax
41226c:	6a 08                	push   $0x8
41226e:	8d 45 e8             	lea    -0x18(%ebp),%eax
412271:	50                   	push   %eax
412272:	8b 45 f4             	mov    -0xc(%ebp),%eax
412275:	83 c0 40             	add    $0x40,%eax
412278:	50                   	push   %eax
412279:	53                   	push   %ebx
41227a:	ff 15 38 c1 42 00    	call   *0x42c138
412280:	85 c0                	test   %eax,%eax
412282:	0f 84 f4 00 00 00    	je     0x41237c
412288:	83 7d fc 08          	cmpl   $0x8,-0x4(%ebp)
41228c:	0f 85 ea 00 00 00    	jne    0x41237c
412292:	39 75 ec             	cmp    %esi,-0x14(%ebp)
412295:	0f 84 e1 00 00 00    	je     0x41237c
41229b:	8b 45 e8             	mov    -0x18(%ebp),%eax
41229e:	be 00 20 00 00       	mov    $0x2000,%esi
4122a3:	66 3b f0             	cmp    %ax,%si
4122a6:	72 03                	jb     0x4122ab
4122a8:	0f b7 f0             	movzwl %ax,%esi
4122ab:	33 c9                	xor    %ecx,%ecx
4122ad:	8d 46 02             	lea    0x2(%esi),%eax
4122b0:	6a 02                	push   $0x2
4122b2:	d1 e8                	shr    $1,%eax
4122b4:	5a                   	pop    %edx
4122b5:	f7 e2                	mul    %edx
4122b7:	0f 90 c1             	seto   %cl
4122ba:	f7 d9                	neg    %ecx
4122bc:	0b c8                	or     %eax,%ecx
4122be:	51                   	push   %ecx
4122bf:	e8 4e 5a 01 00       	call   0x427d12
4122c4:	8b f8                	mov    %eax,%edi
4122c6:	59                   	pop    %ecx
4122c7:	85 ff                	test   %edi,%edi
4122c9:	75 0a                	jne    0x4122d5
4122cb:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4122d0:	e9 21 01 00 00       	jmp    0x4123f6
4122d5:	8d 46 02             	lea    0x2(%esi),%eax
4122d8:	50                   	push   %eax
4122d9:	6a 00                	push   $0x0
4122db:	57                   	push   %edi
4122dc:	e8 cc 60 01 00       	call   0x4283ad
4122e1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4122e5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4122e8:	83 c4 0c             	add    $0xc,%esp
4122eb:	50                   	push   %eax
4122ec:	56                   	push   %esi
4122ed:	57                   	push   %edi
4122ee:	ff 75 ec             	push   -0x14(%ebp)
4122f1:	53                   	push   %ebx
4122f2:	ff 15 38 c1 42 00    	call   *0x42c138
4122f8:	85 c0                	test   %eax,%eax
4122fa:	75 32                	jne    0x41232e
4122fc:	a1 00 b0 42 00       	mov    0x42b000,%eax
412301:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
412306:	0f 84 da 00 00 00    	je     0x4123e6
41230c:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
412310:	0f 84 d0 00 00 00    	je     0x4123e6
412316:	ff 70 14             	push   0x14(%eax)
412319:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41231e:	ff 70 10             	push   0x10(%eax)
412321:	6a 60                	push   $0x60
412323:	59                   	pop    %ecx
412324:	e8 87 50 ff ff       	call   0x4073b0
412329:	e9 b8 00 00 00       	jmp    0x4123e6
41232e:	8b 45 fc             	mov    -0x4(%ebp),%eax
412331:	33 c9                	xor    %ecx,%ecx
412333:	d1 e8                	shr    $1,%eax
412335:	57                   	push   %edi
412336:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
41233a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41233d:	e8 76 9d ff ff       	call   0x40c0b8
412342:	8b f0                	mov    %eax,%esi
412344:	85 f6                	test   %esi,%esi
412346:	79 30                	jns    0x412378
412348:	a1 00 b0 42 00       	mov    0x42b000,%eax
41234d:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
412352:	0f 84 93 00 00 00    	je     0x4123eb
412358:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41235c:	0f 84 89 00 00 00    	je     0x4123eb
412362:	56                   	push   %esi
412363:	ff 70 14             	push   0x14(%eax)
412366:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41236b:	ff 70 10             	push   0x10(%eax)
41236e:	6a 61                	push   $0x61
412370:	59                   	pop    %ecx
412371:	e8 58 50 ff ff       	call   0x4073ce
412376:	eb 73                	jmp    0x4123eb
412378:	33 f6                	xor    %esi,%esi
41237a:	eb 6f                	jmp    0x4123eb
41237c:	a1 00 b0 42 00       	mov    0x42b000,%eax
412381:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
412386:	74 19                	je     0x4123a1
412388:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41238c:	74 13                	je     0x4123a1
41238e:	ff 70 14             	push   0x14(%eax)
412391:	ff 70 10             	push   0x10(%eax)
412394:	6a 5f                	push   $0x5f
412396:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41239b:	59                   	pop    %ecx
41239c:	e8 0f 50 ff ff       	call   0x4073b0
4123a1:	be 05 40 00 80       	mov    $0x80004005,%esi
4123a6:	eb 4e                	jmp    0x4123f6
4123a8:	a1 00 b0 42 00       	mov    0x42b000,%eax
4123ad:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4123b2:	74 ed                	je     0x4123a1
4123b4:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4123b8:	74 e7                	je     0x4123a1
4123ba:	ff 70 14             	push   0x14(%eax)
4123bd:	ff 70 10             	push   0x10(%eax)
4123c0:	6a 5e                	push   $0x5e
4123c2:	eb d2                	jmp    0x412396
4123c4:	a1 00 b0 42 00       	mov    0x42b000,%eax
4123c9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4123ce:	74 16                	je     0x4123e6
4123d0:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4123d4:	74 10                	je     0x4123e6
4123d6:	51                   	push   %ecx
4123d7:	ff 75 f8             	push   -0x8(%ebp)
4123da:	52                   	push   %edx
4123db:	ff 70 14             	push   0x14(%eax)
4123de:	ff 70 10             	push   0x10(%eax)
4123e1:	e8 27 ee ff ff       	call   0x41120d
4123e6:	be 05 40 00 80       	mov    $0x80004005,%esi
4123eb:	85 ff                	test   %edi,%edi
4123ed:	74 07                	je     0x4123f6
4123ef:	57                   	push   %edi
4123f0:	e8 46 59 01 00       	call   0x427d3b
4123f5:	59                   	pop    %ecx
4123f6:	8b c6                	mov    %esi,%eax
4123f8:	eb 2a                	jmp    0x412424
4123fa:	a1 00 b0 42 00       	mov    0x42b000,%eax
4123ff:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
412404:	74 19                	je     0x41241f
412406:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41240a:	74 13                	je     0x41241f
41240c:	ff 70 14             	push   0x14(%eax)
41240f:	ba 8c 27 40 00       	mov    $0x40278c,%edx
412414:	ff 70 10             	push   0x10(%eax)
412417:	6a 5c                	push   $0x5c
412419:	59                   	pop    %ecx
41241a:	e8 91 4f ff ff       	call   0x4073b0
41241f:	b8 57 00 07 80       	mov    $0x80070057,%eax
412424:	5f                   	pop    %edi
412425:	5e                   	pop    %esi
412426:	5b                   	pop    %ebx
412427:	c9                   	leave
412428:	c3                   	ret
412429:	6a 14                	push   $0x14
41242b:	b8 c7 88 42 00       	mov    $0x4288c7,%eax
412430:	e8 33 5c 01 00       	call   0x428068
412435:	8b f2                	mov    %edx,%esi
412437:	8b f9                	mov    %ecx,%edi
412439:	bb 50 79 40 00       	mov    $0x407950,%ebx
41243e:	c7 45 f0 5c 26 40 00 	movl   $0x40265c,-0x10(%ebp)
412445:	53                   	push   %ebx
412446:	68 60 cc 40 00       	push   $0x40cc60
41244b:	6a 01                	push   $0x1
41244d:	6a 0c                	push   $0xc
41244f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
412452:	50                   	push   %eax
412453:	e8 36 5b 01 00       	call   0x427f8e
412458:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41245c:	85 ff                	test   %edi,%edi
41245e:	0f 84 82 00 00 00    	je     0x4124e6
412464:	85 f6                	test   %esi,%esi
412466:	74 7e                	je     0x4124e6
412468:	68 fc 1f 40 00       	push   $0x401ffc
41246d:	8b ce                	mov    %esi,%ecx
41246f:	e8 44 9c ff ff       	call   0x40c0b8
412474:	6a 01                	push   $0x1
412476:	8d 45 e4             	lea    -0x1c(%ebp),%eax
412479:	33 d2                	xor    %edx,%edx
41247b:	50                   	push   %eax
41247c:	8d 45 f0             	lea    -0x10(%ebp),%eax
41247f:	8b cf                	mov    %edi,%ecx
412481:	50                   	push   %eax
412482:	e8 10 f1 ff ff       	call   0x411597
412487:	85 c0                	test   %eax,%eax
412489:	78 57                	js     0x4124e2
41248b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41248e:	e8 f7 a4 ff ff       	call   0x40c98a
412493:	85 c0                	test   %eax,%eax
412495:	74 4b                	je     0x4124e2
412497:	6a 00                	push   $0x0
412499:	e8 a1 a5 ff ff       	call   0x40ca3f
41249e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4124a1:	e8 e4 a4 ff ff       	call   0x40c98a
4124a6:	85 c0                	test   %eax,%eax
4124a8:	74 38                	je     0x4124e2
4124aa:	ff 75 e4             	push   -0x1c(%ebp)
4124ad:	8b ce                	mov    %esi,%ecx
4124af:	e8 04 9c ff ff       	call   0x40c0b8
4124b4:	8b f0                	mov    %eax,%esi
4124b6:	85 f6                	test   %esi,%esi
4124b8:	79 28                	jns    0x4124e2
4124ba:	a1 00 b0 42 00       	mov    0x42b000,%eax
4124bf:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4124c4:	74 4a                	je     0x412510