56003c:	83 c4 08             	add    $0x8,%esp
56003f:	85 c0                	test   %eax,%eax
560041:	75 e2                	jne    0x560025
560043:	f7 46 04 00 00 00 01 	testl  $0x1000000,0x4(%esi)
56004a:	74 0b                	je     0x560057
56004c:	ff 76 2c             	push   0x2c(%esi)
56004f:	57                   	push   %edi
560050:	e8 0b 00 00 00       	call   0x560060
560055:	eb c7                	jmp    0x56001e
560057:	5f                   	pop    %edi
560058:	33 c0                	xor    %eax,%eax
56005a:	5e                   	pop    %esi
56005b:	5d                   	pop    %ebp
56005c:	c3                   	ret
56005d:	cc                   	int3
56005e:	cc                   	int3
56005f:	cc                   	int3
560060:	55                   	push   %ebp
560061:	8b ec                	mov    %esp,%ebp
560063:	53                   	push   %ebx
560064:	8b 5d 0c             	mov    0xc(%ebp),%ebx
560067:	56                   	push   %esi
560068:	57                   	push   %edi
560069:	85 db                	test   %ebx,%ebx
56006b:	0f 84 b9 00 00 00    	je     0x56012a
560071:	8b 7b 0c             	mov    0xc(%ebx),%edi
560074:	8b 4d 08             	mov    0x8(%ebp),%ecx
560077:	85 ff                	test   %edi,%edi
560079:	74 2c                	je     0x5600a7
56007b:	8b 37                	mov    (%edi),%esi
56007d:	83 c7 04             	add    $0x4,%edi
560080:	85 f6                	test   %esi,%esi
560082:	7e 23                	jle    0x5600a7
560084:	8b 07                	mov    (%edi),%eax
560086:	85 c0                	test   %eax,%eax
560088:	74 15                	je     0x56009f
56008a:	50                   	push   %eax
56008b:	51                   	push   %ecx
56008c:	e8 1f ff ff ff       	call   0x55ffb0
560091:	83 c4 08             	add    $0x8,%esp
560094:	85 c0                	test   %eax,%eax
560096:	0f 85 84 00 00 00    	jne    0x560120
56009c:	8b 4d 08             	mov    0x8(%ebp),%ecx
56009f:	4e                   	dec    %esi
5600a0:	83 c7 14             	add    $0x14,%edi
5600a3:	85 f6                	test   %esi,%esi
5600a5:	7f dd                	jg     0x560084
5600a7:	8b 7b 08             	mov    0x8(%ebx),%edi
5600aa:	85 ff                	test   %edi,%edi
5600ac:	74 28                	je     0x5600d6
5600ae:	8b 37                	mov    (%edi),%esi
5600b0:	83 c7 04             	add    $0x4,%edi
5600b3:	85 f6                	test   %esi,%esi
5600b5:	7e 1f                	jle    0x5600d6
5600b7:	8b 07                	mov    (%edi),%eax
5600b9:	85 c0                	test   %eax,%eax
5600bb:	74 0e                	je     0x5600cb
5600bd:	50                   	push   %eax
5600be:	51                   	push   %ecx
5600bf:	e8 ec fe ff ff       	call   0x55ffb0
5600c4:	83 c4 08             	add    $0x8,%esp
5600c7:	85 c0                	test   %eax,%eax
5600c9:	75 55                	jne    0x560120
5600cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
5600ce:	4e                   	dec    %esi
5600cf:	83 c7 14             	add    $0x14,%edi
5600d2:	85 f6                	test   %esi,%esi
5600d4:	7f e1                	jg     0x5600b7
5600d6:	8b 43 28             	mov    0x28(%ebx),%eax
5600d9:	8b 75 08             	mov    0x8(%ebp),%esi
5600dc:	85 c0                	test   %eax,%eax
5600de:	74 0e                	je     0x5600ee
5600e0:	50                   	push   %eax
5600e1:	56                   	push   %esi
5600e2:	e8 c9 fe ff ff       	call   0x55ffb0
5600e7:	83 c4 08             	add    $0x8,%esp
5600ea:	85 c0                	test   %eax,%eax
5600ec:	75 32                	jne    0x560120
5600ee:	8b 43 18             	mov    0x18(%ebx),%eax
5600f1:	85 c0                	test   %eax,%eax
5600f3:	74 0e                	je     0x560103
5600f5:	50                   	push   %eax
5600f6:	56                   	push   %esi
5600f7:	e8 b4 fe ff ff       	call   0x55ffb0
5600fc:	83 c4 08             	add    $0x8,%esp
5600ff:	85 c0                	test   %eax,%eax
560101:	75 1d                	jne    0x560120
560103:	8b 43 1c             	mov    0x1c(%ebx),%eax
560106:	85 c0                	test   %eax,%eax
560108:	74 0e                	je     0x560118
56010a:	50                   	push   %eax
56010b:	56                   	push   %esi
56010c:	e8 9f fe ff ff       	call   0x55ffb0
560111:	83 c4 08             	add    $0x8,%esp
560114:	85 c0                	test   %eax,%eax
560116:	75 08                	jne    0x560120
560118:	8b 5b 24             	mov    0x24(%ebx),%ebx
56011b:	e9 49 ff ff ff       	jmp    0x560069
560120:	5f                   	pop    %edi
560121:	5e                   	pop    %esi
560122:	b8 02 00 00 00       	mov    $0x2,%eax
560127:	5b                   	pop    %ebx
560128:	5d                   	pop    %ebp
560129:	c3                   	ret
56012a:	5f                   	pop    %edi
56012b:	5e                   	pop    %esi
56012c:	33 c0                	xor    %eax,%eax
56012e:	5b                   	pop    %ebx
56012f:	5d                   	pop    %ebp
560130:	c3                   	ret
560131:	cc                   	int3
560132:	cc                   	int3
560133:	cc                   	int3
560134:	cc                   	int3
560135:	cc                   	int3
560136:	cc                   	int3
560137:	cc                   	int3
560138:	cc                   	int3
560139:	cc                   	int3
56013a:	cc                   	int3
56013b:	cc                   	int3
56013c:	cc                   	int3
56013d:	cc                   	int3
56013e:	cc                   	int3
56013f:	cc                   	int3
560140:	55                   	push   %ebp
560141:	8b ec                	mov    %esp,%ebp
560143:	83 ec 08             	sub    $0x8,%esp
560146:	53                   	push   %ebx
560147:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56014a:	56                   	push   %esi
56014b:	8b 75 08             	mov    0x8(%ebp),%esi
56014e:	57                   	push   %edi
56014f:	80 3e 2c             	cmpb   $0x2c,(%esi)
560152:	75 18                	jne    0x56016c
560154:	8b 7d 10             	mov    0x10(%ebp),%edi
560157:	57                   	push   %edi
560158:	53                   	push   %ebx
560159:	ff 76 0c             	push   0xc(%esi)
56015c:	e8 df ff ff ff       	call   0x560140
560161:	8b 76 10             	mov    0x10(%esi),%esi
560164:	83 c4 0c             	add    $0xc,%esp
560167:	80 3e 2c             	cmpb   $0x2c,(%esi)
56016a:	74 eb                	je     0x560157
56016c:	8b 55 10             	mov    0x10(%ebp),%edx
56016f:	33 c9                	xor    %ecx,%ecx
560171:	89 4d 08             	mov    %ecx,0x8(%ebp)
560174:	8b 42 14             	mov    0x14(%edx),%eax
560177:	89 45 fc             	mov    %eax,-0x4(%ebp)
56017a:	39 4a 0c             	cmp    %ecx,0xc(%edx)
56017d:	7e 51                	jle    0x5601d0
56017f:	90                   	nop
560180:	f6 40 0a 04          	testb  $0x4,0xa(%eax)
560184:	75 3b                	jne    0x5601c1
560186:	8b 38                	mov    (%eax),%edi
560188:	85 ff                	test   %edi,%edi
56018a:	0f 84 48 02 00 00    	je     0x5603d8
560190:	8b 5e 04             	mov    0x4(%esi),%ebx
560193:	8b cb                	mov    %ebx,%ecx
560195:	8b 47 04             	mov    0x4(%edi),%eax
560198:	0b c8                	or     %eax,%ecx
56019a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
56019d:	f7 c1 00 04 00 00    	test   $0x400,%ecx
5601a3:	74 32                	je     0x5601d7
5601a5:	8b 4d 08             	mov    0x8(%ebp),%ecx
5601a8:	23 d8                	and    %eax,%ebx
5601aa:	f7 c3 00 04 00 00    	test   $0x400,%ebx
5601b0:	74 0c                	je     0x5601be
5601b2:	8b 47 08             	mov    0x8(%edi),%eax
5601b5:	3b 46 08             	cmp    0x8(%esi),%eax
5601b8:	0f 84 3c 02 00 00    	je     0x5603fa
5601be:	8b 45 fc             	mov    -0x4(%ebp),%eax
5601c1:	41                   	inc    %ecx
5601c2:	83 c0 30             	add    $0x30,%eax
5601c5:	89 4d 08             	mov    %ecx,0x8(%ebp)
5601c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
5601cb:	3b 4a 0c             	cmp    0xc(%edx),%ecx
5601ce:	7c b0                	jl     0x560180
5601d0:	5f                   	pop    %edi
5601d1:	5e                   	pop    %esi
5601d2:	5b                   	pop    %ebx
5601d3:	8b e5                	mov    %ebp,%esp
5601d5:	5d                   	pop    %ebp
5601d6:	c3                   	ret
5601d7:	8a 07                	mov    (%edi),%al
5601d9:	3a 06                	cmp    (%esi),%al
5601db:	0f 85 b2 01 00 00    	jne    0x560393
5601e1:	3c 47                	cmp    $0x47,%al
5601e3:	0f 84 aa 01 00 00    	je     0x560393
5601e9:	3c a4                	cmp    $0xa4,%al
5601eb:	0f 84 c7 00 00 00    	je     0x5602b8
5601f1:	3c a6                	cmp    $0xa6,%al
5601f3:	0f 84 bf 00 00 00    	je     0x5602b8
5601f9:	8b 4f 08             	mov    0x8(%edi),%ecx
5601fc:	85 c9                	test   %ecx,%ecx
5601fe:	0f 84 b1 00 00 00    	je     0x5602b5
560204:	3c a9                	cmp    $0xa9,%al
560206:	74 63                	je     0x56026b
560208:	3c a5                	cmp    $0xa5,%al
56020a:	74 5f                	je     0x56026b
56020c:	3c 77                	cmp    $0x77,%al
56020e:	0f 84 e3 01 00 00    	je     0x5603f7
560214:	3c 6f                	cmp    $0x6f,%al
560216:	75 18                	jne    0x560230
560218:	ff 76 08             	push   0x8(%esi)
56021b:	51                   	push   %ecx
56021c:	e8 5f f7 f7 ff       	call   0x4df980
560221:	8b 55 10             	mov    0x10(%ebp),%edx
560224:	83 c4 08             	add    $0x8,%esp
560227:	85 c0                	test   %eax,%eax
560229:	75 38                	jne    0x560263
56022b:	e9 85 00 00 00       	jmp    0x5602b5
560230:	8b 46 08             	mov    0x8(%esi),%eax
560233:	85 c0                	test   %eax,%eax
560235:	74 7e                	je     0x5602b5
560237:	8a 11                	mov    (%ecx),%dl
560239:	3a 10                	cmp    (%eax),%dl
56023b:	75 1a                	jne    0x560257
56023d:	84 d2                	test   %dl,%dl
56023f:	74 12                	je     0x560253
560241:	8a 51 01             	mov    0x1(%ecx),%dl
560244:	3a 50 01             	cmp    0x1(%eax),%dl
560247:	75 0e                	jne    0x560257
560249:	83 c1 02             	add    $0x2,%ecx
56024c:	83 c0 02             	add    $0x2,%eax
56024f:	84 d2                	test   %dl,%dl
560251:	75 e4                	jne    0x560237
560253:	33 c0                	xor    %eax,%eax
560255:	eb 05                	jmp    0x56025c
560257:	1b c0                	sbb    %eax,%eax
560259:	83 c8 01             	or     $0x1,%eax
56025c:	8b 55 10             	mov    0x10(%ebp),%edx
56025f:	85 c0                	test   %eax,%eax
560261:	74 52                	je     0x5602b5
560263:	8b 4d 08             	mov    0x8(%ebp),%ecx
560266:	e9 53 ff ff ff       	jmp    0x5601be
56026b:	ff 76 08             	push   0x8(%esi)
56026e:	51                   	push   %ecx
56026f:	e8 bc d9 fd ff       	call   0x53dc30
560274:	83 c4 08             	add    $0x8,%esp
560277:	85 c0                	test   %eax,%eax
560279:	0f 85 4e 01 00 00    	jne    0x5603cd
56027f:	8b 47 04             	mov    0x4(%edi),%eax
560282:	33 d8                	xor    %eax,%ebx
560284:	f7 c3 00 00 00 01    	test   $0x1000000,%ebx
56028a:	0f 85 3d 01 00 00    	jne    0x5603cd
560290:	a9 00 00 00 01       	test   $0x1000000,%eax
560295:	74 1b                	je     0x5602b2
560297:	6a 01                	push   $0x1
560299:	ff 76 2c             	push   0x2c(%esi)
56029c:	ff 77 2c             	push   0x2c(%edi)
56029f:	6a 00                	push   $0x0
5602a1:	e8 8a 57 ff ff       	call   0x555a30
5602a6:	8b 55 10             	mov    0x10(%ebp),%edx
5602a9:	83 c4 10             	add    $0x10,%esp
5602ac:	85 c0                	test   %eax,%eax
5602ae:	75 b3                	jne    0x560263
5602b0:	eb 03                	jmp    0x5602b5
5602b2:	8b 55 10             	mov    0x10(%ebp),%edx
5602b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5602b8:	8b 46 04             	mov    0x4(%esi),%eax
5602bb:	33 47 04             	xor    0x4(%edi),%eax
5602be:	a9 02 02 00 00       	test   $0x202,%eax
5602c3:	75 9e                	jne    0x560263
5602c5:	f7 c1 00 40 00 00    	test   $0x4000,%ecx
5602cb:	0f 85 26 01 00 00    	jne    0x5603f7
5602d1:	f7 c1 00 08 00 00    	test   $0x800,%ecx
5602d7:	75 8a                	jne    0x560263
5602d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5602dc:	f6 c1 08             	test   $0x8,%cl
5602df:	75 19                	jne    0x5602fa
5602e1:	53                   	push   %ebx
5602e2:	ff 76 0c             	push   0xc(%esi)
5602e5:	ff 77 0c             	push   0xc(%edi)
5602e8:	6a 00                	push   $0x0
5602ea:	e8 e1 61 fc ff       	call   0x5264d0
5602ef:	83 c4 10             	add    $0x10,%esp
5602f2:	85 c0                	test   %eax,%eax
5602f4:	0f 85 d3 00 00 00    	jne    0x5603cd
5602fa:	53                   	push   %ebx
5602fb:	ff 76 10             	push   0x10(%esi)
5602fe:	ff 77 10             	push   0x10(%edi)
560301:	6a 00                	push   $0x0
560303:	e8 c8 61 fc ff       	call   0x5264d0
560308:	83 c4 10             	add    $0x10,%esp
56030b:	85 c0                	test   %eax,%eax
56030d:	0f 85 ba 00 00 00    	jne    0x5603cd
560313:	53                   	push   %ebx
560314:	ff 76 14             	push   0x14(%esi)
560317:	ff 77 14             	push   0x14(%edi)
56031a:	e8 11 75 fc ff       	call   0x527830
56031f:	83 c4 0c             	add    $0xc,%esp
560322:	85 c0                	test   %eax,%eax
560324:	0f 85 a3 00 00 00    	jne    0x5603cd
56032a:	8a 0f                	mov    (%edi),%cl
56032c:	80 f9 73             	cmp    $0x73,%cl
56032f:	0f 84 c2 00 00 00    	je     0x5603f7
560335:	80 f9 a7             	cmp    $0xa7,%cl
560338:	0f 84 b9 00 00 00    	je     0x5603f7
56033e:	f7 45 f8 00 20 00 00 	testl  $0x2000,-0x8(%ebp)
560345:	0f 85 ac 00 00 00    	jne    0x5603f7
56034b:	66 8b 47 20          	mov    0x20(%edi),%ax
56034f:	66 3b 46 20          	cmp    0x20(%esi),%ax
560353:	75 78                	jne    0x5603cd
560355:	8a 47 02             	mov    0x2(%edi),%al
560358:	3a 46 02             	cmp    0x2(%esi),%al
56035b:	74 0e                	je     0x56036b
56035d:	80 f9 ac             	cmp    $0xac,%cl
560360:	74 6b                	je     0x5603cd
560362:	80 f9 a9             	cmp    $0xa9,%cl
560365:	75 04                	jne    0x56036b
560367:	85 db                	test   %ebx,%ebx
560369:	78 62                	js     0x5603cd
56036b:	80 f9 31             	cmp    $0x31,%cl
56036e:	8b 4d 08             	mov    0x8(%ebp),%ecx
560371:	0f 84 83 00 00 00    	je     0x5603fa
560377:	8b 47 1c             	mov    0x1c(%edi),%eax
56037a:	3b 46 1c             	cmp    0x1c(%esi),%eax
56037d:	74 7b                	je     0x5603fa
56037f:	3b c3                	cmp    %ebx,%eax
560381:	75 4d                	jne    0x5603d0
560383:	8b 45 fc             	mov    -0x4(%ebp),%eax
560386:	8b 55 10             	mov    0x10(%ebp),%edx
560389:	66 83 48 0a 04       	orw    $0x4,0xa(%eax)
56038e:	e9 2e fe ff ff       	jmp    0x5601c1
560393:	8b 5d 0c             	mov    0xc(%ebp),%ebx
560396:	3c 6f                	cmp    $0x6f,%al
560398:	75 1b                	jne    0x5603b5
56039a:	53                   	push   %ebx
56039b:	56                   	push   %esi
56039c:	ff 77 0c             	push   0xc(%edi)
56039f:	6a 00                	push   $0x0
5603a1:	e8 2a 61 fc ff       	call   0x5264d0
5603a6:	8b 55 10             	mov    0x10(%ebp),%edx
5603a9:	83 c4 10             	add    $0x10,%esp
5603ac:	83 f8 02             	cmp    $0x2,%eax
5603af:	0f 8c ae fe ff ff    	jl     0x560263
5603b5:	80 3e 6f             	cmpb   $0x6f,(%esi)
5603b8:	0f 85 a5 fe ff ff    	jne    0x560263
5603be:	53                   	push   %ebx
5603bf:	ff 76 0c             	push   0xc(%esi)
5603c2:	57                   	push   %edi
5603c3:	6a 00                	push   $0x0
5603c5:	e8 06 61 fc ff       	call   0x5264d0
5603ca:	83 c4 10             	add    $0x10,%esp
5603cd:	8b 4d 08             	mov    0x8(%ebp),%ecx
5603d0:	8b 55 10             	mov    0x10(%ebp),%edx
5603d3:	e9 e6 fd ff ff       	jmp    0x5601be
5603d8:	8b c6                	mov    %esi,%eax
5603da:	f7 d8                	neg    %eax