447f81:	83 f8 40             	cmp    $0x40,%eax
447f84:	74 1c                	je     0x447fa2
447f86:	b8 0d 00 07 80       	mov    $0x8007000d,%eax
447f8b:	50                   	push   %eax
447f8c:	68 6f 01 00 00       	push   $0x16f
447f91:	8b f0                	mov    %eax,%esi
447f93:	68 3c 6b 46 00       	push   $0x466b3c
447f98:	e8 36 b8 fb ff       	call   0x4037d3
447f9d:	e9 38 ff ff ff       	jmp    0x447eda
447fa2:	6a 20                	push   $0x20
447fa4:	58                   	pop    %eax
447fa5:	6a 01                	push   $0x1
447fa7:	50                   	push   %eax
447fa8:	89 47 14             	mov    %eax,0x14(%edi)
447fab:	e8 24 b9 fb ff       	call   0x4038d4
447fb0:	89 47 10             	mov    %eax,0x10(%edi)
447fb3:	85 c0                	test   %eax,%eax
447fb5:	75 0d                	jne    0x447fc4
447fb7:	be 0e 00 07 80       	mov    $0x8007000e,%esi
447fbc:	56                   	push   %esi
447fbd:	68 74 01 00 00       	push   $0x174
447fc2:	eb cf                	jmp    0x447f93
447fc4:	ff 77 14             	push   0x14(%edi)
447fc7:	50                   	push   %eax
447fc8:	ff 73 08             	push   0x8(%ebx)
447fcb:	e8 aa a6 fb ff       	call   0x40267a
447fd0:	8b f0                	mov    %eax,%esi
447fd2:	85 f6                	test   %esi,%esi
447fd4:	0f 88 00 ff ff ff    	js     0x447eda
447fda:	e9 d3 fe ff ff       	jmp    0x447eb2
447fdf:	b8 0d 00 07 80       	mov    $0x8007000d,%eax
447fe4:	50                   	push   %eax
447fe5:	68 7c 01 00 00       	push   $0x17c
447fea:	eb a5                	jmp    0x447f91
447fec:	55                   	push   %ebp
447fed:	8b ec                	mov    %esp,%ebp
447fef:	83 ec 0c             	sub    $0xc,%esp
447ff2:	53                   	push   %ebx
447ff3:	8b 5d 10             	mov    0x10(%ebp),%ebx
447ff6:	56                   	push   %esi
447ff7:	8b 75 08             	mov    0x8(%ebp),%esi
447ffa:	57                   	push   %edi
447ffb:	33 ff                	xor    %edi,%edi
447ffd:	33 c0                	xor    %eax,%eax
447fff:	89 45 fc             	mov    %eax,-0x4(%ebp)
448002:	8b 76 3c             	mov    0x3c(%esi),%esi
448005:	e9 9c 00 00 00       	jmp    0x4480a6
44800a:	6a ff                	push   $0xffffffff
44800c:	68 d8 6a 46 00       	push   $0x466ad8
448011:	6a ff                	push   $0xffffffff
448013:	ff 36                	push   (%esi)
448015:	6a 00                	push   $0x0
448017:	6a 7f                	push   $0x7f
448019:	ff 15 28 b1 44 00    	call   *0x44b128
44801f:	83 f8 02             	cmp    $0x2,%eax
448022:	75 7c                	jne    0x4480a0
448024:	6a ff                	push   $0xffffffff
448026:	68 24 6b 46 00       	push   $0x466b24
44802b:	6a ff                	push   $0xffffffff
44802d:	ff 76 04             	push   0x4(%esi)
448030:	6a 00                	push   $0x0
448032:	6a 7f                	push   $0x7f
448034:	ff 15 28 b1 44 00    	call   *0x44b128
44803a:	83 f8 02             	cmp    $0x2,%eax
44803d:	0f 85 84 00 00 00    	jne    0x4480c7
448043:	6a 00                	push   $0x0
448045:	ff 76 08             	push   0x8(%esi)
448048:	53                   	push   %ebx
448049:	e8 57 a1 fb ff       	call   0x4021a5
44804e:	8b f8                	mov    %eax,%edi
448050:	85 ff                	test   %edi,%edi
448052:	0f 88 07 03 00 00    	js     0x44835f
448058:	8b 46 0c             	mov    0xc(%esi),%eax
44805b:	eb 3c                	jmp    0x448099
44805d:	6a ff                	push   $0xffffffff
44805f:	68 6c 6a 46 00       	push   $0x466a6c
448064:	6a ff                	push   $0xffffffff
448066:	ff 70 04             	push   0x4(%eax)
448069:	6a 00                	push   $0x0
44806b:	6a 7f                	push   $0x7f
44806d:	ff 15 28 b1 44 00    	call   *0x44b128
448073:	83 f8 02             	cmp    $0x2,%eax
448076:	75 1b                	jne    0x448093
448078:	8b 45 10             	mov    0x10(%ebp),%eax
44807b:	6a 00                	push   $0x0
44807d:	ff 70 08             	push   0x8(%eax)
448080:	8d 43 04             	lea    0x4(%ebx),%eax
448083:	50                   	push   %eax
448084:	e8 1c a1 fb ff       	call   0x4021a5
448089:	8b f8                	mov    %eax,%edi
44808b:	85 ff                	test   %edi,%edi
44808d:	0f 88 cc 02 00 00    	js     0x44835f
448093:	8b 45 10             	mov    0x10(%ebp),%eax
448096:	8b 40 0c             	mov    0xc(%eax),%eax
448099:	89 45 10             	mov    %eax,0x10(%ebp)
44809c:	85 c0                	test   %eax,%eax
44809e:	75 bd                	jne    0x44805d
4480a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4480a3:	8b 76 10             	mov    0x10(%esi),%esi
4480a6:	85 f6                	test   %esi,%esi
4480a8:	0f 85 5c ff ff ff    	jne    0x44800a
4480ae:	39 33                	cmp    %esi,(%ebx)
4480b0:	75 05                	jne    0x4480b7
4480b2:	39 75 0c             	cmp    %esi,0xc(%ebp)
4480b5:	74 08                	je     0x4480bf
4480b7:	85 c0                	test   %eax,%eax
4480b9:	0f 85 4a 01 00 00    	jne    0x448209
4480bf:	33 ff                	xor    %edi,%edi
4480c1:	47                   	inc    %edi
4480c2:	e9 9a 02 00 00       	jmp    0x448361
4480c7:	6a ff                	push   $0xffffffff
4480c9:	68 4c 6b 46 00       	push   $0x466b4c
4480ce:	6a ff                	push   $0xffffffff
4480d0:	ff 76 04             	push   0x4(%esi)
4480d3:	6a 00                	push   $0x0
4480d5:	6a 7f                	push   $0x7f
4480d7:	ff 15 28 b1 44 00    	call   *0x44b128
4480dd:	83 f8 02             	cmp    $0x2,%eax
4480e0:	0f 85 c9 00 00 00    	jne    0x4481af
4480e6:	6a 00                	push   $0x0
4480e8:	ff 76 08             	push   0x8(%esi)
4480eb:	8d 43 18             	lea    0x18(%ebx),%eax
4480ee:	50                   	push   %eax
4480ef:	e8 b1 a0 fb ff       	call   0x4021a5
4480f4:	8b f8                	mov    %eax,%edi
4480f6:	85 ff                	test   %edi,%edi
4480f8:	0f 88 61 02 00 00    	js     0x44835f
4480fe:	8b 46 0c             	mov    0xc(%esi),%eax
448101:	e9 99 00 00 00       	jmp    0x44819f
448106:	6a ff                	push   $0xffffffff
448108:	68 c8 cb 44 00       	push   $0x44cbc8
44810d:	6a ff                	push   $0xffffffff
44810f:	ff 70 04             	push   0x4(%eax)
448112:	6a 00                	push   $0x0
448114:	6a 7f                	push   $0x7f
448116:	ff 15 28 b1 44 00    	call   *0x44b128
44811c:	83 f8 02             	cmp    $0x2,%eax
44811f:	75 35                	jne    0x448156
448121:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
448125:	8d 45 f4             	lea    -0xc(%ebp),%eax
448128:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
44812c:	50                   	push   %eax
44812d:	8d 45 f8             	lea    -0x8(%ebp),%eax
448130:	50                   	push   %eax
448131:	8b 45 10             	mov    0x10(%ebp),%eax
448134:	ff 70 08             	push   0x8(%eax)
448137:	e8 fd c8 ff ff       	call   0x444a39
44813c:	8b f8                	mov    %eax,%edi
44813e:	85 ff                	test   %edi,%edi
448140:	0f 88 19 02 00 00    	js     0x44835f
448146:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448149:	33 c0                	xor    %eax,%eax
44814b:	0b 45 f4             	or     -0xc(%ebp),%eax
44814e:	89 43 28             	mov    %eax,0x28(%ebx)
448151:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
448154:	eb 43                	jmp    0x448199
448156:	8b 45 10             	mov    0x10(%ebp),%eax
448159:	6a ff                	push   $0xffffffff
44815b:	68 5c 6b 46 00       	push   $0x466b5c
448160:	6a ff                	push   $0xffffffff
448162:	ff 70 04             	push   0x4(%eax)
448165:	6a 00                	push   $0x0
448167:	6a 7f                	push   $0x7f
448169:	ff 15 28 b1 44 00    	call   *0x44b128
44816f:	83 f8 02             	cmp    $0x2,%eax
448172:	75 25                	jne    0x448199
448174:	8b 45 10             	mov    0x10(%ebp),%eax
448177:	6a ff                	push   $0xffffffff
448179:	68 70 6b 46 00       	push   $0x466b70
44817e:	6a ff                	push   $0xffffffff
448180:	ff 70 08             	push   0x8(%eax)
448183:	6a 00                	push   $0x0
448185:	6a 7f                	push   $0x7f
448187:	ff 15 28 b1 44 00    	call   *0x44b128
44818d:	83 f8 02             	cmp    $0x2,%eax
448190:	75 07                	jne    0x448199
448192:	c7 43 1c 01 00 00 00 	movl   $0x1,0x1c(%ebx)
448199:	8b 45 10             	mov    0x10(%ebp),%eax
44819c:	8b 40 0c             	mov    0xc(%eax),%eax
44819f:	89 45 10             	mov    %eax,0x10(%ebp)
4481a2:	85 c0                	test   %eax,%eax
4481a4:	0f 85 5c ff ff ff    	jne    0x448106
4481aa:	e9 f1 fe ff ff       	jmp    0x4480a0
4481af:	6a ff                	push   $0xffffffff
4481b1:	68 c8 cb 44 00       	push   $0x44cbc8
4481b6:	6a ff                	push   $0xffffffff
4481b8:	ff 76 04             	push   0x4(%esi)
4481bb:	6a 00                	push   $0x0
4481bd:	6a 7f                	push   $0x7f
4481bf:	ff 15 28 b1 44 00    	call   *0x44b128
4481c5:	83 f8 02             	cmp    $0x2,%eax
4481c8:	0f 85 d2 fe ff ff    	jne    0x4480a0
4481ce:	83 65 10 00          	andl   $0x0,0x10(%ebp)
4481d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4481d5:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4481d9:	50                   	push   %eax
4481da:	8d 45 10             	lea    0x10(%ebp),%eax
4481dd:	50                   	push   %eax
4481de:	ff 76 08             	push   0x8(%esi)
4481e1:	e8 53 c8 ff ff       	call   0x444a39
4481e6:	8b f8                	mov    %eax,%edi
4481e8:	85 ff                	test   %edi,%edi
4481ea:	0f 88 6f 01 00 00    	js     0x44835f
4481f0:	8b 4d 10             	mov    0x10(%ebp),%ecx
4481f3:	33 c0                	xor    %eax,%eax
4481f5:	0b 45 f4             	or     -0xc(%ebp),%eax
4481f8:	89 43 20             	mov    %eax,0x20(%ebx)
4481fb:	33 c0                	xor    %eax,%eax
4481fd:	40                   	inc    %eax
4481fe:	89 4b 24             	mov    %ecx,0x24(%ebx)
448201:	89 45 fc             	mov    %eax,-0x4(%ebp)
448204:	e9 9a fe ff ff       	jmp    0x4480a3
448209:	8b 43 2c             	mov    0x2c(%ebx),%eax
44820c:	3b 43 24             	cmp    0x24(%ebx),%eax
44820f:	72 24                	jb     0x448235
448211:	77 08                	ja     0x44821b
448213:	8b 43 28             	mov    0x28(%ebx),%eax
448216:	3b 43 20             	cmp    0x20(%ebx),%eax
448219:	72 1a                	jb     0x448235
44821b:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
448220:	57                   	push   %edi
448221:	68 0d 01 00 00       	push   $0x10d
448226:	68 3c 6b 46 00       	push   $0x466b3c
44822b:	e8 a3 b5 fb ff       	call   0x4037d3
448230:	e9 2c 01 00 00       	jmp    0x448361
448235:	8b 75 08             	mov    0x8(%ebp),%esi
448238:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
44823c:	74 18                	je     0x448256
44823e:	6a 00                	push   $0x0
448240:	ff 76 08             	push   0x8(%esi)
448243:	8d 43 08             	lea    0x8(%ebx),%eax
448246:	50                   	push   %eax
448247:	e8 59 9f fb ff       	call   0x4021a5
44824c:	8b f8                	mov    %eax,%edi
44824e:	85 ff                	test   %edi,%edi
448250:	0f 88 09 01 00 00    	js     0x44835f
448256:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
44825a:	74 18                	je     0x448274
44825c:	6a 00                	push   $0x0
44825e:	ff 76 04             	push   0x4(%esi)
448261:	8d 43 0c             	lea    0xc(%ebx),%eax
448264:	50                   	push   %eax
448265:	e8 3b 9f fb ff       	call   0x4021a5
44826a:	8b f8                	mov    %eax,%edi
44826c:	85 ff                	test   %edi,%edi
44826e:	0f 88 eb 00 00 00    	js     0x44835f
448274:	8b 46 1c             	mov    0x1c(%esi),%eax
448277:	85 c0                	test   %eax,%eax
448279:	74 3d                	je     0x4482b8
44827b:	83 38 00             	cmpl   $0x0,(%eax)
44827e:	74 17                	je     0x448297
448280:	6a 00                	push   $0x0
448282:	ff 30                	push   (%eax)
448284:	8d 43 10             	lea    0x10(%ebx),%eax
448287:	50                   	push   %eax
448288:	e8 18 9f fb ff       	call   0x4021a5
44828d:	8b f8                	mov    %eax,%edi
44828f:	85 ff                	test   %edi,%edi
448291:	0f 88 c8 00 00 00    	js     0x44835f
448297:	8b 46 1c             	mov    0x1c(%esi),%eax
44829a:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
44829e:	74 18                	je     0x4482b8
4482a0:	6a 00                	push   $0x0
4482a2:	ff 70 08             	push   0x8(%eax)
4482a5:	8d 43 14             	lea    0x14(%ebx),%eax
4482a8:	50                   	push   %eax
4482a9:	e8 f7 9e fb ff       	call   0x4021a5
4482ae:	8b f8                	mov    %eax,%edi
4482b0:	85 ff                	test   %edi,%edi
4482b2:	0f 88 a7 00 00 00    	js     0x44835f
4482b8:	8b 46 30             	mov    0x30(%esi),%eax
4482bb:	6a 01                	push   $0x1
4482bd:	c1 e0 05             	shl    $0x5,%eax
4482c0:	50                   	push   %eax
4482c1:	e8 0e b6 fb ff       	call   0x4038d4
4482c6:	89 43 3c             	mov    %eax,0x3c(%ebx)
4482c9:	85 c0                	test   %eax,%eax
4482cb:	75 10                	jne    0x4482dd
4482cd:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
4482d2:	57                   	push   %edi
4482d3:	68 2c 01 00 00       	push   $0x12c
4482d8:	e9 49 ff ff ff       	jmp    0x448226
4482dd:	83 65 10 00          	andl   $0x0,0x10(%ebp)
4482e1:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
4482e5:	76 76                	jbe    0x44835d
4482e7:	33 c9                	xor    %ecx,%ecx
4482e9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4482ec:	8b 46 34             	mov    0x34(%esi),%eax
4482ef:	6a ff                	push   $0xffffffff
4482f1:	68 7c 6b 46 00       	push   $0x466b7c
4482f6:	03 c1                	add    %ecx,%eax
4482f8:	6a ff                	push   $0xffffffff
4482fa:	89 45 f4             	mov    %eax,-0xc(%ebp)
4482fd:	ff 30                	push   (%eax)
4482ff:	6a 00                	push   $0x0
448301:	6a 7f                	push   $0x7f
448303:	ff 15 28 b1 44 00    	call   *0x44b128
448309:	83 f8 02             	cmp    $0x2,%eax
44830c:	75 3a                	jne    0x448348
44830e:	8b 43 38             	mov    0x38(%ebx),%eax
448311:	c1 e0 05             	shl    $0x5,%eax
448314:	03 43 3c             	add    0x3c(%ebx),%eax
448317:	50                   	push   %eax
448318:	ff 75 f4             	push   -0xc(%ebp)
44831b:	e8 16 fb ff ff       	call   0x447e36
448320:	8b f8                	mov    %eax,%edi
448322:	85 ff                	test   %edi,%edi
448324:	78 39                	js     0x44835f
448326:	8b 73 38             	mov    0x38(%ebx),%esi
448329:	8b d6                	mov    %esi,%edx
44832b:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
44832e:	c1 e2 05             	shl    $0x5,%edx
448331:	8b 44 0a 08          	mov    0x8(%edx,%ecx,1),%eax
448335:	01 43 30             	add    %eax,0x30(%ebx)
448338:	8b 44 0a 0c          	mov    0xc(%edx,%ecx,1),%eax
44833c:	11 43 34             	adc    %eax,0x34(%ebx)
44833f:	8d 46 01             	lea    0x1(%esi),%eax
448342:	8b 75 08             	mov    0x8(%ebp),%esi
448345:	89 43 38             	mov    %eax,0x38(%ebx)
448348:	8b 45 10             	mov    0x10(%ebp),%eax
44834b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44834e:	40                   	inc    %eax
44834f:	83 c1 28             	add    $0x28,%ecx
448352:	89 45 10             	mov    %eax,0x10(%ebp)
448355:	89 4d 0c             	mov    %ecx,0xc(%ebp)
448358:	3b 46 30             	cmp    0x30(%esi),%eax
44835b:	72 8f                	jb     0x4482ec
44835d:	85 ff                	test   %edi,%edi
44835f:	74 13                	je     0x448374
448361:	53                   	push   %ebx
448362:	e8 3a fa ff ff       	call   0x447da1
448367:	6a 40                	push   $0x40
448369:	6a 00                	push   $0x0
44836b:	53                   	push   %ebx
44836c:	e8 ff 72 fe ff       	call   0x42f670
448371:	83 c4 0c             	add    $0xc,%esp
448374:	8b c7                	mov    %edi,%eax
448376:	5f                   	pop    %edi
448377:	5e                   	pop    %esi
448378:	5b                   	pop    %ebx
448379:	8b e5                	mov    %ebp,%esp
44837b:	5d                   	pop    %ebp
44837c:	c2 0c 00             	ret    $0xc
44837f:	55                   	push   %ebp
448380:	8b ec                	mov    %esp,%ebp
448382:	51                   	push   %ecx
448383:	53                   	push   %ebx
448384:	56                   	push   %esi
448385:	57                   	push   %edi
448386:	6a 01                	push   $0x1