42311f:	85 c0                	test   %eax,%eax
423121:	74 2b                	je     0x42314e
423123:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423126:	51                   	push   %ecx
423127:	50                   	push   %eax
423128:	ff 75 08             	push   0x8(%ebp)
42312b:	e8 84 66 fe ff       	call   0x4097b4
423130:	8b f0                	mov    %eax,%esi
423132:	85 f6                	test   %esi,%esi
423134:	79 07                	jns    0x42313d
423136:	68 f8 ca 45 00       	push   $0x45caf8
42313b:	eb 92                	jmp    0x4230cf
42313d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
423141:	74 0b                	je     0x42314e
423143:	8b 45 18             	mov    0x18(%ebp),%eax
423146:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
42314c:	eb 09                	jmp    0x423157
42314e:	8b 45 18             	mov    0x18(%ebp),%eax
423151:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
423157:	8b c6                	mov    %esi,%eax
423159:	5e                   	pop    %esi
42315a:	8b e5                	mov    %ebp,%esp
42315c:	5d                   	pop    %ebp
42315d:	c2 14 00             	ret    $0x14
423160:	55                   	push   %ebp
423161:	8b ec                	mov    %esp,%ebp
423163:	83 ec 10             	sub    $0x10,%esp
423166:	53                   	push   %ebx
423167:	8b 5d 08             	mov    0x8(%ebp),%ebx
42316a:	33 c0                	xor    %eax,%eax
42316c:	56                   	push   %esi
42316d:	57                   	push   %edi
42316e:	8b 7d 0c             	mov    0xc(%ebp),%edi
423171:	57                   	push   %edi
423172:	68 64 ca 44 00       	push   $0x44ca64
423177:	53                   	push   %ebx
423178:	89 45 f0             	mov    %eax,-0x10(%ebp)
42317b:	89 45 f4             	mov    %eax,-0xc(%ebp)
42317e:	89 45 f8             	mov    %eax,-0x8(%ebp)
423181:	89 45 fc             	mov    %eax,-0x4(%ebp)
423184:	e8 3e 00 02 00       	call   0x4431c7
423189:	8b f0                	mov    %eax,%esi
42318b:	85 f6                	test   %esi,%esi
42318d:	79 12                	jns    0x4231a1
42318f:	68 6c ca 44 00       	push   $0x44ca6c
423194:	56                   	push   %esi
423195:	e8 95 cf 01 00       	call   0x44012f
42319a:	59                   	pop    %ecx
42319b:	59                   	pop    %ecx
42319c:	e9 e7 01 00 00       	jmp    0x423388
4231a1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4231a4:	50                   	push   %eax
4231a5:	68 7c c8 45 00       	push   $0x45c87c
4231aa:	53                   	push   %ebx
4231ab:	e8 17 00 02 00       	call   0x4431c7
4231b0:	8b f0                	mov    %eax,%esi
4231b2:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
4231b8:	74 58                	je     0x423212
4231ba:	85 f6                	test   %esi,%esi
4231bc:	79 07                	jns    0x4231c5
4231be:	68 94 c8 45 00       	push   $0x45c894
4231c3:	eb cf                	jmp    0x423194
4231c5:	8d 47 08             	lea    0x8(%edi),%eax
4231c8:	50                   	push   %eax
4231c9:	6a 00                	push   $0x0
4231cb:	ff 75 fc             	push   -0x4(%ebp)
4231ce:	e8 87 19 02 00       	call   0x444b5a
4231d3:	8b f0                	mov    %eax,%esi
4231d5:	85 f6                	test   %esi,%esi
4231d7:	79 16                	jns    0x4231ef
4231d9:	ff 75 fc             	push   -0x4(%ebp)
4231dc:	68 b0 c8 45 00       	push   $0x45c8b0
4231e1:	56                   	push   %esi
4231e2:	e8 48 cf 01 00       	call   0x44012f
4231e7:	83 c4 0c             	add    $0xc,%esp
4231ea:	e9 99 01 00 00       	jmp    0x423388
4231ef:	8d 47 20             	lea    0x20(%edi),%eax
4231f2:	c7 47 18 01 00 00 00 	movl   $0x1,0x18(%edi)
4231f9:	50                   	push   %eax
4231fa:	68 d4 c8 45 00       	push   $0x45c8d4
4231ff:	53                   	push   %ebx
423200:	e8 d6 01 02 00       	call   0x4433db
423205:	8b f0                	mov    %eax,%esi
423207:	85 f6                	test   %esi,%esi
423209:	79 07                	jns    0x423212
42320b:	68 f0 c8 45 00       	push   $0x45c8f0
423210:	eb 82                	jmp    0x423194
423212:	8d 45 fc             	lea    -0x4(%ebp),%eax
423215:	50                   	push   %eax
423216:	68 10 c9 45 00       	push   $0x45c910
42321b:	53                   	push   %ebx
42321c:	e8 a6 ff 01 00       	call   0x4431c7
423221:	8b f0                	mov    %eax,%esi
423223:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
423229:	74 52                	je     0x42327d
42322b:	85 f6                	test   %esi,%esi
42322d:	79 0a                	jns    0x423239
42322f:	68 28 c9 45 00       	push   $0x45c928
423234:	e9 5b ff ff ff       	jmp    0x423194
423239:	8d 47 10             	lea    0x10(%edi),%eax
42323c:	50                   	push   %eax
42323d:	6a 00                	push   $0x0
42323f:	ff 75 fc             	push   -0x4(%ebp)
423242:	e8 13 19 02 00       	call   0x444b5a
423247:	8b f0                	mov    %eax,%esi
423249:	85 f6                	test   %esi,%esi
42324b:	79 0a                	jns    0x423257
42324d:	ff 75 fc             	push   -0x4(%ebp)
423250:	68 44 c9 45 00       	push   $0x45c944
423255:	eb 8a                	jmp    0x4231e1
423257:	8d 47 24             	lea    0x24(%edi),%eax
42325a:	c7 47 1c 01 00 00 00 	movl   $0x1,0x1c(%edi)
423261:	50                   	push   %eax
423262:	68 68 c9 45 00       	push   $0x45c968
423267:	53                   	push   %ebx
423268:	e8 6e 01 02 00       	call   0x4433db
42326d:	8b f0                	mov    %eax,%esi
42326f:	85 f6                	test   %esi,%esi
423271:	79 0a                	jns    0x42327d
423273:	68 84 c9 45 00       	push   $0x45c984
423278:	e9 17 ff ff ff       	jmp    0x423194
42327d:	8d 47 28             	lea    0x28(%edi),%eax
423280:	50                   	push   %eax
423281:	68 a4 c9 45 00       	push   $0x45c9a4
423286:	53                   	push   %ebx
423287:	e8 4f 01 02 00       	call   0x4433db
42328c:	8b f0                	mov    %eax,%esi
42328e:	85 f6                	test   %esi,%esi
423290:	79 0a                	jns    0x42329c
423292:	68 bc c9 45 00       	push   $0x45c9bc
423297:	e9 f8 fe ff ff       	jmp    0x423194
42329c:	8d 45 f0             	lea    -0x10(%ebp),%eax
42329f:	50                   	push   %eax
4232a0:	68 c4 eb 44 00       	push   $0x44ebc4
4232a5:	53                   	push   %ebx
4232a6:	e8 58 05 02 00       	call   0x443803
4232ab:	8b f0                	mov    %eax,%esi
4232ad:	85 f6                	test   %esi,%esi
4232af:	79 0a                	jns    0x4232bb
4232b1:	68 d8 c9 45 00       	push   $0x45c9d8
4232b6:	e9 d9 fe ff ff       	jmp    0x423194
4232bb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4232be:	8d 55 f8             	lea    -0x8(%ebp),%edx
4232c1:	52                   	push   %edx
4232c2:	50                   	push   %eax
4232c3:	8b 08                	mov    (%eax),%ecx
4232c5:	ff 51 20             	call   *0x20(%ecx)
4232c8:	8b f0                	mov    %eax,%esi
4232ca:	85 f6                	test   %esi,%esi
4232cc:	79 0a                	jns    0x4232d8
4232ce:	68 fc c9 45 00       	push   $0x45c9fc
4232d3:	e9 bc fe ff ff       	jmp    0x423194
4232d8:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4232dc:	0f 84 a4 00 00 00    	je     0x423386
4232e2:	8d 47 2c             	lea    0x2c(%edi),%eax
4232e5:	50                   	push   %eax
4232e6:	68 20 ca 45 00       	push   $0x45ca20
4232eb:	53                   	push   %ebx
4232ec:	e8 ea 00 02 00       	call   0x4433db
4232f1:	8b f0                	mov    %eax,%esi
4232f3:	85 f6                	test   %esi,%esi
4232f5:	79 0a                	jns    0x423301
4232f7:	68 3c ca 45 00       	push   $0x45ca3c
4232fc:	e9 93 fe ff ff       	jmp    0x423194
423301:	8b 45 f8             	mov    -0x8(%ebp),%eax
423304:	6a 01                	push   $0x1
423306:	c1 e0 02             	shl    $0x2,%eax
423309:	50                   	push   %eax
42330a:	e8 c5 05 fe ff       	call   0x4038d4
42330f:	89 47 30             	mov    %eax,0x30(%edi)
423312:	85 c0                	test   %eax,%eax
423314:	75 1f                	jne    0x423335
423316:	be 0e 00 07 80       	mov    $0x8007000e,%esi
42331b:	56                   	push   %esi
42331c:	68 a2 05 00 00       	push   $0x5a2
423321:	68 58 b7 45 00       	push   $0x45b758
423326:	e8 a8 04 fe ff       	call   0x4037d3
42332b:	68 5c ca 45 00       	push   $0x45ca5c
423330:	e9 5f fe ff ff       	jmp    0x423194
423335:	8b 45 f8             	mov    -0x8(%ebp),%eax
423338:	33 db                	xor    %ebx,%ebx
42333a:	89 47 34             	mov    %eax,0x34(%edi)
42333d:	85 c0                	test   %eax,%eax
42333f:	74 45                	je     0x423386
423341:	6a 00                	push   $0x0
423343:	8d 45 f4             	lea    -0xc(%ebp),%eax
423346:	50                   	push   %eax
423347:	ff 75 f0             	push   -0x10(%ebp)
42334a:	e8 11 04 02 00       	call   0x443760
42334f:	8b f0                	mov    %eax,%esi
423351:	85 f6                	test   %esi,%esi
423353:	78 70                	js     0x4233c5
423355:	8b 47 30             	mov    0x30(%edi),%eax
423358:	8d 04 98             	lea    (%eax,%ebx,4),%eax
42335b:	50                   	push   %eax
42335c:	68 64 ca 44 00       	push   $0x44ca64
423361:	ff 75 f4             	push   -0xc(%ebp)
423364:	e8 a1 ff 01 00       	call   0x44330a
423369:	8b f0                	mov    %eax,%esi
42336b:	85 f6                	test   %esi,%esi
42336d:	78 4c                	js     0x4233bb
42336f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423372:	85 c9                	test   %ecx,%ecx
423374:	74 0a                	je     0x423380
423376:	8b 01                	mov    (%ecx),%eax
423378:	51                   	push   %ecx
423379:	ff 50 08             	call   *0x8(%eax)
42337c:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
423380:	43                   	inc    %ebx
423381:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
423384:	72 bb                	jb     0x423341
423386:	33 f6                	xor    %esi,%esi
423388:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42338b:	85 c9                	test   %ecx,%ecx
42338d:	74 06                	je     0x423395
42338f:	8b 01                	mov    (%ecx),%eax
423391:	51                   	push   %ecx
423392:	ff 50 08             	call   *0x8(%eax)
423395:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423398:	85 c9                	test   %ecx,%ecx
42339a:	74 06                	je     0x4233a2
42339c:	8b 01                	mov    (%ecx),%eax
42339e:	51                   	push   %ecx
42339f:	ff 50 08             	call   *0x8(%eax)
4233a2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4233a6:	74 08                	je     0x4233b0
4233a8:	ff 75 fc             	push   -0x4(%ebp)
4233ab:	e8 3f 21 02 00       	call   0x4454ef
4233b0:	5f                   	pop    %edi
4233b1:	8b c6                	mov    %esi,%eax
4233b3:	5e                   	pop    %esi
4233b4:	5b                   	pop    %ebx
4233b5:	8b e5                	mov    %ebp,%esp
4233b7:	5d                   	pop    %ebp
4233b8:	c2 08 00             	ret    $0x8
4233bb:	68 88 ca 45 00       	push   $0x45ca88
4233c0:	e9 cf fd ff ff       	jmp    0x423194
4233c5:	68 48 ca 44 00       	push   $0x44ca48
4233ca:	e9 c5 fd ff ff       	jmp    0x423194
4233cf:	55                   	push   %ebp
4233d0:	8b ec                	mov    %esp,%ebp
4233d2:	51                   	push   %ecx
4233d3:	53                   	push   %ebx
4233d4:	56                   	push   %esi
4233d5:	8b 75 08             	mov    0x8(%ebp),%esi
4233d8:	33 db                	xor    %ebx,%ebx
4233da:	57                   	push   %edi
4233db:	6a 02                	push   $0x2
4233dd:	5f                   	pop    %edi
4233de:	39 5e 14             	cmp    %ebx,0x14(%esi)
4233e1:	6a 04                	push   $0x4
4233e3:	58                   	pop    %eax
4233e4:	0f 45 f8             	cmovne %eax,%edi
4233e7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4233ea:	8d 45 fc             	lea    -0x4(%ebp),%eax
4233ed:	50                   	push   %eax
4233ee:	ff 75 0c             	push   0xc(%ebp)
4233f1:	e8 50 00 fe ff       	call   0x403446
4233f6:	85 c0                	test   %eax,%eax
4233f8:	79 13                	jns    0x42340d
4233fa:	ff 75 0c             	push   0xc(%ebp)
4233fd:	68 34 ce 45 00       	push   $0x45ce34
423402:	50                   	push   %eax
423403:	e8 27 cd 01 00       	call   0x44012f
423408:	83 c4 0c             	add    $0xc,%esp
42340b:	eb 30                	jmp    0x42343d
42340d:	6a 01                	push   $0x1
42340f:	ff 75 fc             	push   -0x4(%ebp)
423412:	53                   	push   %ebx
423413:	57                   	push   %edi
423414:	53                   	push   %ebx
423415:	ff b6 90 00 00 00    	push   0x90(%esi)
42341b:	e8 5b f9 01 00       	call   0x442d7b
423420:	85 c0                	test   %eax,%eax
423422:	79 19                	jns    0x42343d
423424:	50                   	push   %eax
423425:	ff b6 90 00 00 00    	push   0x90(%esi)
42342b:	ff 75 fc             	push   -0x4(%ebp)
42342e:	68 63 01 00 a0       	push   $0xa0000163
423433:	6a 03                	push   $0x3
423435:	e8 d5 20 fe ff       	call   0x40550f
42343a:	83 c4 14             	add    $0x14,%esp
42343d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
423441:	5f                   	pop    %edi
423442:	5e                   	pop    %esi
423443:	5b                   	pop    %ebx
423444:	74 08                	je     0x42344e
423446:	ff 75 fc             	push   -0x4(%ebp)
423449:	e8 a1 20 02 00       	call   0x4454ef
42344e:	8b e5                	mov    %ebp,%esp
423450:	5d                   	pop    %ebp
423451:	c2 08 00             	ret    $0x8
423454:	55                   	push   %ebp
423455:	8b ec                	mov    %esp,%ebp
423457:	83 ec 0c             	sub    $0xc,%esp
42345a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42345e:	53                   	push   %ebx
42345f:	8b 5d 08             	mov    0x8(%ebp),%ebx
423462:	56                   	push   %esi
423463:	53                   	push   %ebx
423464:	e8 e3 a6 fe ff       	call   0x40db4c
423469:	8b f0                	mov    %eax,%esi
42346b:	85 f6                	test   %esi,%esi
42346d:	79 12                	jns    0x423481
42346f:	68 bc bf 45 00       	push   $0x45bfbc
423474:	56                   	push   %esi
423475:	e8 b5 cc 01 00       	call   0x44012f
42347a:	59                   	pop    %ecx
42347b:	59                   	pop    %ecx
42347c:	e9 6d 02 00 00       	jmp    0x4236ee
423481:	8b 43 14             	mov    0x14(%ebx),%eax
423484:	57                   	push   %edi
423485:	69 f8 e0 00 00 00    	imul   $0xe0,%eax,%edi
42348b:	03 7b 10             	add    0x10(%ebx),%edi
42348e:	40                   	inc    %eax
42348f:	89 43 14             	mov    %eax,0x14(%ebx)
423492:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423495:	c7 87 8c 00 00 00 02 	movl   $0x2,0x8c(%edi)
42349c:	00 00 00
42349f:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
4234a5:	89 45 08             	mov    %eax,0x8(%ebp)
4234a8:	8b 8b a0 00 00 00    	mov    0xa0(%ebx),%ecx
4234ae:	85 c9                	test   %ecx,%ecx
4234b0:	74 19                	je     0x4234cb
4234b2:	6a 00                	push   $0x0
4234b4:	51                   	push   %ecx
4234b5:	50                   	push   %eax
4234b6:	e8 ea ec fd ff       	call   0x4021a5
4234bb:	8b f0                	mov    %eax,%esi
4234bd:	85 f6                	test   %esi,%esi
4234bf:	79 23                	jns    0x4234e4
4234c1:	68 f4 bf 45 00       	push   $0x45bff4
4234c6:	e9 40 02 00 00       	jmp    0x42370b
4234cb:	50                   	push   %eax
4234cc:	6a 00                	push   $0x0
4234ce:	53                   	push   %ebx
4234cf:	e8 b4 46 00 00       	call   0x427b88
4234d4:	8b f0                	mov    %eax,%esi
4234d6:	85 f6                	test   %esi,%esi
4234d8:	79 0a                	jns    0x4234e4
4234da:	68 30 c0 45 00       	push   $0x45c030
4234df:	e9 27 02 00 00       	jmp    0x42370b
4234e4:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx
4234ea:	8b c1                	mov    %ecx,%eax
4234ec:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
4234f2:	0b c2                	or     %edx,%eax
4234f4:	6a 04                	push   $0x4
4234f6:	5e                   	pop    %esi
4234f7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4234fa:	50                   	push   %eax