441fbf:	83 c4 a0             	add    $0xffffffa0,%esp
441fc2:	53                   	push   %ebx
441fc3:	56                   	push   %esi
441fc4:	57                   	push   %edi
441fc5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
441fc8:	89 55 fc             	mov    %edx,-0x4(%ebp)
441fcb:	8b f0                	mov    %eax,%esi
441fcd:	8b c6                	mov    %esi,%eax
441fcf:	e8 38 fc ff ff       	call   0x441c0c
441fd4:	84 c0                	test   %al,%al
441fd6:	0f 84 59 04 00 00    	je     0x442435
441fdc:	8b c6                	mov    %esi,%eax
441fde:	e8 91 bc ff ff       	call   0x43dc74
441fe3:	85 c0                	test   %eax,%eax
441fe5:	0f 84 4a 04 00 00    	je     0x442435
441feb:	8d 55 a2             	lea    -0x5e(%ebp),%edx
441fee:	8b c6                	mov    %esi,%eax
441ff0:	8b 08                	mov    (%eax),%ecx
441ff2:	ff 51 44             	call   *0x44(%ecx)
441ff5:	8d 55 a2             	lea    -0x5e(%ebp),%edx
441ff8:	8b c6                	mov    %esi,%eax
441ffa:	8b 08                	mov    (%eax),%ecx
441ffc:	ff 91 90 00 00 00    	call   *0x90(%ecx)
442002:	8d 45 a2             	lea    -0x5e(%ebp),%eax
442005:	50                   	push   %eax
442006:	e8 45 50 fc ff       	call   0x407050
44200b:	85 c0                	test   %eax,%eax
44200d:	0f 85 22 04 00 00    	jne    0x442435
442013:	8b 46 78             	mov    0x78(%esi),%eax
442016:	ba 02 00 00 00       	mov    $0x2,%edx
44201b:	8b 08                	mov    (%eax),%ecx
44201d:	ff 51 10             	call   *0x10(%ecx)
442020:	8b 55 aa             	mov    -0x56(%ebp),%edx
442023:	2b 55 a2             	sub    -0x5e(%ebp),%edx
442026:	2b c2                	sub    %edx,%eax
442028:	89 45 f4             	mov    %eax,-0xc(%ebp)
44202b:	8b 46 78             	mov    0x78(%esi),%eax
44202e:	ba 03 00 00 00       	mov    $0x3,%edx
442033:	8b 08                	mov    (%eax),%ecx
442035:	ff 51 10             	call   *0x10(%ecx)
442038:	8b 55 ae             	mov    -0x52(%ebp),%edx
44203b:	2b 55 a6             	sub    -0x5a(%ebp),%edx
44203e:	2b c2                	sub    %edx,%eax
442040:	89 45 f0             	mov    %eax,-0x10(%ebp)
442043:	8b 46 78             	mov    0x78(%esi),%eax
442046:	ba 02 00 00 00       	mov    $0x2,%edx
44204b:	8b 08                	mov    (%eax),%ecx
44204d:	ff 51 10             	call   *0x10(%ecx)
442050:	8b 55 aa             	mov    -0x56(%ebp),%edx
442053:	2b 55 a2             	sub    -0x5e(%ebp),%edx
442056:	2b c2                	sub    %edx,%eax
442058:	89 45 ec             	mov    %eax,-0x14(%ebp)
44205b:	8b 46 78             	mov    0x78(%esi),%eax
44205e:	ba 03 00 00 00       	mov    $0x3,%edx
442063:	8b 08                	mov    (%eax),%ecx
442065:	ff 51 10             	call   *0x10(%ecx)
442068:	8b 55 ae             	mov    -0x52(%ebp),%edx
44206b:	2b 55 a6             	sub    -0x5a(%ebp),%edx
44206e:	2b c2                	sub    %edx,%eax
442070:	89 45 e8             	mov    %eax,-0x18(%ebp)
442073:	8b 45 fc             	mov    -0x4(%ebp),%eax
442076:	83 38 00             	cmpl   $0x0,(%eax)
442079:	7e 08                	jle    0x442083
44207b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44207e:	8b 55 f4             	mov    -0xc(%ebp),%edx
442081:	29 10                	sub    %edx,(%eax)
442083:	8b 45 f8             	mov    -0x8(%ebp),%eax
442086:	83 38 00             	cmpl   $0x0,(%eax)
442089:	7e 08                	jle    0x442093
44208b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44208e:	8b 55 f0             	mov    -0x10(%ebp),%edx
442091:	29 10                	sub    %edx,(%eax)
442093:	8b 45 0c             	mov    0xc(%ebp),%eax
442096:	83 38 00             	cmpl   $0x0,(%eax)
442099:	7e 08                	jle    0x4420a3
44209b:	8b 45 0c             	mov    0xc(%ebp),%eax
44209e:	8b 55 ec             	mov    -0x14(%ebp),%edx
4420a1:	29 10                	sub    %edx,(%eax)
4420a3:	8b 45 08             	mov    0x8(%ebp),%eax
4420a6:	83 38 00             	cmpl   $0x0,(%eax)
4420a9:	7e 08                	jle    0x4420b3
4420ab:	8b 45 08             	mov    0x8(%ebp),%eax
4420ae:	8b 55 e8             	mov    -0x18(%ebp),%edx
4420b1:	29 10                	sub    %edx,(%eax)
4420b3:	33 c0                	xor    %eax,%eax
4420b5:	55                   	push   %ebp
4420b6:	68 2e 24 44 00       	push   $0x44242e
4420bb:	64 ff 30             	push   %fs:(%eax)
4420be:	64 89 20             	mov    %esp,%fs:(%eax)
4420c1:	33 c0                	xor    %eax,%eax
4420c3:	89 45 e0             	mov    %eax,-0x20(%ebp)
4420c6:	33 c0                	xor    %eax,%eax
4420c8:	89 45 d0             	mov    %eax,-0x30(%ebp)
4420cb:	33 c0                	xor    %eax,%eax
4420cd:	89 45 dc             	mov    %eax,-0x24(%ebp)
4420d0:	33 c0                	xor    %eax,%eax
4420d2:	89 45 cc             	mov    %eax,-0x34(%ebp)
4420d5:	33 c0                	xor    %eax,%eax
4420d7:	89 45 d8             	mov    %eax,-0x28(%ebp)
4420da:	33 c0                	xor    %eax,%eax
4420dc:	89 45 c8             	mov    %eax,-0x38(%ebp)
4420df:	33 c0                	xor    %eax,%eax
4420e1:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4420e4:	33 c0                	xor    %eax,%eax
4420e6:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4420e9:	8b c6                	mov    %esi,%eax
4420eb:	e8 84 bb ff ff       	call   0x43dc74
4420f0:	8b f8                	mov    %eax,%edi
4420f2:	4f                   	dec    %edi
4420f3:	85 ff                	test   %edi,%edi
4420f5:	0f 8c 5d 02 00 00    	jl     0x442358
4420fb:	47                   	inc    %edi
4420fc:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
442103:	8b 55 e4             	mov    -0x1c(%ebp),%edx
442106:	8b c6                	mov    %esi,%eax
442108:	e8 2b bb ff ff       	call   0x43dc38
44210d:	8b d8                	mov    %eax,%ebx
44210f:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
442113:	75 14                	jne    0x442129
442115:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
442119:	0f 84 2f 02 00 00    	je     0x44234e
44211f:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
442123:	0f 85 25 02 00 00    	jne    0x44234e
442129:	8d 45 bc             	lea    -0x44(%ebp),%eax
44212c:	50                   	push   %eax
44212d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
442130:	50                   	push   %eax
442131:	8d 4d b8             	lea    -0x48(%ebp),%ecx
442134:	8d 55 c0             	lea    -0x40(%ebp),%edx
442137:	8b c3                	mov    %ebx,%eax
442139:	e8 ba fd ff ff       	call   0x441ef8
44213e:	0f b6 43 5b          	movzbl 0x5b(%ebx),%eax
442142:	2c 01                	sub    $0x1,%al
442144:	72 16                	jb     0x44215c
442146:	2c 02                	sub    $0x2,%al
442148:	72 06                	jb     0x442150
44214a:	2c 02                	sub    $0x2,%al
44214c:	74 08                	je     0x442156
44214e:	eb 6f                	jmp    0x4421bf
442150:	c6 45 b3 01          	movb   $0x1,-0x4d(%ebp)
442154:	eb 6d                	jmp    0x4421c3
442156:	c6 45 b3 02          	movb   $0x2,-0x4d(%ebp)
44215a:	eb 67                	jmp    0x4421c3
44215c:	0f b6 43 61          	movzbl 0x61(%ebx),%eax
442160:	22 05 40 24 44 00    	and    0x442440,%al
442166:	0f b6 15 40 24 44 00 	movzbl 0x442440,%edx
44216d:	3a d0                	cmp    %al,%dl
44216f:	75 48                	jne    0x4421b9
442171:	c6 45 b3 01          	movb   $0x1,-0x4d(%ebp)
442175:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
442179:	7e 1b                	jle    0x442196
44217b:	8b 43 78             	mov    0x78(%ebx),%eax
44217e:	ba 02 00 00 00       	mov    $0x2,%edx
442183:	8b 08                	mov    (%eax),%ecx
442185:	ff 51 10             	call   *0x10(%ecx)
442188:	8b 55 aa             	mov    -0x56(%ebp),%edx
44218b:	2b 55 a2             	sub    -0x5e(%ebp),%edx
44218e:	2b d0                	sub    %eax,%edx
442190:	2b 55 c0             	sub    -0x40(%ebp),%edx
442193:	89 55 c0             	mov    %edx,-0x40(%ebp)
442196:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
44219a:	7e 27                	jle    0x4421c3
44219c:	8b 43 78             	mov    0x78(%ebx),%eax
44219f:	ba 02 00 00 00       	mov    $0x2,%edx
4421a4:	8b 08                	mov    (%eax),%ecx
4421a6:	ff 51 10             	call   *0x10(%ecx)
4421a9:	8b 55 aa             	mov    -0x56(%ebp),%edx
4421ac:	2b 55 a2             	sub    -0x5e(%ebp),%edx
4421af:	03 55 bc             	add    -0x44(%ebp),%edx
4421b2:	2b d0                	sub    %eax,%edx
4421b4:	89 55 bc             	mov    %edx,-0x44(%ebp)
4421b7:	eb 0a                	jmp    0x4421c3
4421b9:	c6 45 b3 00          	movb   $0x0,-0x4d(%ebp)
4421bd:	eb 04                	jmp    0x4421c3
4421bf:	c6 45 b3 03          	movb   $0x3,-0x4d(%ebp)
4421c3:	0f b6 43 5b          	movzbl 0x5b(%ebx),%eax
4421c7:	2c 01                	sub    $0x1,%al
4421c9:	72 16                	jb     0x4421e1
4421cb:	04 fe                	add    $0xfe,%al
4421cd:	2c 02                	sub    $0x2,%al
4421cf:	72 04                	jb     0x4421d5
4421d1:	74 08                	je     0x4421db
4421d3:	eb 6f                	jmp    0x442244
4421d5:	c6 45 b2 01          	movb   $0x1,-0x4e(%ebp)
4421d9:	eb 6d                	jmp    0x442248
4421db:	c6 45 b2 02          	movb   $0x2,-0x4e(%ebp)
4421df:	eb 67                	jmp    0x442248
4421e1:	0f b6 43 61          	movzbl 0x61(%ebx),%eax
4421e5:	22 05 44 24 44 00    	and    0x442444,%al
4421eb:	0f b6 15 44 24 44 00 	movzbl 0x442444,%edx
4421f2:	3a d0                	cmp    %al,%dl
4421f4:	75 48                	jne    0x44223e
4421f6:	c6 45 b2 01          	movb   $0x1,-0x4e(%ebp)
4421fa:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
4421fe:	7e 1b                	jle    0x44221b
442200:	8b 43 78             	mov    0x78(%ebx),%eax
442203:	ba 03 00 00 00       	mov    $0x3,%edx
442208:	8b 08                	mov    (%eax),%ecx
44220a:	ff 51 10             	call   *0x10(%ecx)
44220d:	8b 55 ae             	mov    -0x52(%ebp),%edx
442210:	2b 55 a6             	sub    -0x5a(%ebp),%edx
442213:	2b d0                	sub    %eax,%edx
442215:	2b 55 b8             	sub    -0x48(%ebp),%edx
442218:	89 55 b8             	mov    %edx,-0x48(%ebp)
44221b:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
44221f:	7e 27                	jle    0x442248
442221:	8b 43 78             	mov    0x78(%ebx),%eax
442224:	ba 03 00 00 00       	mov    $0x3,%edx
442229:	8b 08                	mov    (%eax),%ecx
44222b:	ff 51 10             	call   *0x10(%ecx)
44222e:	8b 55 ae             	mov    -0x52(%ebp),%edx
442231:	2b 55 a6             	sub    -0x5a(%ebp),%edx
442234:	03 55 b4             	add    -0x4c(%ebp),%edx
442237:	2b d0                	sub    %eax,%edx
442239:	89 55 b4             	mov    %edx,-0x4c(%ebp)
44223c:	eb 0a                	jmp    0x442248
44223e:	c6 45 b2 00          	movb   $0x0,-0x4e(%ebp)
442242:	eb 04                	jmp    0x442248
442244:	c6 45 b2 03          	movb   $0x3,-0x4e(%ebp)
442248:	0f b6 45 b3          	movzbl -0x4d(%ebp),%eax
44224c:	48                   	dec    %eax
44224d:	2c 02                	sub    $0x2,%al
44224f:	72 04                	jb     0x442255
442251:	74 58                	je     0x4422ab
442253:	eb 76                	jmp    0x4422cb
442255:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
442259:	7e 24                	jle    0x44227f
44225b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44225e:	8b 00                	mov    (%eax),%eax
442260:	3b 45 c0             	cmp    -0x40(%ebp),%eax
442263:	7d 1a                	jge    0x44227f
442265:	8b 45 fc             	mov    -0x4(%ebp),%eax
442268:	8b 55 c0             	mov    -0x40(%ebp),%edx
44226b:	89 10                	mov    %edx,(%eax)
44226d:	8b 45 fc             	mov    -0x4(%ebp),%eax
442270:	8b 00                	mov    (%eax),%eax
442272:	3b 45 e0             	cmp    -0x20(%ebp),%eax
442275:	7e 08                	jle    0x44227f
442277:	8b 45 fc             	mov    -0x4(%ebp),%eax
44227a:	8b 00                	mov    (%eax),%eax
44227c:	89 45 e0             	mov    %eax,-0x20(%ebp)
44227f:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
442283:	7e 46                	jle    0x4422cb
442285:	8b 45 0c             	mov    0xc(%ebp),%eax
442288:	8b 00                	mov    (%eax),%eax
44228a:	3b 45 bc             	cmp    -0x44(%ebp),%eax
44228d:	7e 3c                	jle    0x4422cb
44228f:	8b 45 0c             	mov    0xc(%ebp),%eax
442292:	8b 55 bc             	mov    -0x44(%ebp),%edx
442295:	89 10                	mov    %edx,(%eax)
442297:	8b 45 0c             	mov    0xc(%ebp),%eax
44229a:	8b 00                	mov    (%eax),%eax
44229c:	3b 45 dc             	cmp    -0x24(%ebp),%eax
44229f:	7e 2a                	jle    0x4422cb
4422a1:	8b 45 0c             	mov    0xc(%ebp),%eax
4422a4:	8b 00                	mov    (%eax),%eax
4422a6:	89 45 dc             	mov    %eax,-0x24(%ebp)
4422a9:	eb 20                	jmp    0x4422cb
4422ab:	8b 43 78             	mov    0x78(%ebx),%eax
4422ae:	ba 02 00 00 00       	mov    $0x2,%edx
4422b3:	8b 08                	mov    (%eax),%ecx
4422b5:	ff 51 10             	call   *0x10(%ecx)
4422b8:	01 45 d0             	add    %eax,-0x30(%ebp)
4422bb:	8b 43 78             	mov    0x78(%ebx),%eax
4422be:	ba 02 00 00 00       	mov    $0x2,%edx
4422c3:	8b 08                	mov    (%eax),%ecx
4422c5:	ff 51 10             	call   *0x10(%ecx)
4422c8:	01 45 cc             	add    %eax,-0x34(%ebp)
4422cb:	0f b6 45 b2          	movzbl -0x4e(%ebp),%eax
4422cf:	48                   	dec    %eax
4422d0:	2c 02                	sub    $0x2,%al
4422d2:	72 04                	jb     0x4422d8
4422d4:	74 58                	je     0x44232e
4422d6:	eb 76                	jmp    0x44234e
4422d8:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
4422dc:	7e 24                	jle    0x442302
4422de:	8b 45 f8             	mov    -0x8(%ebp),%eax
4422e1:	8b 00                	mov    (%eax),%eax
4422e3:	3b 45 b8             	cmp    -0x48(%ebp),%eax
4422e6:	7d 1a                	jge    0x442302
4422e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4422eb:	8b 55 b8             	mov    -0x48(%ebp),%edx
4422ee:	89 10                	mov    %edx,(%eax)
4422f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4422f3:	8b 00                	mov    (%eax),%eax
4422f5:	3b 45 d8             	cmp    -0x28(%ebp),%eax
4422f8:	7e 08                	jle    0x442302
4422fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4422fd:	8b 00                	mov    (%eax),%eax
4422ff:	89 45 d8             	mov    %eax,-0x28(%ebp)
442302:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
442306:	7e 46                	jle    0x44234e
442308:	8b 45 08             	mov    0x8(%ebp),%eax
44230b:	8b 00                	mov    (%eax),%eax
44230d:	3b 45 b4             	cmp    -0x4c(%ebp),%eax
442310:	7e 3c                	jle    0x44234e
442312:	8b 45 08             	mov    0x8(%ebp),%eax
442315:	8b 55 b4             	mov    -0x4c(%ebp),%edx
442318:	89 10                	mov    %edx,(%eax)
44231a:	8b 45 08             	mov    0x8(%ebp),%eax
44231d:	8b 00                	mov    (%eax),%eax
44231f:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
442322:	7e 2a                	jle    0x44234e
442324:	8b 45 08             	mov    0x8(%ebp),%eax
442327:	8b 00                	mov    (%eax),%eax
442329:	89 45 d4             	mov    %eax,-0x2c(%ebp)
44232c:	eb 20                	jmp    0x44234e
44232e:	8b 43 78             	mov    0x78(%ebx),%eax
442331:	ba 03 00 00 00       	mov    $0x3,%edx
442336:	8b 08                	mov    (%eax),%ecx
442338:	ff 51 10             	call   *0x10(%ecx)
44233b:	01 45 c8             	add    %eax,-0x38(%ebp)
44233e:	8b 43 78             	mov    0x78(%ebx),%eax
442341:	ba 03 00 00 00       	mov    $0x3,%edx
442346:	8b 08                	mov    (%eax),%ecx
442348:	ff 51 10             	call   *0x10(%ecx)
44234b:	01 45 c4             	add    %eax,-0x3c(%ebp)
44234e:	ff 45 e4             	incl   -0x1c(%ebp)
442351:	4f                   	dec    %edi
442352:	0f 85 ab fd ff ff    	jne    0x442103
442358:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
44235c:	7e 18                	jle    0x442376
44235e:	8b 45 e0             	mov    -0x20(%ebp),%eax
442361:	03 45 d0             	add    -0x30(%ebp),%eax
442364:	8b 55 fc             	mov    -0x4(%ebp),%edx
442367:	3b 02                	cmp    (%edx),%eax
442369:	7e 0b                	jle    0x442376
44236b:	8b 45 e0             	mov    -0x20(%ebp),%eax
44236e:	03 45 d0             	add    -0x30(%ebp),%eax
442371:	8b 55 fc             	mov    -0x4(%ebp),%edx
442374:	89 02                	mov    %eax,(%edx)
442376:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44237a:	7e 20                	jle    0x44239c
44237c:	8b 45 0c             	mov    0xc(%ebp),%eax
44237f:	83 38 00             	cmpl   $0x0,(%eax)
442382:	74 0d                	je     0x442391
442384:	8b 45 dc             	mov    -0x24(%ebp),%eax
442387:	03 45 cc             	add    -0x34(%ebp),%eax
44238a:	8b 55 0c             	mov    0xc(%ebp),%edx
44238d:	3b 02                	cmp    (%edx),%eax
44238f:	7e 0b                	jle    0x44239c
442391:	8b 45 dc             	mov    -0x24(%ebp),%eax
442394:	03 45 cc             	add    -0x34(%ebp),%eax
442397:	8b 55 0c             	mov    0xc(%ebp),%edx
44239a:	89 02                	mov    %eax,(%edx)
44239c:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4423a0:	7e 18                	jle    0x4423ba
4423a2:	8b 45 d8             	mov    -0x28(%ebp),%eax
4423a5:	03 45 c8             	add    -0x38(%ebp),%eax
4423a8:	8b 55 f8             	mov    -0x8(%ebp),%edx