442044:	8b 45 f8             	mov    -0x8(%ebp),%eax
442047:	8b 00                	mov    (%eax),%eax
442049:	75 0f                	jne    0x44205a
44204b:	8b 55 08             	mov    0x8(%ebp),%edx
44204e:	53                   	push   %ebx
44204f:	8d 0c 70             	lea    (%eax,%esi,2),%ecx
442052:	e8 46 9e fc ff       	call   0x40be9d
442057:	59                   	pop    %ecx
442058:	eb 11                	jmp    0x44206b
44205a:	ff 75 0c             	push   0xc(%ebp)
44205d:	8d 04 70             	lea    (%eax,%esi,2),%eax
442060:	53                   	push   %ebx
442061:	ff 75 08             	push   0x8(%ebp)
442064:	53                   	push   %ebx
442065:	50                   	push   %eax
442066:	e8 0f b3 fd ff       	call   0x41d37a
44206b:	8b 55 fc             	mov    -0x4(%ebp),%edx
44206e:	85 c0                	test   %eax,%eax
442070:	8b 45 10             	mov    0x10(%ebp),%eax
442073:	75 0c                	jne    0x442081
442075:	42                   	inc    %edx
442076:	89 55 fc             	mov    %edx,-0x4(%ebp)
442079:	3b d0                	cmp    %eax,%edx
44207b:	74 0e                	je     0x44208b
44207d:	2b f3                	sub    %ebx,%esi
44207f:	eb 01                	jmp    0x442082
442081:	4e                   	dec    %esi
442082:	3b f7                	cmp    %edi,%esi
442084:	7f b6                	jg     0x44203c
442086:	8b 7d 10             	mov    0x10(%ebp),%edi
442089:	eb 02                	jmp    0x44208d
44208b:	8b f8                	mov    %eax,%edi
44208d:	3b d7                	cmp    %edi,%edx
44208f:	7d 12                	jge    0x4420a3
442091:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
442095:	74 04                	je     0x44209b
442097:	8b c2                	mov    %edx,%eax
442099:	eb 0f                	jmp    0x4420aa
44209b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44209e:	8b 40 04             	mov    0x4(%eax),%eax
4420a1:	eb 07                	jmp    0x4420aa
4420a3:	8b c6                	mov    %esi,%eax
4420a5:	eb 03                	jmp    0x4420aa
4420a7:	8b 46 04             	mov    0x4(%esi),%eax
4420aa:	5f                   	pop    %edi
4420ab:	5e                   	pop    %esi
4420ac:	5b                   	pop    %ebx
4420ad:	c9                   	leave
4420ae:	c2 18 00             	ret    $0x18
4420b1:	55                   	push   %ebp
4420b2:	8b ec                	mov    %esp,%ebp
4420b4:	8b 45 08             	mov    0x8(%ebp),%eax
4420b7:	3b 41 34             	cmp    0x34(%ecx),%eax
4420ba:	7c 0e                	jl     0x4420ca
4420bc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4420bf:	6a ff                	push   $0xffffffff
4420c1:	6a 00                	push   $0x0
4420c3:	e8 c3 90 fc ff       	call   0x40b18b
4420c8:	eb 2d                	jmp    0x4420f7
4420ca:	8d 55 08             	lea    0x8(%ebp),%edx
4420cd:	52                   	push   %edx
4420ce:	8b 51 2c             	mov    0x2c(%ecx),%edx
4420d1:	50                   	push   %eax
4420d2:	ff 71 34             	push   0x34(%ecx)
4420d5:	8b 09                	mov    (%ecx),%ecx
4420d7:	e8 7e f1 02 00       	call   0x47125a
4420dc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4420df:	83 c4 0c             	add    $0xc,%esp
4420e2:	50                   	push   %eax
4420e3:	6a 00                	push   $0x0
4420e5:	ff 75 08             	push   0x8(%ebp)
4420e8:	e8 62 a1 fc ff       	call   0x40c24f
4420ed:	ff 75 08             	push   0x8(%ebp)
4420f0:	ff 15 0c b8 4b 00    	call   *0x4bb80c
4420f6:	59                   	pop    %ecx
4420f7:	5d                   	pop    %ebp
4420f8:	c2 08 00             	ret    $0x8
4420fb:	55                   	push   %ebp
4420fc:	8b ec                	mov    %esp,%ebp
4420fe:	83 ec 18             	sub    $0x18,%esp
442101:	53                   	push   %ebx
442102:	56                   	push   %esi
442103:	57                   	push   %edi
442104:	8b f1                	mov    %ecx,%esi
442106:	33 ff                	xor    %edi,%edi
442108:	39 7e 24             	cmp    %edi,0x24(%esi)
44210b:	74 56                	je     0x442163
44210d:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
442111:	74 50                	je     0x442163
442113:	8b 4d 0c             	mov    0xc(%ebp),%ecx
442116:	e8 f5 32 fc ff       	call   0x405410
44211b:	ff 75 10             	push   0x10(%ebp)
44211e:	8b ce                	mov    %esi,%ecx
442120:	ff 75 08             	push   0x8(%ebp)
442123:	e8 2e 08 fc ff       	call   0x402956
442128:	8b d8                	mov    %eax,%ebx
44212a:	85 db                	test   %ebx,%ebx
44212c:	7e 35                	jle    0x442163
44212e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
442131:	e8 c1 b6 fc ff       	call   0x40d7f7
442136:	85 db                	test   %ebx,%ebx
442138:	7e 1d                	jle    0x442157
44213a:	8d 45 ec             	lea    -0x14(%ebp),%eax
44213d:	50                   	push   %eax
44213e:	57                   	push   %edi
44213f:	8b ce                	mov    %esi,%ecx
442141:	e8 6b ff ff ff       	call   0x4420b1
442146:	8b 4d 0c             	mov    0xc(%ebp),%ecx
442149:	8d 45 ec             	lea    -0x14(%ebp),%eax
44214c:	50                   	push   %eax
44214d:	e8 7d 43 fc ff       	call   0x4064cf
442152:	47                   	inc    %edi
442153:	3b fb                	cmp    %ebx,%edi
442155:	7c e3                	jl     0x44213a
442157:	8d 4d ec             	lea    -0x14(%ebp),%ecx
44215a:	e8 d8 a9 fc ff       	call   0x40cb37
44215f:	8b c3                	mov    %ebx,%eax
442161:	eb 02                	jmp    0x442165
442163:	33 c0                	xor    %eax,%eax
442165:	5f                   	pop    %edi
442166:	5e                   	pop    %esi
442167:	5b                   	pop    %ebx
442168:	c9                   	leave
442169:	c2 0c 00             	ret    $0xc
44216c:	56                   	push   %esi
44216d:	8b f1                	mov    %ecx,%esi
44216f:	8b 4e 24             	mov    0x24(%esi),%ecx
442172:	85 c9                	test   %ecx,%ecx
442174:	74 2d                	je     0x4421a3
442176:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
44217a:	74 27                	je     0x4421a3
44217c:	ff 76 30             	push   0x30(%esi)
44217f:	ff 76 2c             	push   0x2c(%esi)
442182:	ff 76 40             	push   0x40(%esi)
442185:	6a 00                	push   $0x0
442187:	ff 76 28             	push   0x28(%esi)
44218a:	ff 36                	push   (%esi)
44218c:	e8 cf 79 fc ff       	call   0x409b60
442191:	83 c4 18             	add    $0x18,%esp
442194:	89 46 34             	mov    %eax,0x34(%esi)
442197:	85 c0                	test   %eax,%eax
442199:	7e 08                	jle    0x4421a3
44219b:	83 66 34 00          	andl   $0x0,0x34(%esi)
44219f:	b0 01                	mov    $0x1,%al
4421a1:	5e                   	pop    %esi
4421a2:	c3                   	ret
4421a3:	32 c0                	xor    %al,%al
4421a5:	5e                   	pop    %esi
4421a6:	c3                   	ret
4421a7:	55                   	push   %ebp
4421a8:	8b ec                	mov    %esp,%ebp
4421aa:	51                   	push   %ecx
4421ab:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4421af:	56                   	push   %esi
4421b0:	ff 75 08             	push   0x8(%ebp)
4421b3:	8b f1                	mov    %ecx,%esi
4421b5:	e8 c1 4c fc ff       	call   0x406e7b
4421ba:	85 c0                	test   %eax,%eax
4421bc:	74 04                	je     0x4421c2
4421be:	32 c0                	xor    %al,%al
4421c0:	eb 1e                	jmp    0x4421e0
4421c2:	ff 75 0c             	push   0xc(%ebp)
4421c5:	8b ce                	mov    %esi,%ecx
4421c7:	e8 92 4c fc ff       	call   0x406e5e
4421cc:	6a 00                	push   $0x0
4421ce:	8d 45 fc             	lea    -0x4(%ebp),%eax
4421d1:	50                   	push   %eax
4421d2:	8b ce                	mov    %esi,%ecx
4421d4:	e8 7d 07 fc ff       	call   0x402956
4421d9:	33 c9                	xor    %ecx,%ecx
4421db:	85 c0                	test   %eax,%eax
4421dd:	0f 9f c0             	setg   %al
4421e0:	5e                   	pop    %esi
4421e1:	c9                   	leave
4421e2:	c2 10 00             	ret    $0x10
4421e5:	55                   	push   %ebp
4421e6:	8b ec                	mov    %esp,%ebp
4421e8:	83 ec 2c             	sub    $0x2c,%esp
4421eb:	53                   	push   %ebx
4421ec:	56                   	push   %esi
4421ed:	8b d9                	mov    %ecx,%ebx
4421ef:	57                   	push   %edi
4421f0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4421f3:	e8 ff b5 fc ff       	call   0x40d7f7
4421f8:	8b 75 08             	mov    0x8(%ebp),%esi
4421fb:	ff 73 04             	push   0x4(%ebx)
4421fe:	8b 7e 04             	mov    0x4(%esi),%edi
442201:	8d 4d e8             	lea    -0x18(%ebp),%ecx
442204:	89 7d fc             	mov    %edi,-0x4(%ebp)
442207:	e8 03 49 fc ff       	call   0x406b0f
44220c:	8b 45 10             	mov    0x10(%ebp),%eax
44220f:	85 c0                	test   %eax,%eax
442211:	79 3a                	jns    0x44224d
442213:	68 ff ff ff 7f       	push   $0x7fffffff
442218:	6a ff                	push   $0xffffffff
44221a:	57                   	push   %edi
44221b:	50                   	push   %eax
44221c:	ff 75 14             	push   0x14(%ebp)
44221f:	8b cb                	mov    %ebx,%ecx
442221:	ff 36                	push   (%esi)
442223:	e8 e9 fc ff ff       	call   0x441f11
442228:	8b f0                	mov    %eax,%esi
44222a:	85 f6                	test   %esi,%esi
44222c:	79 08                	jns    0x442236
44222e:	f7 d8                	neg    %eax
442230:	33 ff                	xor    %edi,%edi
442232:	8b f7                	mov    %edi,%esi
442234:	eb 10                	jmp    0x442246
442236:	56                   	push   %esi
442237:	33 ff                	xor    %edi,%edi
442239:	57                   	push   %edi
44223a:	53                   	push   %ebx
44223b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44223e:	e8 a6 47 fc ff       	call   0x4069e9
442243:	8b 45 10             	mov    0x10(%ebp),%eax
442246:	f7 d8                	neg    %eax
442248:	89 45 10             	mov    %eax,0x10(%ebp)
44224b:	eb 04                	jmp    0x442251
44224d:	33 ff                	xor    %edi,%edi
44224f:	8b f7                	mov    %edi,%esi
442251:	8b 45 08             	mov    0x8(%ebp),%eax
442254:	6a ff                	push   $0xffffffff
442256:	56                   	push   %esi
442257:	ff 75 fc             	push   -0x4(%ebp)
44225a:	8b cb                	mov    %ebx,%ecx
44225c:	6a 01                	push   $0x1
44225e:	ff 75 14             	push   0x14(%ebp)
442261:	89 75 f8             	mov    %esi,-0x8(%ebp)
442264:	ff 30                	push   (%eax)
442266:	e8 a6 fc ff ff       	call   0x441f11
44226b:	8b f0                	mov    %eax,%esi
44226d:	3b 73 04             	cmp    0x4(%ebx),%esi
442270:	74 3f                	je     0x4422b1
442272:	8b 4d f8             	mov    -0x8(%ebp),%ecx
442275:	2b c1                	sub    %ecx,%eax
442277:	50                   	push   %eax
442278:	51                   	push   %ecx
442279:	53                   	push   %ebx
44227a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
44227d:	e8 67 47 fc ff       	call   0x4069e9
442282:	8d 45 d8             	lea    -0x28(%ebp),%eax
442285:	50                   	push   %eax
442286:	8d 4d e8             	lea    -0x18(%ebp),%ecx
442289:	e8 7f 2e fc ff       	call   0x40510d
44228e:	ff 75 0c             	push   0xc(%ebp)
442291:	8d 4d e8             	lea    -0x18(%ebp),%ecx
442294:	e8 74 2e fc ff       	call   0x40510d
442299:	8b 45 10             	mov    0x10(%ebp),%eax
44229c:	03 75 fc             	add    -0x4(%ebp),%esi
44229f:	47                   	inc    %edi
4422a0:	85 c0                	test   %eax,%eax
4422a2:	74 ad                	je     0x442251
4422a4:	3b f8                	cmp    %eax,%edi
4422a6:	75 a9                	jne    0x442251
4422a8:	8b 43 04             	mov    0x4(%ebx),%eax
4422ab:	2b c6                	sub    %esi,%eax
4422ad:	50                   	push   %eax
4422ae:	56                   	push   %esi
4422af:	eb 07                	jmp    0x4422b8
4422b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4422b4:	2b f0                	sub    %eax,%esi
4422b6:	56                   	push   %esi
4422b7:	50                   	push   %eax
4422b8:	53                   	push   %ebx
4422b9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4422bc:	e8 28 47 fc ff       	call   0x4069e9
4422c1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4422c4:	50                   	push   %eax
4422c5:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4422c8:	e8 40 2e fc ff       	call   0x40510d
4422cd:	85 ff                	test   %edi,%edi
4422cf:	74 0b                	je     0x4422dc
4422d1:	8d 45 e8             	lea    -0x18(%ebp),%eax
4422d4:	50                   	push   %eax
4422d5:	8b cb                	mov    %ebx,%ecx
4422d7:	e8 6b ba fc ff       	call   0x40dd47
4422dc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4422df:	e8 53 a8 fc ff       	call   0x40cb37
4422e4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4422e7:	e8 4b a8 fc ff       	call   0x40cb37
4422ec:	8b c7                	mov    %edi,%eax
4422ee:	5f                   	pop    %edi
4422ef:	5e                   	pop    %esi
4422f0:	5b                   	pop    %ebx
4422f1:	c9                   	leave
4422f2:	c2 10 00             	ret    $0x10
4422f5:	55                   	push   %ebp
4422f6:	8b ec                	mov    %esp,%ebp
4422f8:	83 ec 18             	sub    $0x18,%esp
4422fb:	53                   	push   %ebx
4422fc:	56                   	push   %esi
4422fd:	57                   	push   %edi
4422fe:	8d 4d e8             	lea    -0x18(%ebp),%ecx
442301:	e8 f1 b4 fc ff       	call   0x40d7f7
442306:	8b 75 0c             	mov    0xc(%ebp),%esi
442309:	8b 7d 08             	mov    0x8(%ebp),%edi
44230c:	8b 06                	mov    (%esi),%eax
44230e:	89 45 f8             	mov    %eax,-0x8(%ebp)
442311:	8d 58 01             	lea    0x1(%eax),%ebx
442314:	89 1e                	mov    %ebx,(%esi)
442316:	3b 5f 04             	cmp    0x4(%edi),%ebx
442319:	0f 8d a2 00 00 00    	jge    0x4423c1
44231f:	33 c0                	xor    %eax,%eax
442321:	89 45 0c             	mov    %eax,0xc(%ebp)
442324:	38 45 10             	cmp    %al,0x10(%ebp)
442327:	74 1b                	je     0x442344
442329:	53                   	push   %ebx
44232a:	8b cf                	mov    %edi,%ecx
44232c:	e8 55 fd fb ff       	call   0x402086
442331:	66 83 38 7b          	cmpw   $0x7b,(%eax)
442335:	75 0b                	jne    0x442342
442337:	8d 43 01             	lea    0x1(%ebx),%eax
44233a:	c6 45 13 01          	movb   $0x1,0x13(%ebp)
44233e:	89 06                	mov    %eax,(%esi)
442340:	eb 05                	jmp    0x442347
442342:	33 c0                	xor    %eax,%eax
442344:	88 45 13             	mov    %al,0x13(%ebp)
442347:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44234a:	e8 7f 99 fc ff       	call   0x40bcce
44234f:	eb 36                	jmp    0x442387
442351:	ff 36                	push   (%esi)
442353:	8b cf                	mov    %edi,%ecx
442355:	e8 2c fd fb ff       	call   0x402086
44235a:	0f b7 00             	movzwl (%eax),%eax
44235d:	50                   	push   %eax
44235e:	e8 c2 f9 fd ff       	call   0x421d25
442363:	59                   	pop    %ecx
442364:	85 c0                	test   %eax,%eax
442366:	74 26                	je     0x44238e
442368:	8b 0e                	mov    (%esi),%ecx
44236a:	51                   	push   %ecx
44236b:	8d 41 01             	lea    0x1(%ecx),%eax
44236e:	8b cf                	mov    %edi,%ecx
442370:	c6 45 0c 01          	movb   $0x1,0xc(%ebp)
442374:	89 06                	mov    %eax,(%esi)
442376:	e8 0b fd fb ff       	call   0x402086
44237b:	0f b7 00             	movzwl (%eax),%eax
44237e:	50                   	push   %eax
44237f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
442382:	e8 12 a4 fc ff       	call   0x40c799
442387:	8b 06                	mov    (%esi),%eax
442389:	3b 47 04             	cmp    0x4(%edi),%eax
44238c:	7c c3                	jl     0x442351
44238e:	ff 75 e8             	push   -0x18(%ebp)
442391:	e8 8b f2 fd ff       	call   0x421621
442396:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
44239a:	59                   	pop    %ecx
44239b:	8b d8                	mov    %eax,%ebx
44239d:	74 1f                	je     0x4423be
44239f:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)