558d0c:	c6 40 01 fe          	movb   $0xfe,0x1(%eax)
558d10:	8b 45 f4             	mov    -0xc(%ebp),%eax
558d13:	8b 4f 6c             	mov    0x6c(%edi),%ecx
558d16:	8b 5d fc             	mov    -0x4(%ebp),%ebx
558d19:	8b 50 08             	mov    0x8(%eax),%edx
558d1c:	39 4f 70             	cmp    %ecx,0x70(%edi)
558d1f:	7f 14                	jg     0x558d35
558d21:	52                   	push   %edx
558d22:	53                   	push   %ebx
558d23:	6a 00                	push   $0x0
558d25:	68 9a 00 00 00       	push   $0x9a
558d2a:	57                   	push   %edi
558d2b:	e8 d0 d7 fa ff       	call   0x506500
558d30:	83 c4 14             	add    $0x14,%esp
558d33:	eb 2b                	jmp    0x558d60
558d35:	8d 41 01             	lea    0x1(%ecx),%eax
558d38:	89 47 6c             	mov    %eax,0x6c(%edi)
558d3b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
558d3e:	8b 47 68             	mov    0x68(%edi),%eax
558d41:	c7 04 88 9a 00 00 00 	movl   $0x9a,(%eax,%ecx,4)
558d48:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
558d4f:	00
558d50:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
558d54:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
558d58:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
558d5f:	00
558d60:	8b 45 f4             	mov    -0xc(%ebp),%eax
558d63:	8b 50 04             	mov    0x4(%eax),%edx
558d66:	8b 07                	mov    (%edi),%eax
558d68:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
558d6c:	74 0e                	je     0x558d7c
558d6e:	52                   	push   %edx
558d6f:	6a f8                	push   $0xfffffff8
558d71:	50                   	push   %eax
558d72:	e8 39 af fa ff       	call   0x503cb0
558d77:	83 c4 0c             	add    $0xc,%esp
558d7a:	eb 12                	jmp    0x558d8e
558d7c:	8b 47 6c             	mov    0x6c(%edi),%eax
558d7f:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
558d82:	8b 47 68             	mov    0x68(%edi),%eax
558d85:	c6 44 88 ed f8       	movb   $0xf8,-0x13(%eax,%ecx,4)
558d8a:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
558d8e:	8b 4f 6c             	mov    0x6c(%edi),%ecx
558d91:	85 c9                	test   %ecx,%ecx
558d93:	7e 11                	jle    0x558da6
558d95:	8b 45 f0             	mov    -0x10(%ebp),%eax
558d98:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
558d9b:	0f b6 d0             	movzbl %al,%edx
558d9e:	8b 47 68             	mov    0x68(%edi),%eax
558da1:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
558da6:	8b 45 f0             	mov    -0x10(%ebp),%eax
558da9:	83 f8 01             	cmp    $0x1,%eax
558dac:	75 1a                	jne    0x558dc8
558dae:	85 db                	test   %ebx,%ebx
558db0:	74 21                	je     0x558dd3
558db2:	8a 46 13             	mov    0x13(%esi),%al
558db5:	3c 08                	cmp    $0x8,%al
558db7:	73 1a                	jae    0x558dd3
558db9:	0f b6 c0             	movzbl %al,%eax
558dbc:	89 9c 86 94 00 00 00 	mov    %ebx,0x94(%esi,%eax,4)
558dc3:	fe 46 13             	incb   0x13(%esi)
558dc6:	eb 0b                	jmp    0x558dd3
558dc8:	3b 46 1c             	cmp    0x1c(%esi),%eax
558dcb:	7e 06                	jle    0x558dd3
558dcd:	89 46 1c             	mov    %eax,0x1c(%esi)
558dd0:	89 5e 20             	mov    %ebx,0x20(%esi)
558dd3:	8b 55 ec             	mov    -0x14(%ebp),%edx
558dd6:	85 d2                	test   %edx,%edx
558dd8:	74 23                	je     0x558dfd
558dda:	8b 4f 0c             	mov    0xc(%edi),%ecx
558ddd:	f7 d2                	not    %edx
558ddf:	8b 41 3c             	mov    0x3c(%ecx),%eax
558de2:	03 41 38             	add    0x38(%ecx),%eax
558de5:	79 0d                	jns    0x558df4
558de7:	52                   	push   %edx
558de8:	57                   	push   %edi
558de9:	51                   	push   %ecx
558dea:	e8 b1 a9 fb ff       	call   0x5137a0
558def:	83 c4 0c             	add    $0xc,%esp
558df2:	eb 09                	jmp    0x558dfd
558df4:	8b 49 40             	mov    0x40(%ecx),%ecx
558df7:	8b 47 6c             	mov    0x6c(%edi),%eax
558dfa:	89 04 91             	mov    %eax,(%ecx,%edx,4)
558dfd:	8b 55 dc             	mov    -0x24(%ebp),%edx
558e00:	8b 45 10             	mov    0x10(%ebp),%eax
558e03:	42                   	inc    %edx
558e04:	8b 5d f4             	mov    -0xc(%ebp),%ebx
558e07:	83 c3 10             	add    $0x10,%ebx
558e0a:	89 55 dc             	mov    %edx,-0x24(%ebp)
558e0d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
558e10:	3b 50 2c             	cmp    0x2c(%eax),%edx
558e13:	0f 8c a7 fc ff ff    	jl     0x558ac0
558e19:	8b 55 f8             	mov    -0x8(%ebp),%edx
558e1c:	85 d2                	test   %edx,%edx
558e1e:	75 0f                	jne    0x558e2f
558e20:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
558e24:	74 5b                	je     0x558e81
558e26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
558e29:	8b d1                	mov    %ecx,%edx
558e2b:	85 c9                	test   %ecx,%ecx
558e2d:	74 52                	je     0x558e81
558e2f:	8b 5f 6c             	mov    0x6c(%edi),%ebx
558e32:	89 5d e0             	mov    %ebx,-0x20(%ebp)
558e35:	39 5f 70             	cmp    %ebx,0x70(%edi)
558e38:	7f 15                	jg     0x558e4f
558e3a:	6a 00                	push   $0x0
558e3c:	6a 00                	push   $0x0
558e3e:	52                   	push   %edx
558e3f:	6a 12                	push   $0x12
558e41:	57                   	push   %edi
558e42:	e8 b9 d6 fa ff       	call   0x506500
558e47:	83 c4 14             	add    $0x14,%esp
558e4a:	89 45 e0             	mov    %eax,-0x20(%ebp)
558e4d:	eb 2f                	jmp    0x558e7e
558e4f:	8d 43 01             	lea    0x1(%ebx),%eax
558e52:	89 47 6c             	mov    %eax,0x6c(%edi)
558e55:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
558e58:	8b 47 68             	mov    0x68(%edi),%eax
558e5b:	c7 04 88 12 00 00 00 	movl   $0x12,(%eax,%ecx,4)
558e62:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
558e66:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
558e6d:	00
558e6e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
558e75:	00
558e76:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
558e7d:	00
558e7e:	8b 45 10             	mov    0x10(%ebp),%eax
558e81:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
558e85:	8b 58 1c             	mov    0x1c(%eax),%ebx
558e88:	7e 23                	jle    0x558ead
558e8a:	83 c3 14             	add    $0x14,%ebx
558e8d:	33 ff                	xor    %edi,%edi
558e8f:	90                   	nop
558e90:	ff 73 fc             	push   -0x4(%ebx)
558e93:	ff 33                	push   (%ebx)
558e95:	56                   	push   %esi
558e96:	e8 35 ad fc ff       	call   0x523bd0
558e9b:	8b 45 10             	mov    0x10(%ebp),%eax
558e9e:	8d 5b 18             	lea    0x18(%ebx),%ebx
558ea1:	47                   	inc    %edi
558ea2:	83 c4 0c             	add    $0xc,%esp
558ea5:	3b 78 24             	cmp    0x24(%eax),%edi
558ea8:	7c e6                	jl     0x558e90
558eaa:	8b 7d d8             	mov    -0x28(%ebp),%edi
558ead:	8b 4d e0             	mov    -0x20(%ebp),%ecx
558eb0:	c6 00 00             	movb   $0x0,(%eax)
558eb3:	85 c9                	test   %ecx,%ecx
558eb5:	74 2c                	je     0x558ee3
558eb7:	8b 57 6c             	mov    0x6c(%edi),%edx
558eba:	79 03                	jns    0x558ebf
558ebc:	8d 4a ff             	lea    -0x1(%edx),%ecx
558ebf:	8b 07                	mov    (%edi),%eax
558ec1:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
558ec5:	74 0f                	je     0x558ed6
558ec7:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
558ecc:	5f                   	pop    %edi
558ecd:	5e                   	pop    %esi
558ece:	5b                   	pop    %ebx
558ecf:	89 50 08             	mov    %edx,0x8(%eax)
558ed2:	8b e5                	mov    %ebp,%esp
558ed4:	5d                   	pop    %ebp
558ed5:	c3                   	ret
558ed6:	8b 47 68             	mov    0x68(%edi),%eax
558ed9:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
558edc:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
558ee0:	8d 04 88             	lea    (%eax,%ecx,4),%eax
558ee3:	5f                   	pop    %edi
558ee4:	5e                   	pop    %esi
558ee5:	5b                   	pop    %ebx
558ee6:	8b e5                	mov    %ebp,%esp
558ee8:	5d                   	pop    %ebp
558ee9:	c3                   	ret
558eea:	cc                   	int3
558eeb:	cc                   	int3
558eec:	cc                   	int3
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