427fd7:	0f 88 2f 05 00 00    	js     0x42850c
427fdd:	89 5d ac             	mov    %ebx,-0x54(%ebp)
427fe0:	8d 7e 10             	lea    0x10(%esi),%edi
427fe3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
427fe7:	39 1f                	cmp    %ebx,(%edi)
427fe9:	74 1c                	je     0x428007
427feb:	8b 45 a4             	mov    -0x5c(%ebp),%eax
427fee:	8d 4d ac             	lea    -0x54(%ebp),%ecx
427ff1:	51                   	push   %ecx
427ff2:	ff 37                	push   (%edi)
427ff4:	8b 30                	mov    (%eax),%esi
427ff6:	50                   	push   %eax
427ff7:	8b 4e 10             	mov    0x10(%esi),%ecx
427ffa:	ff 15 2c 81 4a 00    	call   *0x4a812c
428000:	ff 56 10             	call   *0x10(%esi)
428003:	85 c0                	test   %eax,%eax
428005:	79 4a                	jns    0x428051
428007:	ff 37                	push   (%edi)
428009:	ff 15 3c 7c 4a 00    	call   *0x4a7c3c
42800f:	8b 45 a4             	mov    -0x5c(%ebp),%eax
428012:	8d 4d ac             	lea    -0x54(%ebp),%ecx
428015:	51                   	push   %ecx
428016:	57                   	push   %edi
428017:	53                   	push   %ebx
428018:	89 1f                	mov    %ebx,(%edi)
42801a:	8b 30                	mov    (%eax),%esi
42801c:	53                   	push   %ebx
42801d:	ff 75 b0             	push   -0x50(%ebp)
428020:	8b 4e 14             	mov    0x14(%esi),%ecx
428023:	50                   	push   %eax
428024:	ff 15 2c 81 4a 00    	call   *0x4a812c
42802a:	ff 56 14             	call   *0x14(%esi)
42802d:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
428032:	8b f8                	mov    %eax,%edi
428034:	ff 15 84 76 4a 00    	call   *0x4a7684
42803a:	85 ff                	test   %edi,%edi
42803c:	0f 85 af 04 00 00    	jne    0x4284f1
428042:	8b 75 98             	mov    -0x68(%ebp),%esi
428045:	ff 76 10             	push   0x10(%esi)
428048:	ff 15 3c 7c 4a 00    	call   *0x4a7c3c
42804e:	89 5e 10             	mov    %ebx,0x10(%esi)
428051:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
428054:	89 5d b8             	mov    %ebx,-0x48(%ebp)
428057:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
42805a:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
42805e:	8b 45 ac             	mov    -0x54(%ebp),%eax
428061:	51                   	push   %ecx
428062:	8d 4d b8             	lea    -0x48(%ebp),%ecx
428065:	51                   	push   %ecx
428066:	8b 30                	mov    (%eax),%esi
428068:	53                   	push   %ebx
428069:	6a 02                	push   $0x2
42806b:	ff 75 b0             	push   -0x50(%ebp)
42806e:	8b 4e 28             	mov    0x28(%esi),%ecx
428071:	50                   	push   %eax
428072:	ff 15 2c 81 4a 00    	call   *0x4a812c
428078:	ff 56 28             	call   *0x28(%esi)
42807b:	8b f0                	mov    %eax,%esi
42807d:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
428082:	89 75 c0             	mov    %esi,-0x40(%ebp)
428085:	ff 15 84 76 4a 00    	call   *0x4a7684
42808b:	85 f6                	test   %esi,%esi
42808d:	0f 85 22 04 00 00    	jne    0x4284b5
428093:	39 75 b8             	cmp    %esi,-0x48(%ebp)
428096:	75 0c                	jne    0x4280a4
428098:	c7 45 c0 05 40 00 80 	movl   $0x80004005,-0x40(%ebp)
42809f:	e9 11 04 00 00       	jmp    0x4284b5
4280a4:	be 7c f1 40 00       	mov    $0x40f17c,%esi
4280a9:	8d 7d c4             	lea    -0x3c(%ebp),%edi
4280ac:	33 c0                	xor    %eax,%eax
4280ae:	6a 07                	push   $0x7
4280b0:	59                   	pop    %ecx
4280b1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4280b2:	6a 03                	push   $0x3
4280b4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4280b5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4280b6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4280b7:	8d bd 78 ff ff ff    	lea    -0x88(%ebp),%edi
4280bd:	ab                   	stos   %eax,%es:(%edi)
4280be:	ab                   	stos   %eax,%es:(%edi)
4280bf:	ab                   	stos   %eax,%es:(%edi)
4280c0:	33 c0                	xor    %eax,%eax
4280c2:	8d bd 56 ff ff ff    	lea    -0xaa(%ebp),%edi
4280c8:	c7 85 78 ff ff ff 0c 	movl   $0x100c,-0x88(%ebp)
4280cf:	10 00 00
4280d2:	f3 ab                	rep stos %eax,%es:(%edi)
4280d4:	c7 45 80 0a 10 00 00 	movl   $0x100a,-0x80(%ebp)
4280db:	66 ab                	stos   %ax,%es:(%edi)
4280dd:	58                   	pop    %eax
4280de:	66 89 85 54 ff ff ff 	mov    %ax,-0xac(%ebp)
4280e5:	33 ff                	xor    %edi,%edi
4280e7:	6a 48                	push   $0x48
4280e9:	58                   	pop    %eax
4280ea:	66 89 85 64 ff ff ff 	mov    %ax,-0x9c(%ebp)
4280f1:	47                   	inc    %edi
4280f2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4280f5:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
4280fb:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
428101:	8b 45 b4             	mov    -0x4c(%ebp),%eax
428104:	c7 85 5c ff ff ff 80 	movl   $0x80,-0xa4(%ebp)
42810b:	00 00 00
42810e:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
428114:	8b 08                	mov    (%eax),%ecx
428116:	8b c3                	mov    %ebx,%eax
428118:	89 45 bc             	mov    %eax,-0x44(%ebp)
42811b:	85 c9                	test   %ecx,%ecx
42811d:	74 19                	je     0x428138
42811f:	8b 31                	mov    (%ecx),%esi
428121:	8d 45 bc             	lea    -0x44(%ebp),%eax
428124:	50                   	push   %eax
428125:	68 44 fd 40 00       	push   $0x40fd44
42812a:	51                   	push   %ecx
42812b:	8b 0e                	mov    (%esi),%ecx
42812d:	ff 15 2c 81 4a 00    	call   *0x4a812c
428133:	ff 16                	call   *(%esi)
428135:	8b 45 bc             	mov    -0x44(%ebp),%eax
428138:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
42813c:	85 c0                	test   %eax,%eax
42813e:	75 0c                	jne    0x42814c
428140:	c7 45 c0 02 40 00 80 	movl   $0x80004002,-0x40(%ebp)
428147:	e9 51 03 00 00       	jmp    0x42849d
42814c:	8b 30                	mov    (%eax),%esi
42814e:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
428154:	68 02 10 00 00       	push   $0x1002
428159:	51                   	push   %ecx
42815a:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
428160:	51                   	push   %ecx
428161:	8b 4e 10             	mov    0x10(%esi),%ecx
428164:	57                   	push   %edi
428165:	50                   	push   %eax
428166:	ff 15 2c 81 4a 00    	call   *0x4a812c
42816c:	ff 56 10             	call   *0x10(%esi)
42816f:	8b c8                	mov    %eax,%ecx
428171:	8b 45 bc             	mov    -0x44(%ebp),%eax
428174:	89 4d c0             	mov    %ecx,-0x40(%ebp)
428177:	85 c9                	test   %ecx,%ecx
428179:	0f 85 1e 03 00 00    	jne    0x42849d
42817f:	8b 30                	mov    (%eax),%esi
428181:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
428187:	68 02 10 00 00       	push   $0x1002
42818c:	51                   	push   %ecx
42818d:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
428193:	51                   	push   %ecx
428194:	8b 4e 10             	mov    0x10(%esi),%ecx
428197:	57                   	push   %edi
428198:	50                   	push   %eax
428199:	ff 15 2c 81 4a 00    	call   *0x4a812c
42819f:	ff 56 10             	call   *0x10(%esi)
4281a2:	89 45 c0             	mov    %eax,-0x40(%ebp)
4281a5:	85 c0                	test   %eax,%eax
4281a7:	0f 85 ed 02 00 00    	jne    0x42849a
4281ad:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4281b0:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
4281b3:	51                   	push   %ecx
4281b4:	ba 16 10 00 00       	mov    $0x1016,%edx
4281b9:	8b 08                	mov    (%eax),%ecx
4281bb:	e8 b4 fc ff ff       	call   0x427e74
4281c0:	b9 00 00 01 00       	mov    $0x10000,%ecx
4281c5:	85 c0                	test   %eax,%eax
4281c7:	75 0a                	jne    0x4281d3
4281c9:	8b 75 8c             	mov    -0x74(%ebp),%esi
4281cc:	89 75 a0             	mov    %esi,-0x60(%ebp)
4281cf:	3b f1                	cmp    %ecx,%esi
4281d1:	7d 03                	jge    0x4281d6
4281d3:	89 4d a0             	mov    %ecx,-0x60(%ebp)
4281d6:	89 5d 90             	mov    %ebx,-0x70(%ebp)
4281d9:	6a 48                	push   $0x48
4281db:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
4281df:	ff 15 14 74 4a 00    	call   *0x4a7414
4281e5:	8b f8                	mov    %eax,%edi
4281e7:	59                   	pop    %ecx
4281e8:	89 7d 9c             	mov    %edi,-0x64(%ebp)
4281eb:	c6 45 fc 1c          	movb   $0x1c,-0x4(%ebp)
4281ef:	85 ff                	test   %edi,%edi
4281f1:	74 1f                	je     0x428212
4281f3:	8d 77 08             	lea    0x8(%edi),%esi
4281f6:	c7 07 28 1a 40 00    	movl   $0x401a28,(%edi)
4281fc:	8b ce                	mov    %esi,%ecx
4281fe:	89 75 94             	mov    %esi,-0x6c(%ebp)
428201:	ff 15 a0 76 4a 00    	call   *0x4a76a0
428207:	c7 06 64 19 40 00    	movl   $0x401964,(%esi)
42820d:	89 5f 04             	mov    %ebx,0x4(%edi)
428210:	eb 02                	jmp    0x428214
428212:	8b fb                	mov    %ebx,%edi
428214:	8b d7                	mov    %edi,%edx
428216:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
42821a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
42821d:	e8 7d 13 00 00       	call   0x42959f
428222:	8b 4d ac             	mov    -0x54(%ebp),%ecx
428225:	8d 45 88             	lea    -0x78(%ebp),%eax
428228:	50                   	push   %eax
428229:	6a 05                	push   $0x5
42822b:	5a                   	pop    %edx
42822c:	e8 43 fc ff ff       	call   0x427e74
428231:	f7 d8                	neg    %eax
428233:	1b c0                	sbb    %eax,%eax
428235:	f7 d0                	not    %eax
428237:	23 45 88             	and    -0x78(%ebp),%eax
42823a:	c1 e8 10             	shr    $0x10,%eax
42823d:	83 e8 01             	sub    $0x1,%eax
428240:	74 1d                	je     0x42825f
428242:	83 e8 01             	sub    $0x1,%eax
428245:	74 11                	je     0x428258
428247:	83 e8 01             	sub    $0x1,%eax
42824a:	74 05                	je     0x428251
42824c:	6a 04                	push   $0x4
42824e:	59                   	pop    %ecx
42824f:	eb 13                	jmp    0x428264
428251:	b9 00 00 20 00       	mov    $0x200000,%ecx
428256:	eb 0c                	jmp    0x428264
428258:	b9 00 00 10 00       	mov    $0x100000,%ecx
42825d:	eb 05                	jmp    0x428264
42825f:	b9 00 00 08 00       	mov    $0x80000,%ecx
428264:	8b 75 90             	mov    -0x70(%ebp),%esi
428267:	85 f6                	test   %esi,%esi
428269:	74 74                	je     0x4282df
42826b:	8b 06                	mov    (%esi),%eax
42826d:	51                   	push   %ecx
42826e:	ff 75 b0             	push   -0x50(%ebp)
428271:	8b 78 0c             	mov    0xc(%eax),%edi
428274:	8b cf                	mov    %edi,%ecx
428276:	56                   	push   %esi
428277:	ff 15 2c 81 4a 00    	call   *0x4a812c
42827d:	ff d7                	call   *%edi
42827f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
428282:	ff 15 20 74 4a 00    	call   *0x4a7420
428288:	68 91 09 00 00       	push   $0x991
42828d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
428290:	c6 45 fc 1d          	movb   $0x1d,-0x4(%ebp)
428294:	ff 15 40 74 4a 00    	call   *0x4a7440
42829a:	8b 06                	mov    (%esi),%eax
42829c:	ff 75 c0             	push   -0x40(%ebp)
42829f:	56                   	push   %esi
4282a0:	8b 78 1c             	mov    0x1c(%eax),%edi
4282a3:	8b cf                	mov    %edi,%ecx
4282a5:	ff 15 2c 81 4a 00    	call   *0x4a812c
4282ab:	ff d7                	call   *%edi
4282ad:	8b 06                	mov    (%esi),%eax
4282af:	68 80 fa 40 00       	push   $0x40fa80
4282b4:	56                   	push   %esi
4282b5:	8b 78 20             	mov    0x20(%eax),%edi
4282b8:	8b cf                	mov    %edi,%ecx
4282ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
4282c0:	ff d7                	call   *%edi
4282c2:	8b 06                	mov    (%esi),%eax
4282c4:	56                   	push   %esi
4282c5:	8b 78 10             	mov    0x10(%eax),%edi
4282c8:	8b cf                	mov    %edi,%ecx
4282ca:	ff 15 2c 81 4a 00    	call   *0x4a812c
4282d0:	ff d7                	call   *%edi
4282d2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4282d5:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
4282d9:	ff 15 1c 74 4a 00    	call   *0x4a741c
4282df:	6a 2c                	push   $0x2c
4282e1:	ff 15 14 74 4a 00    	call   *0x4a7414
4282e7:	89 45 9c             	mov    %eax,-0x64(%ebp)
4282ea:	59                   	pop    %ecx
4282eb:	85 c0                	test   %eax,%eax
4282ed:	74 13                	je     0x428302
4282ef:	51                   	push   %ecx
4282f0:	ff 75 b0             	push   -0x50(%ebp)
4282f3:	8b c8                	mov    %eax,%ecx
4282f5:	56                   	push   %esi
4282f6:	e8 eb 06 00 00       	call   0x4289e6
4282fb:	8b d0                	mov    %eax,%edx
4282fd:	89 55 94             	mov    %edx,-0x6c(%ebp)
428300:	eb 05                	jmp    0x428307
428302:	8b d3                	mov    %ebx,%edx
428304:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
428307:	85 d2                	test   %edx,%edx
428309:	75 18                	jne    0x428323
42830b:	6a 01                	push   $0x1
42830d:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
428312:	e8 62 59 02 00       	call   0x44dc79
428317:	c7 45 c0 0e 00 07 80 	movl   $0x8007000e,-0x40(%ebp)
42831e:	e9 5f 01 00 00       	jmp    0x428482
428323:	8b 02                	mov    (%edx),%eax
428325:	8b 48 04             	mov    0x4(%eax),%ecx
428328:	03 ca                	add    %edx,%ecx
42832a:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42832d:	74 10                	je     0x42833f
42832f:	8b 01                	mov    (%ecx),%eax
428331:	51                   	push   %ecx
428332:	8b 78 04             	mov    0x4(%eax),%edi
428335:	8b cf                	mov    %edi,%ecx
428337:	ff 15 2c 81 4a 00    	call   *0x4a812c
42833d:	ff d7                	call   *%edi
42833f:	c6 45 fc 23          	movb   $0x23,-0x4(%ebp)
428343:	8b 45 b4             	mov    -0x4c(%ebp),%eax
428346:	8b 08                	mov    (%eax),%ecx
428348:	8b c3                	mov    %ebx,%eax
42834a:	89 45 a8             	mov    %eax,-0x58(%ebp)
42834d:	85 c9                	test   %ecx,%ecx
42834f:	74 19                	je     0x42836a
428351:	8b 39                	mov    (%ecx),%edi
428353:	8d 45 a8             	lea    -0x58(%ebp),%eax
428356:	50                   	push   %eax
428357:	68 54 fd 40 00       	push   $0x40fd54
42835c:	51                   	push   %ecx
42835d:	8b 0f                	mov    (%edi),%ecx
42835f:	ff 15 2c 81 4a 00    	call   *0x4a812c
428365:	ff 17                	call   *(%edi)
428367:	8b 45 a8             	mov    -0x58(%ebp),%eax
42836a:	c6 45 fc 24          	movb   $0x24,-0x4(%ebp)
42836e:	85 c0                	test   %eax,%eax
428370:	75 0c                	jne    0x42837e
428372:	c7 45 c0 02 40 00 80 	movl   $0x80004002,-0x40(%ebp)
428379:	e9 d1 00 00 00       	jmp    0x42844f
42837e:	8b 45 a0             	mov    -0x60(%ebp),%eax
428381:	8b 7d b0             	mov    -0x50(%ebp),%edi
428384:	03 c0                	add    %eax,%eax
428386:	53                   	push   %ebx
428387:	57                   	push   %edi
428388:	89 5d d8             	mov    %ebx,-0x28(%ebp)
42838b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42838e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
428391:	89 5d ec             	mov    %ebx,-0x14(%ebp)
428394:	c7 45 d4 1c 00 00 00 	movl   $0x1c,-0x2c(%ebp)
42839b:	89 45 dc             	mov    %eax,-0x24(%ebp)
42839e:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4283a5:	ff 15 40 7d 4a 00    	call   *0x4a7d40
4283ab:	8b 45 98             	mov    -0x68(%ebp),%eax
4283ae:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
4283b4:	ff 75 9c             	push   -0x64(%ebp)
4283b7:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
4283be:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4283c1:	50                   	push   %eax
4283c2:	ff 75 a8             	push   -0x58(%ebp)
4283c5:	e8 6a 01 00 00       	call   0x428534
4283ca:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
4283d0:	c6 45 fc 2c          	movb   $0x2c,-0x4(%ebp)
4283d4:	50                   	push   %eax
4283d5:	e8 37 02 00 00       	call   0x428611
4283da:	89 45 c0             	mov    %eax,-0x40(%ebp)
4283dd:	8b 45 98             	mov    -0x68(%ebp),%eax
4283e0:	6a 01                	push   $0x1
4283e2:	57                   	push   %edi
4283e3:	89 58 14             	mov    %ebx,0x14(%eax)
4283e6:	ff 15 40 7d 4a 00    	call   *0x4a7d40
4283ec:	85 f6                	test   %esi,%esi
4283ee:	74 34                	je     0x428424
4283f0:	8b 06                	mov    (%esi),%eax
4283f2:	8d 4d a0             	lea    -0x60(%ebp),%ecx
4283f5:	51                   	push   %ecx
4283f6:	56                   	push   %esi
4283f7:	8b 78 18             	mov    0x18(%eax),%edi
4283fa:	8b cf                	mov    %edi,%ecx
4283fc:	ff 15 2c 81 4a 00    	call   *0x4a812c
428402:	ff d7                	call   *%edi
428404:	85 c0                	test   %eax,%eax