558eed:	cc                   	int3
558eee:	cc                   	int3
558eef:	cc                   	int3
558ef0:	55                   	push   %ebp
558ef1:	8b ec                	mov    %esp,%ebp
558ef3:	83 ec 08             	sub    $0x8,%esp
558ef6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
558efa:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
558f01:	0f 8e c2 00 00 00    	jle    0x558fc9
558f07:	53                   	push   %ebx
558f08:	56                   	push   %esi
558f09:	8b 75 08             	mov    0x8(%ebp),%esi
558f0c:	33 db                	xor    %ebx,%ebx
558f0e:	57                   	push   %edi
558f0f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
558f12:	8a 16                	mov    (%esi),%dl
558f14:	8a c2                	mov    %dl,%al
558f16:	3c ad                	cmp    $0xad,%al
558f18:	75 03                	jne    0x558f1d
558f1a:	8a 46 02             	mov    0x2(%esi),%al
558f1d:	3c ae                	cmp    $0xae,%al
558f1f:	75 07                	jne    0x558f28
558f21:	8b 4e 14             	mov    0x14(%esi),%ecx
558f24:	8b 01                	mov    (%ecx),%eax
558f26:	eb 0c                	jmp    0x558f34
558f28:	3c 88                	cmp    $0x88,%al
558f2a:	75 27                	jne    0x558f53
558f2c:	8b 4e 14             	mov    0x14(%esi),%ecx
558f2f:	8b 41 1c             	mov    0x1c(%ecx),%eax
558f32:	8b 00                	mov    (%eax),%eax
558f34:	83 f8 01             	cmp    $0x1,%eax
558f37:	7e 1a                	jle    0x558f53
558f39:	80 fa 88             	cmp    $0x88,%dl
558f3c:	74 0c                	je     0x558f4a
558f3e:	80 7e 02 88          	cmpb   $0x88,0x2(%esi)
558f42:	74 06                	je     0x558f4a
558f44:	8b 7c 0b 04          	mov    0x4(%ebx,%ecx,1),%edi
558f48:	eb 0b                	jmp    0x558f55
558f4a:	8b 41 1c             	mov    0x1c(%ecx),%eax
558f4d:	8b 7c 18 04          	mov    0x4(%eax,%ebx,1),%edi
558f51:	eb 02                	jmp    0x558f55
558f53:	8b fe                	mov    %esi,%edi
558f55:	8b 45 fc             	mov    -0x4(%ebp),%eax
558f58:	8b 4d 10             	mov    0x10(%ebp),%ecx
558f5b:	57                   	push   %edi
558f5c:	8a 1c 08             	mov    (%eax,%ecx,1),%bl
558f5f:	e8 4c a6 fc ff       	call   0x5235b0
558f64:	83 c4 04             	add    $0x4,%esp
558f67:	3c 40                	cmp    $0x40,%al
558f69:	7e 15                	jle    0x558f80
558f6b:	80 fb 40             	cmp    $0x40,%bl
558f6e:	7e 0b                	jle    0x558f7b
558f70:	3c 43                	cmp    $0x43,%al
558f72:	7d 15                	jge    0x558f89
558f74:	80 fb 43             	cmp    $0x43,%bl
558f77:	7c 28                	jl     0x558fa1
558f79:	eb 0e                	jmp    0x558f89
558f7b:	0f be c0             	movsbl %al,%eax
558f7e:	eb 03                	jmp    0x558f83
558f80:	0f be c3             	movsbl %bl,%eax
558f83:	0c 40                	or     $0x40,%al
558f85:	3c 41                	cmp    $0x41,%al
558f87:	74 18                	je     0x558fa1
558f89:	8b 4d 10             	mov    0x10(%ebp),%ecx
558f8c:	8b 45 fc             	mov    -0x4(%ebp),%eax
558f8f:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
558f93:	50                   	push   %eax
558f94:	57                   	push   %edi
558f95:	e8 e6 eb fc ff       	call   0x527b80
558f9a:	83 c4 08             	add    $0x8,%esp
558f9d:	85 c0                	test   %eax,%eax
558f9f:	74 0c                	je     0x558fad
558fa1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
558fa4:	8b 45 10             	mov    0x10(%ebp),%eax
558fa7:	c6 04 01 41          	movb   $0x41,(%ecx,%eax,1)
558fab:	eb 03                	jmp    0x558fb0
558fad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
558fb0:	8b 5d f8             	mov    -0x8(%ebp),%ebx
558fb3:	41                   	inc    %ecx
558fb4:	83 c3 14             	add    $0x14,%ebx
558fb7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
558fba:	89 5d f8             	mov    %ebx,-0x8(%ebp)
558fbd:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
558fc0:	0f 8c 4c ff ff ff    	jl     0x558f12
558fc6:	5f                   	pop    %edi
558fc7:	5e                   	pop    %esi
558fc8:	5b                   	pop    %ebx
558fc9:	8b e5                	mov    %ebp,%esp
558fcb:	5d                   	pop    %ebp
558fcc:	c3                   	ret
558fcd:	cc                   	int3
558fce:	cc                   	int3
558fcf:	cc                   	int3
558fd0:	55                   	push   %ebp
558fd1:	8b ec                	mov    %esp,%ebp
558fd3:	83 ec 28             	sub    $0x28,%esp
558fd6:	8b 4d 10             	mov    0x10(%ebp),%ecx
558fd9:	53                   	push   %ebx
558fda:	56                   	push   %esi
558fdb:	57                   	push   %edi
558fdc:	8b 7d 08             	mov    0x8(%ebp),%edi
558fdf:	8b 59 40             	mov    0x40(%ecx),%ebx
558fe2:	89 5d ec             	mov    %ebx,-0x14(%ebp)
558fe5:	8b 77 08             	mov    0x8(%edi),%esi
558fe8:	8b 07                	mov    (%edi),%eax
558fea:	85 db                	test   %ebx,%ebx
558fec:	74 10                	je     0x558ffe
558fee:	66 90                	xchg   %ax,%ax
558ff0:	39 03                	cmp    %eax,(%ebx)
558ff2:	74 07                	je     0x558ffb
558ff4:	8b 5b 18             	mov    0x18(%ebx),%ebx
558ff7:	85 db                	test   %ebx,%ebx
558ff9:	75 f5                	jne    0x558ff0
558ffb:	89 5d ec             	mov    %ebx,-0x14(%ebp)
558ffe:	0f bf 41 2a          	movswl 0x2a(%ecx),%eax
559002:	8b 57 28             	mov    0x28(%edi),%edx
559005:	83 c0 02             	add    $0x2,%eax
559008:	89 45 f4             	mov    %eax,-0xc(%ebp)
55900b:	8b 45 0c             	mov    0xc(%ebp),%eax
55900e:	89 55 f0             	mov    %edx,-0x10(%ebp)
559011:	8b 40 34             	mov    0x34(%eax),%eax
559014:	89 45 f8             	mov    %eax,-0x8(%ebp)
559017:	8d 42 01             	lea    0x1(%edx),%eax
55901a:	89 47 28             	mov    %eax,0x28(%edi)
55901d:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559020:	89 4d e8             	mov    %ecx,-0x18(%ebp)
559023:	39 4e 70             	cmp    %ecx,0x70(%esi)
559026:	7f 16                	jg     0x55903e
559028:	6a 00                	push   $0x0
55902a:	ff 75 f4             	push   -0xc(%ebp)
55902d:	52                   	push   %edx
55902e:	6a 64                	push   $0x64
559030:	56                   	push   %esi
559031:	e8 ca d4 fa ff       	call   0x506500
559036:	83 c4 14             	add    $0x14,%esp
559039:	89 45 e8             	mov    %eax,-0x18(%ebp)
55903c:	eb 31                	jmp    0x55906f
55903e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
559041:	8d 41 01             	lea    0x1(%ecx),%eax
559044:	89 46 6c             	mov    %eax,0x6c(%esi)
559047:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55904a:	8b 46 68             	mov    0x68(%esi),%eax
55904d:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
559051:	8b 55 f4             	mov    -0xc(%ebp),%edx
559054:	c7 04 88 64 00 00 00 	movl   $0x64,(%eax,%ecx,4)
55905b:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
55905f:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
559066:	00
559067:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
55906e:	00
55906f:	8b 47 2c             	mov    0x2c(%edi),%eax
559072:	6a 00                	push   $0x0
559074:	6a 04                	push   $0x4
559076:	6a 00                	push   $0x0
559078:	8d 48 01             	lea    0x1(%eax),%ecx
55907b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
55907e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
559081:	6a 00                	push   $0x0
559083:	ff 75 20             	push   0x20(%ebp)
559086:	41                   	inc    %ecx
559087:	ff 75 0c             	push   0xc(%ebp)
55908a:	03 c1                	add    %ecx,%eax
55908c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
55908f:	40                   	inc    %eax
559090:	57                   	push   %edi
559091:	89 45 e0             	mov    %eax,-0x20(%ebp)
559094:	89 47 2c             	mov    %eax,0x2c(%edi)
559097:	e8 e4 6e ff ff       	call   0x54ff80
55909c:	83 c4 1c             	add    $0x1c,%esp
55909f:	89 45 dc             	mov    %eax,-0x24(%ebp)
5590a2:	85 c0                	test   %eax,%eax
5590a4:	0f 84 b3 06 00 00    	je     0x55975d
5590aa:	8b 45 10             	mov    0x10(%ebp),%eax
5590ad:	33 c9                	xor    %ecx,%ecx
5590af:	66 3b 48 2a          	cmp    0x2a(%eax),%cx
5590b3:	0f 8d 84 00 00 00    	jge    0x55913d
5590b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5590bc:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
5590c1:	8b 5d 08             	mov    0x8(%ebp),%ebx
5590c4:	2b d0                	sub    %eax,%edx
5590c6:	89 55 0c             	mov    %edx,0xc(%ebp)
5590c9:	8d 78 02             	lea    0x2(%eax),%edi
5590cc:	0f 1f 40 00          	nopl   0x0(%eax)
5590d0:	8b 45 1c             	mov    0x1c(%ebp),%eax
5590d3:	8b 00                	mov    (%eax),%eax
5590d5:	85 c0                	test   %eax,%eax
5590d7:	0f 88 91 00 00 00    	js     0x55916e
5590dd:	8b 4d 14             	mov    0x14(%ebp),%ecx
5590e0:	8d 04 80             	lea    (%eax,%eax,4),%eax
5590e3:	57                   	push   %edi
5590e4:	8b 44 81 04          	mov    0x4(%ecx,%eax,4),%eax
5590e8:	50                   	push   %eax
5590e9:	53                   	push   %ebx
5590ea:	89 45 d8             	mov    %eax,-0x28(%ebp)
5590ed:	e8 5e c1 fc ff       	call   0x525250
5590f2:	83 c4 0c             	add    $0xc,%esp
5590f5:	3b c7                	cmp    %edi,%eax
5590f7:	74 25                	je     0x55911e
5590f9:	8b 4b 08             	mov    0x8(%ebx),%ecx
5590fc:	85 c9                	test   %ecx,%ecx
5590fe:	74 1e                	je     0x55911e
559100:	57                   	push   %edi
559101:	50                   	push   %eax
559102:	8b 45 d8             	mov    -0x28(%ebp),%eax
559105:	8b 40 04             	mov    0x4(%eax),%eax
559108:	25 00 00 20 00       	and    $0x200000,%eax
55910d:	f7 d8                	neg    %eax
55910f:	1b c0                	sbb    %eax,%eax
559111:	83 c0 4e             	add    $0x4e,%eax
559114:	50                   	push   %eax
559115:	51                   	push   %ecx
559116:	e8 c5 89 fe ff       	call   0x541ae0
55911b:	83 c4 10             	add    $0x10,%esp
55911e:	8b 55 0c             	mov    0xc(%ebp),%edx
559121:	8b 45 10             	mov    0x10(%ebp),%eax
559124:	47                   	inc    %edi
559125:	83 45 1c 04          	addl   $0x4,0x1c(%ebp)
559129:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
55912d:	8d 0c 3a             	lea    (%edx,%edi,1),%ecx
559130:	3b c8                	cmp    %eax,%ecx
559132:	7c 9c                	jl     0x5590d0
559134:	8b 5d ec             	mov    -0x14(%ebp),%ebx
559137:	8b 7d 08             	mov    0x8(%ebp),%edi
55913a:	8b 45 10             	mov    0x10(%ebp),%eax
55913d:	f6 40 24 80          	testb  $0x80,0x24(%eax)
559141:	0f 85 d4 01 00 00    	jne    0x55931b
559147:	8b 4e 6c             	mov    0x6c(%esi),%ecx
55914a:	39 4e 70             	cmp    %ecx,0x70(%esi)
55914d:	0f 8f 8f 00 00 00    	jg     0x5591e2
559153:	6a 00                	push   $0x0
559155:	ff 75 fc             	push   -0x4(%ebp)
559158:	ff 75 f8             	push   -0x8(%ebp)
55915b:	6a 7f                	push   $0x7f
55915d:	56                   	push   %esi
55915e:	e8 9d d3 fa ff       	call   0x506500
559163:	8b 55 fc             	mov    -0x4(%ebp),%edx
559166:	83 c4 14             	add    $0x14,%esp
559169:	e9 a5 00 00 00       	jmp    0x559213
55916e:	8b 4e 6c             	mov    0x6c(%esi),%ecx
559171:	39 4e 70             	cmp    %ecx,0x70(%esi)
559174:	7f 1b                	jg     0x559191
559176:	57                   	push   %edi
559177:	8d 04 3a             	lea    (%edx,%edi,1),%eax
55917a:	50                   	push   %eax
55917b:	ff 75 f8             	push   -0x8(%ebp)
55917e:	68 a6 00 00 00       	push   $0xa6
559183:	56                   	push   %esi
559184:	e8 77 d3 fa ff       	call   0x506500
559189:	8b 55 0c             	mov    0xc(%ebp),%edx
55918c:	83 c4 14             	add    $0x14,%esp
55918f:	eb 2e                	jmp    0x5591bf
559191:	8d 41 01             	lea    0x1(%ecx),%eax
559194:	89 46 6c             	mov    %eax,0x6c(%esi)
559197:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55919a:	8b 46 68             	mov    0x68(%esi),%eax
55919d:	c7 04 88 a6 00 00 00 	movl   $0xa6,(%eax,%ecx,4)
5591a4:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
5591a8:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5591af:	00
5591b0:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5591b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
5591b6:	89 41 04             	mov    %eax,0x4(%ecx)
5591b9:	8d 04 3a             	lea    (%edx,%edi,1),%eax
5591bc:	89 41 08             	mov    %eax,0x8(%ecx)
5591bf:	8b 46 6c             	mov    0x6c(%esi),%eax
5591c2:	85 c0                	test   %eax,%eax
5591c4:	0f 8e 57 ff ff ff    	jle    0x559121
5591ca:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5591cd:	bb 01 00 00 00       	mov    $0x1,%ebx
5591d2:	8b 46 68             	mov    0x68(%esi),%eax
5591d5:	66 89 5c 88 ee       	mov    %bx,-0x12(%eax,%ecx,4)
5591da:	8b 5d 08             	mov    0x8(%ebp),%ebx
5591dd:	e9 3f ff ff ff       	jmp    0x559121
5591e2:	8b 55 f8             	mov    -0x8(%ebp),%edx
5591e5:	8d 41 01             	lea    0x1(%ecx),%eax
5591e8:	89 46 6c             	mov    %eax,0x6c(%esi)
5591eb:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5591ee:	8b 46 68             	mov    0x68(%esi),%eax
5591f1:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5591f5:	8b 55 fc             	mov    -0x4(%ebp),%edx
5591f8:	c7 04 88 7f 00 00 00 	movl   $0x7f,(%eax,%ecx,4)
5591ff:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
559203:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
55920a:	00
55920b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
559212:	00
559213:	8b 45 18             	mov    0x18(%ebp),%eax
559216:	85 c0                	test   %eax,%eax
559218:	74 3f                	je     0x559259
55921a:	8d 4a 01             	lea    0x1(%edx),%ecx
55921d:	51                   	push   %ecx
55921e:	50                   	push   %eax
55921f:	57                   	push   %edi
559220:	89 4d 0c             	mov    %ecx,0xc(%ebp)
559223:	e8 28 c0 fc ff       	call   0x525250
559228:	8b 4d 0c             	mov    0xc(%ebp),%ecx
55922b:	83 c4 0c             	add    $0xc,%esp
55922e:	3b c1                	cmp    %ecx,%eax
559230:	74 43                	je     0x559275
559232:	8b 57 08             	mov    0x8(%edi),%edx
559235:	85 d2                	test   %edx,%edx
559237:	74 3c                	je     0x559275
559239:	51                   	push   %ecx
55923a:	50                   	push   %eax
55923b:	8b 45 18             	mov    0x18(%ebp),%eax
55923e:	8b 40 04             	mov    0x4(%eax),%eax
559241:	25 00 00 20 00       	and    $0x200000,%eax
559246:	f7 d8                	neg    %eax
559248:	1b c0                	sbb    %eax,%eax
55924a:	83 c0 4e             	add    $0x4e,%eax
55924d:	50                   	push   %eax
55924e:	52                   	push   %edx
55924f:	e8 8c 88 fe ff       	call   0x541ae0
559254:	83 c4 10             	add    $0x10,%esp
559257:	eb 1c                	jmp    0x559275
559259:	8b 4e 6c             	mov    0x6c(%esi),%ecx
55925c:	8d 42 01             	lea    0x1(%edx),%eax
55925f:	39 4e 70             	cmp    %ecx,0x70(%esi)
559262:	7f 7e                	jg     0x5592e2
559264:	6a 00                	push   $0x0
559266:	50                   	push   %eax
559267:	ff 75 f8             	push   -0x8(%ebp)
55926a:	6a 7f                	push   $0x7f
55926c:	56                   	push   %esi
55926d:	e8 8e d2 fa ff       	call   0x506500
559272:	83 c4 14             	add    $0x14,%esp
559275:	8b 55 fc             	mov    -0x4(%ebp),%edx
559278:	8b 45 dc             	mov    -0x24(%ebp),%eax
55927b:	0f b6 40 2e          	movzbl 0x2e(%eax),%eax
55927f:	89 45 0c             	mov    %eax,0xc(%ebp)
559282:	85 c0                	test   %eax,%eax
559284:	0f 84 79 01 00 00    	je     0x559403
55928a:	8b 16                	mov    (%esi),%edx
55928c:	80 7a 51 00          	cmpb   $0x0,0x51(%edx)
559290:	75 2a                	jne    0x5592bc
559292:	8b 45 e8             	mov    -0x18(%ebp),%eax
559295:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
559298:	8b 46 68             	mov    0x68(%esi),%eax
55929b:	ff 74 88 10          	push   0x10(%eax,%ecx,4)
55929f:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
5592a2:	0f be 47 01          	movsbl 0x1(%edi),%eax
5592a6:	50                   	push   %eax
5592a7:	52                   	push   %edx
5592a8:	e8 03 aa fa ff       	call   0x503cb0
5592ad:	83 c4 0c             	add    $0xc,%esp
5592b0:	66 c7 07 ad 00       	movw   $0xad,(%edi)
5592b5:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5592bc:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5592bf:	39 4e 70             	cmp    %ecx,0x70(%esi)
5592c2:	0f 8f 09 01 00 00    	jg     0x5593d1