5e010d:	5f                   	pop    %edi
5e010e:	5e                   	pop    %esi
5e010f:	5b                   	pop    %ebx
5e0110:	c9                   	leave
5e0111:	c2 0c 00             	ret    $0xc
5e0114:	8b 45 10             	mov    0x10(%ebp),%eax
5e0117:	ff 30                	push   (%eax)
5e0119:	e8 62 ff ff ff       	call   0x5e0080
5e011e:	59                   	pop    %ecx
5e011f:	c3                   	ret
5e0120:	6a 2c                	push   $0x2c
5e0122:	68 30 a6 68 00       	push   $0x68a630
5e0127:	e8 d4 27 ff ff       	call   0x5d2900
5e012c:	8b 45 08             	mov    0x8(%ebp),%eax
5e012f:	ff 30                	push   (%eax)
5e0131:	e8 8c 84 00 00       	call   0x5e85c2
5e0136:	59                   	pop    %ecx
5e0137:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5e013b:	8b 35 c0 6c 71 00    	mov    0x716cc0,%esi
5e0141:	a1 bc 6c 71 00       	mov    0x716cbc,%eax
5e0146:	8d 1c 86             	lea    (%esi,%eax,4),%ebx
5e0149:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e014c:	89 75 d4             	mov    %esi,-0x2c(%ebp)
5e014f:	3b f3                	cmp    %ebx,%esi
5e0151:	74 4f                	je     0x5e01a2
5e0153:	8b 06                	mov    (%esi),%eax
5e0155:	89 45 e0             	mov    %eax,-0x20(%ebp)
5e0158:	ff 37                	push   (%edi)
5e015a:	50                   	push   %eax
5e015b:	e8 19 01 00 00       	call   0x5e0279
5e0160:	59                   	pop    %ecx
5e0161:	59                   	pop    %ecx
5e0162:	84 c0                	test   %al,%al
5e0164:	74 37                	je     0x5e019d
5e0166:	8b 57 08             	mov    0x8(%edi),%edx
5e0169:	8b 4f 04             	mov    0x4(%edi),%ecx
5e016c:	8b 07                	mov    (%edi),%eax
5e016e:	8d 7d e0             	lea    -0x20(%ebp),%edi
5e0171:	89 7d c4             	mov    %edi,-0x3c(%ebp)
5e0174:	89 45 c8             	mov    %eax,-0x38(%ebp)
5e0177:	89 4d cc             	mov    %ecx,-0x34(%ebp)
5e017a:	89 55 d0             	mov    %edx,-0x30(%ebp)
5e017d:	8b 45 e0             	mov    -0x20(%ebp),%eax
5e0180:	89 45 dc             	mov    %eax,-0x24(%ebp)
5e0183:	89 45 d8             	mov    %eax,-0x28(%ebp)
5e0186:	8d 45 dc             	lea    -0x24(%ebp),%eax
5e0189:	50                   	push   %eax
5e018a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5e018d:	50                   	push   %eax
5e018e:	8d 45 d8             	lea    -0x28(%ebp),%eax
5e0191:	50                   	push   %eax
5e0192:	8d 4d e7             	lea    -0x19(%ebp),%ecx
5e0195:	e8 fa fe ff ff       	call   0x5e0094
5e019a:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e019d:	83 c6 04             	add    $0x4,%esi
5e01a0:	eb aa                	jmp    0x5e014c
5e01a2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e01a9:	e8 12 00 00 00       	call   0x5e01c0
5e01ae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e01b1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e01b8:	59                   	pop    %ecx
5e01b9:	5f                   	pop    %edi
5e01ba:	5e                   	pop    %esi
5e01bb:	5b                   	pop    %ebx
5e01bc:	c9                   	leave
5e01bd:	c2 0c 00             	ret    $0xc
5e01c0:	8b 45 10             	mov    0x10(%ebp),%eax
5e01c3:	ff 30                	push   (%eax)
5e01c5:	e8 40 84 00 00       	call   0x5e860a
5e01ca:	59                   	pop    %ecx
5e01cb:	c3                   	ret
5e01cc:	6a 0c                	push   $0xc
5e01ce:	68 50 a6 68 00       	push   $0x68a650
5e01d3:	e8 28 27 ff ff       	call   0x5d2900
5e01d8:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5e01dc:	8b 45 08             	mov    0x8(%ebp),%eax
5e01df:	ff 30                	push   (%eax)
5e01e1:	e8 86 fe ff ff       	call   0x5e006c
5e01e6:	59                   	pop    %ecx
5e01e7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5e01eb:	8b 45 0c             	mov    0xc(%ebp),%eax
5e01ee:	8b 00                	mov    (%eax),%eax
5e01f0:	ff 30                	push   (%eax)
5e01f2:	e8 3f 01 00 00       	call   0x5e0336
5e01f7:	59                   	pop    %ecx
5e01f8:	8b f0                	mov    %eax,%esi
5e01fa:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5e01fd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e0204:	e8 17 00 00 00       	call   0x5e0220
5e0209:	8b c6                	mov    %esi,%eax
5e020b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e020e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e0215:	59                   	pop    %ecx
5e0216:	5f                   	pop    %edi
5e0217:	5e                   	pop    %esi
5e0218:	5b                   	pop    %ebx
5e0219:	c9                   	leave
5e021a:	c2 0c 00             	ret    $0xc
5e021d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5e0220:	8b 45 10             	mov    0x10(%ebp),%eax
5e0223:	ff 30                	push   (%eax)
5e0225:	e8 56 fe ff ff       	call   0x5e0080
5e022a:	59                   	pop    %ecx
5e022b:	c3                   	ret
5e022c:	8b ff                	mov    %edi,%edi
5e022e:	55                   	push   %ebp
5e022f:	8b ec                	mov    %esp,%ebp
5e0231:	83 ec 20             	sub    $0x20,%esp
5e0234:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5e0238:	8d 45 f8             	lea    -0x8(%ebp),%eax
5e023b:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
5e023f:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5e0242:	89 45 e0             	mov    %eax,-0x20(%ebp)
5e0245:	8d 45 08             	lea    0x8(%ebp),%eax
5e0248:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5e024b:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e024e:	6a 08                	push   $0x8
5e0250:	89 45 e8             	mov    %eax,-0x18(%ebp)
5e0253:	58                   	pop    %eax
5e0254:	89 45 f0             	mov    %eax,-0x10(%ebp)
5e0257:	89 45 ec             	mov    %eax,-0x14(%ebp)
5e025a:	8d 45 f0             	lea    -0x10(%ebp),%eax
5e025d:	50                   	push   %eax
5e025e:	8d 45 e0             	lea    -0x20(%ebp),%eax
5e0261:	50                   	push   %eax
5e0262:	8d 45 ec             	lea    -0x14(%ebp),%eax
5e0265:	50                   	push   %eax
5e0266:	e8 b5 fe ff ff       	call   0x5e0120
5e026b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5e026f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e0272:	75 03                	jne    0x5e0277
5e0274:	8b 45 f4             	mov    -0xc(%ebp),%eax
5e0277:	c9                   	leave
5e0278:	c3                   	ret
5e0279:	8b ff                	mov    %edi,%edi
5e027b:	55                   	push   %ebp
5e027c:	8b ec                	mov    %esp,%ebp
5e027e:	8b 45 08             	mov    0x8(%ebp),%eax
5e0281:	85 c0                	test   %eax,%eax
5e0283:	74 1d                	je     0x5e02a2
5e0285:	8b 48 0c             	mov    0xc(%eax),%ecx
5e0288:	90                   	nop
5e0289:	8b c1                	mov    %ecx,%eax
5e028b:	c1 e8 0d             	shr    $0xd,%eax
5e028e:	a8 01                	test   $0x1,%al
5e0290:	74 10                	je     0x5e02a2
5e0292:	51                   	push   %ecx
5e0293:	e8 12 00 00 00       	call   0x5e02aa
5e0298:	59                   	pop    %ecx
5e0299:	84 c0                	test   %al,%al
5e029b:	75 09                	jne    0x5e02a6
5e029d:	8b 45 0c             	mov    0xc(%ebp),%eax
5e02a0:	ff 00                	incl   (%eax)
5e02a2:	32 c0                	xor    %al,%al
5e02a4:	5d                   	pop    %ebp
5e02a5:	c3                   	ret
5e02a6:	b0 01                	mov    $0x1,%al
5e02a8:	5d                   	pop    %ebp
5e02a9:	c3                   	ret
5e02aa:	8b ff                	mov    %edi,%edi
5e02ac:	55                   	push   %ebp
5e02ad:	8b ec                	mov    %esp,%ebp
5e02af:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e02b2:	8b c1                	mov    %ecx,%eax
5e02b4:	24 03                	and    $0x3,%al
5e02b6:	3c 02                	cmp    $0x2,%al
5e02b8:	75 09                	jne    0x5e02c3
5e02ba:	f6 c1 c0             	test   $0xc0,%cl
5e02bd:	74 04                	je     0x5e02c3
5e02bf:	fe c8                	dec    %al
5e02c1:	5d                   	pop    %ebp
5e02c2:	c3                   	ret
5e02c3:	c1 e9 0b             	shr    $0xb,%ecx
5e02c6:	80 e1 01             	and    $0x1,%cl
5e02c9:	8a c1                	mov    %cl,%al
5e02cb:	5d                   	pop    %ebp
5e02cc:	c3                   	ret
5e02cd:	8b ff                	mov    %edi,%edi
5e02cf:	55                   	push   %ebp
5e02d0:	8b ec                	mov    %esp,%ebp
5e02d2:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e02d5:	53                   	push   %ebx
5e02d6:	56                   	push   %esi
5e02d7:	57                   	push   %edi
5e02d8:	8d 71 0c             	lea    0xc(%ecx),%esi
5e02db:	8b 16                	mov    (%esi),%edx
5e02dd:	90                   	nop
5e02de:	8b c2                	mov    %edx,%eax
5e02e0:	24 03                	and    $0x3,%al
5e02e2:	3c 02                	cmp    $0x2,%al
5e02e4:	75 49                	jne    0x5e032f
5e02e6:	f6 c2 c0             	test   $0xc0,%dl
5e02e9:	74 44                	je     0x5e032f
5e02eb:	8b 39                	mov    (%ecx),%edi
5e02ed:	8b 59 04             	mov    0x4(%ecx),%ebx
5e02f0:	2b fb                	sub    %ebx,%edi
5e02f2:	89 19                	mov    %ebx,(%ecx)
5e02f4:	83 61 08 00          	andl   $0x0,0x8(%ecx)
5e02f8:	85 ff                	test   %edi,%edi
5e02fa:	7e 33                	jle    0x5e032f
5e02fc:	51                   	push   %ecx
5e02fd:	e8 19 5a 00 00       	call   0x5e5d1b
5e0302:	ff 75 0c             	push   0xc(%ebp)
5e0305:	57                   	push   %edi
5e0306:	53                   	push   %ebx
5e0307:	50                   	push   %eax
5e0308:	e8 b5 42 00 00       	call   0x5e45c2
5e030d:	83 c4 14             	add    $0x14,%esp
5e0310:	3b f8                	cmp    %eax,%edi
5e0312:	74 0b                	je     0x5e031f
5e0314:	6a 10                	push   $0x10
5e0316:	58                   	pop    %eax
5e0317:	f0 09 06             	lock or %eax,(%esi)
5e031a:	83 c8 ff             	or     $0xffffffff,%eax
5e031d:	eb 12                	jmp    0x5e0331
5e031f:	8b 06                	mov    (%esi),%eax
5e0321:	90                   	nop
5e0322:	c1 e8 02             	shr    $0x2,%eax
5e0325:	a8 01                	test   $0x1,%al
5e0327:	74 06                	je     0x5e032f
5e0329:	6a fd                	push   $0xfffffffd
5e032b:	58                   	pop    %eax
5e032c:	f0 21 06             	lock and %eax,(%esi)
5e032f:	33 c0                	xor    %eax,%eax
5e0331:	5f                   	pop    %edi
5e0332:	5e                   	pop    %esi
5e0333:	5b                   	pop    %ebx
5e0334:	5d                   	pop    %ebp
5e0335:	c3                   	ret
5e0336:	8b ff                	mov    %edi,%edi
5e0338:	55                   	push   %ebp
5e0339:	8b ec                	mov    %esp,%ebp
5e033b:	83 ec 28             	sub    $0x28,%esp
5e033e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e0341:	56                   	push   %esi
5e0342:	57                   	push   %edi
5e0343:	33 f6                	xor    %esi,%esi
5e0345:	56                   	push   %esi
5e0346:	e8 89 5b ff ff       	call   0x5d5ed4
5e034b:	8b 7d 08             	mov    0x8(%ebp),%edi
5e034e:	85 ff                	test   %edi,%edi
5e0350:	75 0b                	jne    0x5e035d
5e0352:	56                   	push   %esi
5e0353:	e8 d4 fe ff ff       	call   0x5e022c
5e0358:	59                   	pop    %ecx
5e0359:	8b f0                	mov    %eax,%esi
5e035b:	eb 30                	jmp    0x5e038d
5e035d:	8d 45 d8             	lea    -0x28(%ebp),%eax
5e0360:	50                   	push   %eax
5e0361:	57                   	push   %edi
5e0362:	e8 66 ff ff ff       	call   0x5e02cd
5e0367:	59                   	pop    %ecx
5e0368:	59                   	pop    %ecx
5e0369:	85 c0                	test   %eax,%eax
5e036b:	75 1d                	jne    0x5e038a
5e036d:	8b 47 0c             	mov    0xc(%edi),%eax
5e0370:	90                   	nop
5e0371:	c1 e8 0b             	shr    $0xb,%eax
5e0374:	a8 01                	test   $0x1,%al
5e0376:	74 15                	je     0x5e038d
5e0378:	57                   	push   %edi
5e0379:	e8 9d 59 00 00       	call   0x5e5d1b
5e037e:	50                   	push   %eax
5e037f:	e8 98 d9 00 00       	call   0x5edd1c
5e0384:	59                   	pop    %ecx
5e0385:	59                   	pop    %ecx
5e0386:	85 c0                	test   %eax,%eax
5e0388:	74 03                	je     0x5e038d
5e038a:	83 ce ff             	or     $0xffffffff,%esi
5e038d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e0390:	e8 87 5b ff ff       	call   0x5d5f1c
5e0395:	5f                   	pop    %edi
5e0396:	8b c6                	mov    %esi,%eax
5e0398:	5e                   	pop    %esi
5e0399:	c9                   	leave
5e039a:	c3                   	ret
5e039b:	6a 01                	push   $0x1
5e039d:	e8 8a fe ff ff       	call   0x5e022c
5e03a2:	59                   	pop    %ecx
5e03a3:	c3                   	ret
5e03a4:	8b ff                	mov    %edi,%edi
5e03a6:	55                   	push   %ebp
5e03a7:	8b ec                	mov    %esp,%ebp
5e03a9:	83 ec 14             	sub    $0x14,%esp
5e03ac:	8b 45 08             	mov    0x8(%ebp),%eax
5e03af:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e03b2:	85 c0                	test   %eax,%eax
5e03b4:	75 09                	jne    0x5e03bf
5e03b6:	50                   	push   %eax
5e03b7:	e8 70 fe ff ff       	call   0x5e022c
5e03bc:	59                   	pop    %ecx
5e03bd:	c9                   	leave
5e03be:	c3                   	ret
5e03bf:	8b 40 0c             	mov    0xc(%eax),%eax
5e03c2:	90                   	nop
5e03c3:	50                   	push   %eax
5e03c4:	e8 e1 fe ff ff       	call   0x5e02aa
5e03c9:	59                   	pop    %ecx
5e03ca:	84 c0                	test   %al,%al
5e03cc:	75 04                	jne    0x5e03d2
5e03ce:	33 c0                	xor    %eax,%eax
5e03d0:	c9                   	leave
5e03d1:	c3                   	ret
5e03d2:	8d 45 f8             	lea    -0x8(%ebp),%eax
5e03d5:	89 45 f0             	mov    %eax,-0x10(%ebp)
5e03d8:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5e03db:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e03de:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e03e1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5e03e4:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e03e7:	50                   	push   %eax
5e03e8:	8d 45 f0             	lea    -0x10(%ebp),%eax
5e03eb:	50                   	push   %eax
5e03ec:	8d 45 ec             	lea    -0x14(%ebp),%eax
5e03ef:	50                   	push   %eax
5e03f0:	e8 d7 fd ff ff       	call   0x5e01cc
5e03f5:	c9                   	leave
5e03f6:	c3                   	ret
5e03f7:	8b ff                	mov    %edi,%edi
5e03f9:	55                   	push   %ebp
5e03fa:	8b ec                	mov    %esp,%ebp
5e03fc:	83 ec 14             	sub    $0x14,%esp
5e03ff:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e0402:	53                   	push   %ebx
5e0403:	56                   	push   %esi
5e0404:	e8 d2 a3 ff ff       	call   0x5da7db
5e0409:	84 c0                	test   %al,%al
5e040b:	74 2f                	je     0x5e043c
5e040d:	8b 75 14             	mov    0x14(%ebp),%esi
5e0410:	85 f6                	test   %esi,%esi
5e0412:	74 3d                	je     0x5e0451
5e0414:	83 fe 02             	cmp    $0x2,%esi
5e0417:	7c 05                	jl     0x5e041e
5e0419:	83 fe 24             	cmp    $0x24,%esi
5e041c:	7e 33                	jle    0x5e0451
5e041e:	8b 45 08             	mov    0x8(%ebp),%eax
5e0421:	50                   	push   %eax
5e0422:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e0426:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e042d:	33 c0                	xor    %eax,%eax
5e042f:	50                   	push   %eax
5e0430:	50                   	push   %eax
5e0431:	50                   	push   %eax
5e0432:	50                   	push   %eax
5e0433:	50                   	push   %eax
5e0434:	e8 2a 5d ff ff       	call   0x5d6163
5e0439:	83 c4 18             	add    $0x18,%esp
5e043c:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e043f:	85 c9                	test   %ecx,%ecx
5e0441:	0f 84 8a 01 00 00    	je     0x5e05d1