4251ab:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4251ae:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4251b1:	8b fa                	mov    %edx,%edi
4251b3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4251b6:	e8 88 ff ff ff       	call   0x425143
4251bb:	85 c0                	test   %eax,%eax
4251bd:	0f 88 15 01 00 00    	js     0x4252d8
4251c3:	85 ff                	test   %edi,%edi
4251c5:	74 05                	je     0x4251cc
4251c7:	0f b7 07             	movzwl (%edi),%eax
4251ca:	03 f0                	add    %eax,%esi
4251cc:	6a 04                	push   $0x4
4251ce:	68 00 30 00 00       	push   $0x3000
4251d3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4251d6:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4251d9:	50                   	push   %eax
4251da:	53                   	push   %ebx
4251db:	8d 45 dc             	lea    -0x24(%ebp),%eax
4251de:	50                   	push   %eax
4251df:	6a ff                	push   $0xffffffff
4251e1:	ff 15 1c c4 42 00    	call   *0x42c41c
4251e7:	8b d8                	mov    %eax,%ebx
4251e9:	85 db                	test   %ebx,%ebx
4251eb:	79 10                	jns    0x4251fd
4251ed:	ff 75 d8             	push   -0x28(%ebp)
4251f0:	ff 15 48 c4 42 00    	call   *0x42c448
4251f6:	8b c3                	mov    %ebx,%eax
4251f8:	e9 db 00 00 00       	jmp    0x4252d8
4251fd:	8b 45 dc             	mov    -0x24(%ebp),%eax
425200:	8b 5d d0             	mov    -0x30(%ebp),%ebx
425203:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
425209:	8b 45 dc             	mov    -0x24(%ebp),%eax
42520c:	83 60 04 00          	andl   $0x0,0x4(%eax)
425210:	8b 45 dc             	mov    -0x24(%ebp),%eax
425213:	c7 40 08 04 00 00 00 	movl   $0x4,0x8(%eax)
42521a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42521d:	8b 45 10             	mov    0x10(%ebp),%eax
425220:	89 41 10             	mov    %eax,0x10(%ecx)
425223:	8b 45 14             	mov    0x14(%ebp),%eax
425226:	89 41 14             	mov    %eax,0x14(%ecx)
425229:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42522c:	8b 45 08             	mov    0x8(%ebp),%eax
42522f:	89 41 18             	mov    %eax,0x18(%ecx)
425232:	8b 4d dc             	mov    -0x24(%ebp),%ecx
425235:	8b 45 0c             	mov    0xc(%ebp),%eax
425238:	89 41 1c             	mov    %eax,0x1c(%ecx)
42523b:	8b 45 dc             	mov    -0x24(%ebp),%eax
42523e:	66 8b 0b             	mov    (%ebx),%cx
425241:	66 89 48 20          	mov    %cx,0x20(%eax)
425245:	0f b7 03             	movzwl (%ebx),%eax
425248:	50                   	push   %eax
425249:	8b 45 dc             	mov    -0x24(%ebp),%eax
42524c:	ff 73 04             	push   0x4(%ebx)
42524f:	83 c0 24             	add    $0x24,%eax
425252:	50                   	push   %eax
425253:	e8 49 31 00 00       	call   0x4283a1
425258:	8b 45 dc             	mov    -0x24(%ebp),%eax
42525b:	83 c4 0c             	add    $0xc,%esp
42525e:	85 ff                	test   %edi,%edi
425260:	74 24                	je     0x425286
425262:	66 8b 0f             	mov    (%edi),%cx
425265:	66 89 48 22          	mov    %cx,0x22(%eax)
425269:	0f b7 07             	movzwl (%edi),%eax
42526c:	0f b7 0b             	movzwl (%ebx),%ecx
42526f:	50                   	push   %eax
425270:	8b 45 dc             	mov    -0x24(%ebp),%eax
425273:	ff 77 04             	push   0x4(%edi)
425276:	83 c0 24             	add    $0x24,%eax
425279:	03 c1                	add    %ecx,%eax
42527b:	50                   	push   %eax
42527c:	e8 20 31 00 00       	call   0x4283a1
425281:	83 c4 0c             	add    $0xc,%esp
425284:	eb 06                	jmp    0x42528c
425286:	33 c9                	xor    %ecx,%ecx
425288:	66 89 48 22          	mov    %cx,0x22(%eax)
42528c:	6a 18                	push   $0x18
42528e:	8d 45 e0             	lea    -0x20(%ebp),%eax
425291:	33 db                	xor    %ebx,%ebx
425293:	50                   	push   %eax
425294:	56                   	push   %esi
425295:	ff 75 dc             	push   -0x24(%ebp)
425298:	8d 45 c0             	lea    -0x40(%ebp),%eax
42529b:	68 04 00 22 00       	push   $0x220004
4252a0:	50                   	push   %eax
4252a1:	53                   	push   %ebx
4252a2:	53                   	push   %ebx
4252a3:	53                   	push   %ebx
4252a4:	ff 75 d8             	push   -0x28(%ebp)
4252a7:	ff 15 80 c4 42 00    	call   *0x42c480
4252ad:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4252b0:	8b f0                	mov    %eax,%esi
4252b2:	68 00 80 00 00       	push   $0x8000
4252b7:	8d 45 cc             	lea    -0x34(%ebp),%eax
4252ba:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4252bd:	50                   	push   %eax
4252be:	8d 45 c8             	lea    -0x38(%ebp),%eax
4252c1:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4252c4:	50                   	push   %eax
4252c5:	6a ff                	push   $0xffffffff
4252c7:	ff 15 d4 c3 42 00    	call   *0x42c3d4
4252cd:	ff 75 d8             	push   -0x28(%ebp)
4252d0:	ff 15 48 c4 42 00    	call   *0x42c448
4252d6:	8b c6                	mov    %esi,%eax
4252d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4252db:	5f                   	pop    %edi
4252dc:	5e                   	pop    %esi
4252dd:	33 cd                	xor    %ebp,%ecx
4252df:	5b                   	pop    %ebx
4252e0:	e8 fb 27 00 00       	call   0x427ae0
4252e5:	c9                   	leave
4252e6:	c2 10 00             	ret    $0x10
4252e9:	8b ff                	mov    %edi,%edi
4252eb:	55                   	push   %ebp
4252ec:	8b ec                	mov    %esp,%ebp
4252ee:	0f b7 51 48          	movzwl 0x48(%ecx),%edx
4252f2:	03 d1                	add    %ecx,%edx
4252f4:	56                   	push   %esi
4252f5:	57                   	push   %edi
4252f6:	0f b7 72 02          	movzwl 0x2(%edx),%esi
4252fa:	8d 7a 04             	lea    0x4(%edx),%edi
4252fd:	8b ce                	mov    %esi,%ecx
4252ff:	85 c9                	test   %ecx,%ecx
425301:	74 0b                	je     0x42530e
425303:	0f b7 07             	movzwl (%edi),%eax
425306:	8d 3c 87             	lea    (%edi,%eax,4),%edi
425309:	83 e9 01             	sub    $0x1,%ecx
42530c:	75 f5                	jne    0x425303
42530e:	8d 46 01             	lea    0x1(%esi),%eax
425311:	8b 75 08             	mov    0x8(%ebp),%esi
425314:	66 89 42 02          	mov    %ax,0x2(%edx)
425318:	6a 09                	push   $0x9
42531a:	58                   	pop    %eax
42531b:	66 01 02             	add    %ax,(%edx)
42531e:	66 89 07             	mov    %ax,(%edi)
425321:	33 c0                	xor    %eax,%eax
425323:	40                   	inc    %eax
425324:	6a 08                	push   $0x8
425326:	66 89 47 02          	mov    %ax,0x2(%edi)
42532a:	83 c7 04             	add    $0x4,%edi
42532d:	59                   	pop    %ecx
42532e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
425330:	5f                   	pop    %edi
425331:	5e                   	pop    %esi
425332:	5d                   	pop    %ebp
425333:	c2 08 00             	ret    $0x8
425336:	8b ff                	mov    %edi,%edi
425338:	55                   	push   %ebp
425339:	8b ec                	mov    %esp,%ebp
42533b:	83 ec 0c             	sub    $0xc,%esp
42533e:	8d 45 f4             	lea    -0xc(%ebp),%eax
425341:	56                   	push   %esi
425342:	57                   	push   %edi
425343:	50                   	push   %eax
425344:	8d 45 fc             	lea    -0x4(%ebp),%eax
425347:	33 ff                	xor    %edi,%edi
425349:	50                   	push   %eax
42534a:	57                   	push   %edi
42534b:	68 3f 00 0f 00       	push   $0xf003f
425350:	57                   	push   %edi
425351:	57                   	push   %edi
425352:	57                   	push   %edi
425353:	68 20 53 40 00       	push   $0x405320
425358:	68 02 00 00 80       	push   $0x80000002
42535d:	8b f1                	mov    %ecx,%esi
42535f:	ff 15 40 c0 42 00    	call   *0x42c040
425365:	85 c0                	test   %eax,%eax
425367:	0f 85 2d 01 00 00    	jne    0x42549a
42536d:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
425371:	75 0e                	jne    0x425381
425373:	ff 75 fc             	push   -0x4(%ebp)
425376:	ff 15 44 c0 42 00    	call   *0x42c044
42537c:	e9 19 01 00 00       	jmp    0x42549a
425381:	53                   	push   %ebx
425382:	6a 04                	push   $0x4
425384:	5b                   	pop    %ebx
425385:	53                   	push   %ebx
425386:	8d 46 30             	lea    0x30(%esi),%eax
425389:	50                   	push   %eax
42538a:	53                   	push   %ebx
42538b:	68 a4 53 40 00       	push   $0x4053a4
425390:	57                   	push   %edi
425391:	ff 75 fc             	push   -0x4(%ebp)
425394:	ff 15 1c c0 42 00    	call   *0x42c01c
42539a:	85 c0                	test   %eax,%eax
42539c:	0f 85 e4 00 00 00    	jne    0x425486
4253a2:	6a 4e                	push   $0x4e
4253a4:	68 c0 53 40 00       	push   $0x4053c0
4253a9:	40                   	inc    %eax
4253aa:	50                   	push   %eax
4253ab:	68 ac 3d 40 00       	push   $0x403dac
4253b0:	57                   	push   %edi
4253b1:	ff 75 fc             	push   -0x4(%ebp)
4253b4:	ff 15 1c c0 42 00    	call   *0x42c01c
4253ba:	85 c0                	test   %eax,%eax
4253bc:	0f 85 c4 00 00 00    	jne    0x425486
4253c2:	53                   	push   %ebx
4253c3:	8d 46 40             	lea    0x40(%esi),%eax
4253c6:	50                   	push   %eax
4253c7:	53                   	push   %ebx
4253c8:	68 10 54 40 00       	push   $0x405410
4253cd:	57                   	push   %edi
4253ce:	ff 75 fc             	push   -0x4(%ebp)
4253d1:	ff 15 1c c0 42 00    	call   *0x42c01c
4253d7:	85 c0                	test   %eax,%eax
4253d9:	0f 85 a7 00 00 00    	jne    0x425486
4253df:	53                   	push   %ebx
4253e0:	8d 46 34             	lea    0x34(%esi),%eax
4253e3:	50                   	push   %eax
4253e4:	53                   	push   %ebx
4253e5:	68 28 54 40 00       	push   $0x405428
4253ea:	57                   	push   %edi
4253eb:	ff 75 fc             	push   -0x4(%ebp)
4253ee:	ff 15 1c c0 42 00    	call   *0x42c01c
4253f4:	85 c0                	test   %eax,%eax
4253f6:	0f 85 8a 00 00 00    	jne    0x425486
4253fc:	39 7e 48             	cmp    %edi,0x48(%esi)
4253ff:	7d 32                	jge    0x425433
425401:	0f b7 46 48          	movzwl 0x48(%esi),%eax
425405:	8d 4e 04             	lea    0x4(%esi),%ecx
425408:	03 c8                	add    %eax,%ecx
42540a:	8b d7                	mov    %edi,%edx
42540c:	0f b7 74 30 02       	movzwl 0x2(%eax,%esi,1),%esi
425411:	85 f6                	test   %esi,%esi
425413:	74 17                	je     0x42542c
425415:	33 db                	xor    %ebx,%ebx
425417:	43                   	inc    %ebx
425418:	66 39 59 02          	cmp    %bx,0x2(%ecx)
42541c:	74 0b                	je     0x425429
42541e:	0f b7 01             	movzwl (%ecx),%eax
425421:	42                   	inc    %edx
425422:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
425425:	3b d6                	cmp    %esi,%edx
425427:	72 ef                	jb     0x425418
425429:	6a 04                	push   $0x4
42542b:	5b                   	pop    %ebx
42542c:	8d 41 04             	lea    0x4(%ecx),%eax
42542f:	3b d6                	cmp    %esi,%edx
425431:	72 02                	jb     0x425435
425433:	8b c7                	mov    %edi,%eax
425435:	6a 20                	push   $0x20
425437:	50                   	push   %eax
425438:	6a 03                	push   $0x3
42543a:	68 48 54 40 00       	push   $0x405448
42543f:	57                   	push   %edi
425440:	ff 75 fc             	push   -0x4(%ebp)
425443:	ff 15 1c c0 42 00    	call   *0x42c01c
425449:	85 c0                	test   %eax,%eax
42544b:	75 39                	jne    0x425486
42544d:	53                   	push   %ebx
42544e:	8d 45 f8             	lea    -0x8(%ebp),%eax
425451:	89 7d f8             	mov    %edi,-0x8(%ebp)
425454:	50                   	push   %eax
425455:	53                   	push   %ebx
425456:	68 6c 54 40 00       	push   $0x40546c
42545b:	57                   	push   %edi
42545c:	ff 75 fc             	push   -0x4(%ebp)
42545f:	ff 15 1c c0 42 00    	call   *0x42c01c
425465:	85 c0                	test   %eax,%eax
425467:	75 1d                	jne    0x425486
425469:	40                   	inc    %eax
42546a:	53                   	push   %ebx
42546b:	89 45 f8             	mov    %eax,-0x8(%ebp)
42546e:	8d 45 f8             	lea    -0x8(%ebp),%eax
425471:	50                   	push   %eax
425472:	53                   	push   %ebx
425473:	68 7c 54 40 00       	push   $0x40547c
425478:	57                   	push   %edi
425479:	ff 75 fc             	push   -0x4(%ebp)
42547c:	ff 15 1c c0 42 00    	call   *0x42c01c
425482:	85 c0                	test   %eax,%eax
425484:	74 0a                	je     0x425490
425486:	57                   	push   %edi
425487:	ff 75 fc             	push   -0x4(%ebp)
42548a:	ff 15 04 c0 42 00    	call   *0x42c004
425490:	ff 75 fc             	push   -0x4(%ebp)
425493:	ff 15 44 c0 42 00    	call   *0x42c044
425499:	5b                   	pop    %ebx
42549a:	5f                   	pop    %edi
42549b:	5e                   	pop    %esi
42549c:	c9                   	leave
42549d:	c3                   	ret
42549e:	8b ff                	mov    %edi,%edi
4254a0:	55                   	push   %ebp
4254a1:	8b ec                	mov    %esp,%ebp
4254a3:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4254a9:	a1 74 b6 42 00       	mov    0x42b674,%eax
4254ae:	33 c5                	xor    %ebp,%eax
4254b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4254b3:	53                   	push   %ebx
4254b4:	56                   	push   %esi
4254b5:	57                   	push   %edi
4254b6:	33 c0                	xor    %eax,%eax
4254b8:	8b fa                	mov    %edx,%edi
4254ba:	68 00 08 00 00       	push   $0x800
4254bf:	50                   	push   %eax
4254c0:	68 88 54 40 00       	push   $0x405488
4254c5:	8b d9                	mov    %ecx,%ebx
4254c7:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
4254cd:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
4254d3:	ff 15 34 c1 42 00    	call   *0x42c134
4254d9:	85 c0                	test   %eax,%eax
4254db:	0f 84 ed 00 00 00    	je     0x4255ce
4254e1:	68 dc 54 40 00       	push   $0x4054dc
4254e6:	50                   	push   %eax
4254e7:	ff 15 84 c1 42 00    	call   *0x42c184
4254ed:	8b f0                	mov    %eax,%esi
4254ef:	85 f6                	test   %esi,%esi
4254f1:	0f 84 d7 00 00 00    	je     0x4255ce
4254f7:	68 e0 00 00 00       	push   $0xe0
4254fc:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
425502:	6a 00                	push   $0x0
425504:	50                   	push   %eax
425505:	e8 a3 2e 00 00       	call   0x4283ad
42550a:	68 e8 54 40 00       	push   $0x4054e8
42550f:	8d 45 90             	lea    -0x70(%ebp),%eax
425512:	c7 85 18 ff ff ff e0 	movl   $0xe0,-0xe8(%ebp)
425519:	00 00 00
42551c:	6a 20                	push   $0x20
42551e:	50                   	push   %eax
42551f:	c7 85 44 ff ff ff 00 	movl   $0x20000,-0xbc(%ebp)
425526:	00 02 00
425529:	c7 45 88 78 00 00 00 	movl   $0x78,-0x78(%ebp)
425530:	ff 15 48 c3 42 00    	call   *0x42c348
425536:	8b 4d 08             	mov    0x8(%ebp),%ecx
425539:	33 d2                	xor    %edx,%edx
42553b:	c1 e9 10             	shr    $0x10,%ecx
42553e:	42                   	inc    %edx
42553f:	83 e1 0f             	and    $0xf,%ecx
425542:	c7 85 60 ff ff ff 00 	movl   $0x80000000,-0xa0(%ebp)
425549:	00 00 80
42554c:	83 c1 0c             	add    $0xc,%ecx
42554f:	89 95 4c ff ff ff    	mov    %edx,-0xb4(%ebp)
425555:	8b c2                	mov    %edx,%eax
425557:	c7 85 58 ff ff ff 00 	movl   $0x82000400,-0xa8(%ebp)
42555e:	04 00 82
425561:	d3 e0                	shl    %cl,%eax
425563:	83 c4 14             	add    $0x14,%esp
425566:	c1 e8 07             	shr    $0x7,%eax
425569:	8d 8d 18 ff ff ff    	lea    -0xe8(%ebp),%ecx
42556f:	05 ff 03 00 00       	add    $0x3ff,%eax
425574:	c6 85 62 ff ff ff ff 	movb   $0xff,-0x9e(%ebp)
42557b:	c1 e8 0a             	shr    $0xa,%eax
42557e:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
425584:	b8 b8 00 00 00       	mov    $0xb8,%eax
425589:	66 89 85 60 ff ff ff 	mov    %ax,-0xa0(%ebp)
425590:	33 c0                	xor    %eax,%eax
425592:	57                   	push   %edi
425593:	66 89 45 d2          	mov    %ax,-0x2e(%ebp)
425597:	66 89 55 d0          	mov    %dx,-0x30(%ebp)
42559b:	e8 49 fd ff ff       	call   0x4252e9